Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> --- drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c | 32 ++++++++++++++++++++++++ drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c index cf3aad7..344161b 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c @@ -1597,6 +1597,12 @@ rtl8723a_set_tx_power(struct rtl8xxxu_priv *priv, int channel, bool ht40) } } +static void rtl8188eu_set_tx_power(struct rtl8xxxu_priv *priv, + int channel, bool ht40) +{ + return; /* Not implemented */ +} + static void rtl8xxxu_set_linktype(struct rtl8xxxu_priv *priv, enum nl80211_iftype linktype) { @@ -1892,6 +1898,11 @@ static int rtl8192cu_parse_efuse(struct rtl8xxxu_priv *priv) return 0; } +static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv) +{ + return -EOPNOTSUPP; /* Not implemented */ +} + static int rtl8xxxu_read_efuse8(struct rtl8xxxu_priv *priv, u16 offset, u8 *data) { @@ -2235,6 +2246,11 @@ static int rtl8192cu_load_firmware(struct rtl8xxxu_priv *priv) return ret; } +static int rtl8188eu_load_firmware(struct rtl8xxxu_priv *priv) +{ + return -EOPNOTSUPP; /* Not implemented */ +} + static void rtl8xxxu_firmware_self_reset(struct rtl8xxxu_priv *priv) { u16 val16; @@ -3919,6 +3935,11 @@ static int rtl8192cu_power_on(struct rtl8xxxu_priv *priv) return 0; } +static int rtl8188eu_power_on(struct rtl8xxxu_priv *priv) +{ + return -EOPNOTSUPP; /* Not implemented */ +} + static void rtl8xxxu_power_off(struct rtl8xxxu_priv *priv) { u8 val8; @@ -5795,6 +5816,15 @@ static struct rtl8xxxu_fileops rtl8192cu_fops = { .writeN_block_size = 128, }; +static struct rtl8xxxu_fileops rtl8188eu_fops = { + .parse_efuse = rtl8188eu_parse_efuse, + .load_firmware = rtl8188eu_load_firmware, + .power_on = rtl8188eu_power_on, + .set_tx_power = rtl8188eu_set_tx_power, + .efuse_len = EFUSE_REAL_CONTENT_LEN_88E, + .writeN_block_size = 4, +}; + static struct usb_device_id dev_table[] = { {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x8724, 0xff, 0xff, 0xff), .driver_info = (unsigned long)&rtl8723au_fops}, @@ -5895,6 +5925,8 @@ static struct usb_device_id dev_table[] = { .driver_info = (unsigned long)&rtl8192cu_fops}, {USB_DEVICE_AND_INTERFACE_INFO(0x2019, 0x1201, 0xff, 0xff, 0xff), .driver_info = (unsigned long)&rtl8192cu_fops}, +{USB_DEVICE(USB_VENDOR_ID_REALTEK, 0x8179), /* RTL8188EUS */ + .driver_info = (unsigned long)&rtl8188eu_fops}, /* Currently untested 8192 series devices */ {USB_DEVICE_AND_INTERFACE_INFO(0x04bb, 0x0950, 0xff, 0xff, 0xff), .driver_info = (unsigned long)&rtl8192cu_fops}, diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h index e55d843..79f47e3 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h @@ -60,8 +60,12 @@ #define EFUSE_REAL_CONTENT_LEN_8723A 512 #define EFUSE_BT_MAP_LEN_8723A 1024 +#define EFUSE_MAP_LEN_88E 512 +#define EFUSE_MAX_SECTION_88E 64 +#define EFUSE_REAL_CONTENT_LEN_88E 256 + /* One size fits all, that is use the highest value */ -#define EFUSE_MAP_LEN EFUSE_MAP_LEN_8723A +#define EFUSE_MAP_LEN EFUSE_MAP_LEN_88E #define EFUSE_MAX_WORD_UNIT 4 struct rtl8xxxu_rx_desc { -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html