Commit 5f743f57 authored by Dmitry Antipov's avatar Dmitry Antipov Committed by Kalle Valo
Browse files

wifi: rtlwifi: cleanup USB interface



Drop unused '_usb_writen_sync()' and relevant pointer
from 'struct rtl_io', handle possible write error in
'_usb_write_async()', adjust related code.

Signed-off-by: default avatarDmitry Antipov <dmantipov@yandex.ru>
Acked-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230614061832.40882-2-dmantipov@yandex.ru
parent 084f1f55
Loading
Loading
Loading
Loading
+6 −25
Original line number Diff line number Diff line
@@ -164,13 +164,17 @@ static void _usb_write_async(struct usb_device *udev, u32 addr, u32 val,
	u16 wvalue;
	u16 index;
	__le32 data;
	int ret;

	request = REALTEK_USB_VENQT_CMD_REQ;
	index = REALTEK_USB_VENQT_CMD_IDX; /* n/a */
	wvalue = (u16)(addr&0x0000ffff);
	data = cpu_to_le32(val);
	_usbctrl_vendorreq_async_write(udev, request, wvalue, index, &data,
				       len);

	ret = _usbctrl_vendorreq_async_write(udev, request, wvalue,
					     index, &data, len);
	if (ret < 0)
		dev_err(&udev->dev, "error %d writing at 0x%x\n", ret, addr);
}

static void _usb_write8_async(struct rtl_priv *rtlpriv, u32 addr, u8 val)
@@ -194,28 +198,6 @@ static void _usb_write32_async(struct rtl_priv *rtlpriv, u32 addr, u32 val)
	_usb_write_async(to_usb_device(dev), addr, val, 4);
}

static void _usb_writen_sync(struct rtl_priv *rtlpriv, u32 addr, void *data,
			     u16 len)
{
	struct device *dev = rtlpriv->io.dev;
	struct usb_device *udev = to_usb_device(dev);
	u8 request = REALTEK_USB_VENQT_CMD_REQ;
	u8 reqtype =  REALTEK_USB_VENQT_WRITE;
	u16 wvalue;
	u16 index = REALTEK_USB_VENQT_CMD_IDX;
	int pipe = usb_sndctrlpipe(udev, 0); /* write_out */
	u8 *buffer;

	wvalue = (u16)(addr & 0x0000ffff);
	buffer = kmemdup(data, len, GFP_ATOMIC);
	if (!buffer)
		return;
	usb_control_msg(udev, pipe, request, reqtype, wvalue,
			index, buffer, len, 50);

	kfree(buffer);
}

static void _rtl_usb_io_handler_init(struct device *dev,
				     struct ieee80211_hw *hw)
{
@@ -229,7 +211,6 @@ static void _rtl_usb_io_handler_init(struct device *dev,
	rtlpriv->io.read8_sync		= _usb_read8_sync;
	rtlpriv->io.read16_sync		= _usb_read16_sync;
	rtlpriv->io.read32_sync		= _usb_read32_sync;
	rtlpriv->io.writen_sync		= _usb_writen_sync;
}

static void _rtl_usb_io_handler_release(struct ieee80211_hw *hw)
+0 −2
Original line number Diff line number Diff line
@@ -1457,8 +1457,6 @@ struct rtl_io {
	void (*write8_async)(struct rtl_priv *rtlpriv, u32 addr, u8 val);
	void (*write16_async)(struct rtl_priv *rtlpriv, u32 addr, u16 val);
	void (*write32_async)(struct rtl_priv *rtlpriv, u32 addr, u32 val);
	void (*writen_sync)(struct rtl_priv *rtlpriv, u32 addr, void *buf,
			    u16 len);

	u8 (*read8_sync)(struct rtl_priv *rtlpriv, u32 addr);
	u16 (*read16_sync)(struct rtl_priv *rtlpriv, u32 addr);