static u32 usb_read32(struct intf_hdl *pintfhdl, u32 addr) { u8 request; u8 requesttype; u16 wvalue; u16 index; u16 len; u32 data=0; _func_enter_; request = 0x05; requesttype = 0x01;//read_in index = 0;//n/a wvalue = (u16)(addr&0x0000ffff); len = 4; usbctrl_vendorreq(pintfhdl, request, wvalue, index, &data, len, requesttype); _func_exit_; return data; }
static int usb_writeN(struct intf_hdl *pintfhdl, u32 addr, u32 length, u8 *pdata) { u8 request; u8 requesttype; u16 wvalue; u16 index; u16 len; u8 buf[VENDOR_CMD_MAX_DATA_LEN]={0}; int ret; _func_enter_; request = 0x05; requesttype = 0x00;//write_out index = 0;//n/a wvalue = (u16)(addr&0x0000ffff); len = length; _rtw_memcpy(buf, pdata, len ); ret = usbctrl_vendorreq(pintfhdl, request, wvalue, index, buf, len, requesttype); _func_exit_; return ret; }
u16 usb_read16(struct intf_hdl *pintfhdl, u32 addr) { u8 request; u8 requesttype; u16 wvalue; u16 index; u16 len; u32 data; struct intf_priv *pintfpriv = pintfhdl->pintfpriv; _func_enter_; request = 0x05; requesttype = 0x01;//read_in index = 0;//n/a wvalue = (u16)(addr&0x0000ffff); len = 2; usbctrl_vendorreq(pintfpriv, request, wvalue, index, &data, len, requesttype); _func_exit_; return (u16)(le32_to_cpu(data)&0xffff); }
static int usb_write32(struct intf_hdl *pintfhdl, u32 addr, u32 val) { u8 request; u8 requesttype; u16 wvalue; u16 index; u16 len; u32 data; int ret; _func_enter_; request = 0x05; requesttype = 0x00;//write_out index = 0;//n/a wvalue = (u16)(addr&0x0000ffff); len = 4; data =val; ret =usbctrl_vendorreq(pintfhdl, request, wvalue, index, &data, len, requesttype); _func_exit_; return ret; }
void usb_write32(struct intf_hdl *pintfhdl, u32 addr, u32 val) { u8 request; u8 requesttype; u16 wvalue; u16 index; u16 len; u32 data; struct intf_priv *pintfpriv = pintfhdl->pintfpriv; _func_enter_; request = 0x05; requesttype = 0x00;//write_out index = 0;//n/a wvalue = (u16)(addr&0x0000ffff); len = 4; data = cpu_to_le32(val); usbctrl_vendorreq(pintfpriv, request, wvalue, index, &data, len, requesttype); _func_exit_; }