[PATCH v4 16/18] staging: r8188eu: hal: Clean up rtw_read*() and rtw_write*()

From: Fabio M. De Francesco
Date: Mon Sep 13 2021 - 14:13:15 EST


Clean up rtw_read{8,16,32}() and rtw_write{8,16,32,N}() in usb_ops_linux.c
because some of their code will be reused in the following two patches of
this series. This cleanup is in preparation for shortening the call chains
of rtw_read{8,16,32}() and rtw_write{8,16,32,N}().
More insights can be found at
https://lore.kernel.org/lkml/5319192.FrU0QrjFp7@localhost.localdomain/

Co-developed-by: Pavel Skripkin <paskripkin@xxxxxxxxx>
Signed-off-by: Pavel Skripkin <paskripkin@xxxxxxxxx>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx>
---

v3->v4:
Make this patch.
v2->v3:
No changes.
v1->v2:
No changes.

drivers/staging/r8188eu/hal/usb_ops_linux.c | 71 +++++++++++----------
1 file changed, 36 insertions(+), 35 deletions(-)

diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c
index 2c7e92085a6e..04402bab805e 100644
--- a/drivers/staging/r8188eu/hal/usb_ops_linux.c
+++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c
@@ -91,91 +91,92 @@ static int usbctrl_vendorreq(struct intf_hdl *intfhdl, u16 value, void *data, u1

u8 rtw_read8(struct adapter *adapter, u32 addr)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
u8 data;
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;
+ u16 address = (u16)(addr & 0xffff);

- usbctrl_vendorreq(pintfhdl, wvalue, &data, 1, REALTEK_USB_VENQT_READ);
+ usbctrl_vendorreq(intfhdl, address, &data, 1, REALTEK_USB_VENQT_READ);

return data;
}

u16 rtw_read16(struct adapter *adapter, u32 addr)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
- __le32 data;
+ __le16 data;
+ u16 address = (u16)(addr & 0xffff);
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;

- usbctrl_vendorreq(pintfhdl, wvalue, &data, 2, REALTEK_USB_VENQT_READ);
+ usbctrl_vendorreq(intfhdl, address, &data, 2, REALTEK_USB_VENQT_READ);

- return (u16)(le32_to_cpu(data) & 0xffff);
+ return le16_to_cpu(data);
}

u32 rtw_read32(struct adapter *adapter, u32 addr)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
__le32 data;
+ u16 address = (u16)(addr & 0xffff);
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;

- usbctrl_vendorreq(pintfhdl, wvalue, &data, 4, REALTEK_USB_VENQT_READ);
+ usbctrl_vendorreq(intfhdl, address, &data, 4, REALTEK_USB_VENQT_READ);

return le32_to_cpu(data);
}

int rtw_write8(struct adapter *adapter, u32 addr, u8 val)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
int ret;
+ u16 address = (u16)(addr & 0xffff);
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;

- ret = usbctrl_vendorreq(pintfhdl, wvalue, &val, 1, REALTEK_USB_VENQT_WRITE);
+ ret = usbctrl_vendorreq(intfhdl, address, &val, 1, REALTEK_USB_VENQT_WRITE);

return RTW_STATUS_CODE(ret);
}

int rtw_write16(struct adapter *adapter, u32 addr, u16 val)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
- __le32 data = cpu_to_le32(val & 0x0000ffff);
int ret;
+ u16 address = (u16)(addr & 0xffff);
+ __le16 data = cpu_to_le16(val);
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;

- ret = usbctrl_vendorreq(pintfhdl, wvalue, &data, 2, REALTEK_USB_VENQT_WRITE);
+ ret = usbctrl_vendorreq(intfhdl, address, &data, 2, REALTEK_USB_VENQT_WRITE);

return RTW_STATUS_CODE(ret);
}

int rtw_write32(struct adapter *adapter, u32 addr, u32 val)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
- __le32 data = cpu_to_le32(val);
int ret;
+ u16 address = (u16)(addr & 0xffff);
+ __le32 data = cpu_to_le32(val);
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;

- ret = usbctrl_vendorreq(pintfhdl, wvalue, &data, 4, REALTEK_USB_VENQT_WRITE);
+ ret = usbctrl_vendorreq(intfhdl, address, &data, 4, REALTEK_USB_VENQT_WRITE);

return RTW_STATUS_CODE(ret);
}

-int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *pdata)
+int rtw_writeN(struct adapter *adapter, u32 addr, u32 len, u8 *data)
{
- struct io_priv *pio_priv = &adapter->iopriv;
- struct intf_hdl *pintfhdl = &pio_priv->intf;
- u16 wvalue = (u16)(addr & 0x0000ffff);
- u8 buf[VENDOR_CMD_MAX_DATA_LEN] = {0};
int ret;
+ u16 address = (u16)(addr & 0xffff);
+ u16 length = (u16)(len & 0xffff);
+ u8 buf[VENDOR_CMD_MAX_DATA_LEN] = {0};
+ struct io_priv *io_priv = &adapter->iopriv;
+ struct intf_hdl *intfhdl = &io_priv->intf;

if (length > VENDOR_CMD_MAX_DATA_LEN)
return _FAIL;

- memcpy(buf, pdata, length);
- ret = usbctrl_vendorreq(pintfhdl, wvalue, buf, (length & 0xffff), REALTEK_USB_VENQT_WRITE);
+ memcpy(buf, data, length);
+ ret = usbctrl_vendorreq(intfhdl, address, buf, length, REALTEK_USB_VENQT_WRITE);

return RTW_STATUS_CODE(ret);
}
--
2.33.0