* [PATCH net-next 0/3] r8152: behavior modification @ 2014-01-09 6:50 Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 1/3] r8152: change the descriptor Hayes Wang ` (3 more replies) 0 siblings, 4 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-09 6:50 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang The purpose is to add a choice for determining whether add the limitation between r8152 and ecm drivers or not. Hayes Wang (3): r8152: change the descriptor r8152: fix the warnings and a error from checkpatch.pl r8152: add supporting the vendor mode only drivers/net/usb/Kconfig | 14 ++++++++-- drivers/net/usb/cdc_ether.c | 2 +- drivers/net/usb/r8152.c | 62 ++++++++++++++++++++++----------------------- drivers/net/usb/r815x.c | 4 +-- 4 files changed, 45 insertions(+), 37 deletions(-) -- 1.8.4.2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net-next 1/3] r8152: change the descriptor 2014-01-09 6:50 [PATCH net-next 0/3] r8152: behavior modification Hayes Wang @ 2014-01-09 6:50 ` Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 2/3] r8152: fix the warnings and a error from checkpatch.pl Hayes Wang ` (2 subsequent siblings) 3 siblings, 0 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-09 6:50 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang The r8152 could support RTL8153. Update the relative descriptor. Signed-off-by: Hayes Wang <hayeswang@realtek.com> --- drivers/net/usb/Kconfig | 5 +++-- drivers/net/usb/r8152.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index 47b0f73..6b638a0 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig @@ -92,11 +92,12 @@ config USB_RTL8150 module will be called rtl8150. config USB_RTL8152 - tristate "Realtek RTL8152 Based USB 2.0 Ethernet Adapters" + tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" select MII help This option adds support for Realtek RTL8152 based USB 2.0 - 10/100 Ethernet adapters. + 10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000 + Ethernet adapters. To compile this driver as a module, choose M here: the module will be called r8152. diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index bf7d549..38f3c14 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -26,7 +26,7 @@ /* Version Information */ #define DRIVER_VERSION "v1.03.0 (2013/12/26)" #define DRIVER_AUTHOR "Realtek linux nic maintainers <nic_swsd@realtek.com>" -#define DRIVER_DESC "Realtek RTL8152 Based USB 2.0 Ethernet Adapters" +#define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" #define MODULENAME "r8152" #define R8152_PHY_ID 32 -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next 2/3] r8152: fix the warnings and a error from checkpatch.pl 2014-01-09 6:50 [PATCH net-next 0/3] r8152: behavior modification Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 1/3] r8152: change the descriptor Hayes Wang @ 2014-01-09 6:50 ` Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 3/3] r8152: add supporting the vendor mode only Hayes Wang 2014-01-15 2:42 ` [PATCH net-next v2 0/3] r8152: remove limitation Hayes Wang 3 siblings, 0 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-09 6:50 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang Fix the following warnings and error: - WARNING: usb_free_urb(NULL) is safe this check is probably not required - WARNING: kfree(NULL) is safe this check is probably not required - ERROR: do not use C99 // comments Signed-off-by: Hayes Wang <hayeswang@realtek.com> --- drivers/net/usb/r8152.c | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 38f3c14..eab078b 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -1100,40 +1100,28 @@ static void free_all_mem(struct r8152 *tp) int i; for (i = 0; i < RTL8152_MAX_RX; i++) { - if (tp->rx_info[i].urb) { - usb_free_urb(tp->rx_info[i].urb); - tp->rx_info[i].urb = NULL; - } + usb_free_urb(tp->rx_info[i].urb); + tp->rx_info[i].urb = NULL; - if (tp->rx_info[i].buffer) { - kfree(tp->rx_info[i].buffer); - tp->rx_info[i].buffer = NULL; - tp->rx_info[i].head = NULL; - } + kfree(tp->rx_info[i].buffer); + tp->rx_info[i].buffer = NULL; + tp->rx_info[i].head = NULL; } for (i = 0; i < RTL8152_MAX_TX; i++) { - if (tp->tx_info[i].urb) { - usb_free_urb(tp->tx_info[i].urb); - tp->tx_info[i].urb = NULL; - } + usb_free_urb(tp->tx_info[i].urb); + tp->tx_info[i].urb = NULL; - if (tp->tx_info[i].buffer) { - kfree(tp->tx_info[i].buffer); - tp->tx_info[i].buffer = NULL; - tp->tx_info[i].head = NULL; - } + kfree(tp->tx_info[i].buffer); + tp->tx_info[i].buffer = NULL; + tp->tx_info[i].head = NULL; } - if (tp->intr_urb) { - usb_free_urb(tp->intr_urb); - tp->intr_urb = NULL; - } + usb_free_urb(tp->intr_urb); + tp->intr_urb = NULL; - if (tp->intr_buff) { - kfree(tp->intr_buff); - tp->intr_buff = NULL; - } + kfree(tp->intr_buff); + tp->intr_buff = NULL; } static int alloc_all_mem(struct r8152 *tp) @@ -2048,7 +2036,7 @@ static void r8153_first_init(struct r8152 *tp) /* TX share fifo free credit full threshold */ ocp_write_dword(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, TXFIFO_THR_NORMAL2); - // rx aggregation + /* rx aggregation */ ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~RX_AGG_DISABLE; ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next 3/3] r8152: add supporting the vendor mode only 2014-01-09 6:50 [PATCH net-next 0/3] r8152: behavior modification Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 1/3] r8152: change the descriptor Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 2/3] r8152: fix the warnings and a error from checkpatch.pl Hayes Wang @ 2014-01-09 6:50 ` Hayes Wang 2014-01-13 19:19 ` David Miller 2014-01-15 2:42 ` [PATCH net-next v2 0/3] r8152: remove limitation Hayes Wang 3 siblings, 1 reply; 10+ messages in thread From: Hayes Wang @ 2014-01-09 6:50 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang Remove the limitation that the ecm and r8152 drivers couldn't coexist. Besides, add the feature to support the vendor mode only. This let someone who doesn't want to use ecm driver easy to use the vendor driver without creating the udev rule. Signed-off-by: Hayes Wang <hayeswang@realtek.com> --- drivers/net/usb/Kconfig | 9 +++++++++ drivers/net/usb/cdc_ether.c | 2 +- drivers/net/usb/r8152.c | 18 ++++++++++++++---- drivers/net/usb/r815x.c | 4 ++-- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index 6b638a0..d36640e 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig @@ -102,6 +102,15 @@ config USB_RTL8152 To compile this driver as a module, choose M here: the module will be called r8152. +config USB_RTL8152_VENDOR_MODE_ONLY + boolean "Force using the vendor mode" + depends on USB_RTL8152 + default n + help + This would add the devices in the blacklist of the ECM driver. + That is, the ECM mode would be disabled, and only the vendor + mode could be used. + config USB_USBNET tristate "Multi-purpose USB Networking Framework" select MII diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 640406a..5c04f8b 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c @@ -653,7 +653,7 @@ static const struct usb_device_id products[] = { .driver_info = 0, }, -#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE) +#if defined(CONFIG_USB_RTL8152_VENDOR_MODE_ONLY) /* Samsung USB Ethernet Adapters */ { USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, 0xa101, USB_CLASS_COMM, diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index eab078b..e59e99a 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -450,6 +450,13 @@ enum rtl8152_flags { #define MCU_TYPE_PLA 0x0100 #define MCU_TYPE_USB 0x0000 +#if defined(CONFIG_USB_RTL8152_VENDOR_MODE_ONLY) + #define REALTEK_USB_DEVICE(vend, prod) USB_DEVICE(vend, prod) +#else + #define REALTEK_USB_DEVICE(vend, prod) \ + USB_DEVICE_INTERFACE_CLASS(vend, prod, USB_CLASS_VENDOR_SPEC) +#endif + struct rx_desc { __le32 opts1; #define RX_LEN_MASK 0x7fff @@ -2733,13 +2740,16 @@ static int rtl_ops_init(struct r8152 *tp, const struct usb_device_id *id) static int rtl8152_probe(struct usb_interface *intf, const struct usb_device_id *id) { + struct usb_host_interface *alt = intf->cur_altsetting; struct usb_device *udev = interface_to_usbdev(intf); struct r8152 *tp; struct net_device *netdev; int ret; - if (udev->actconfig->desc.bConfigurationValue != 1) { + if (alt->desc.bInterfaceClass != USB_CLASS_VENDOR_SPEC) { +#if defined(CONFIG_USB_RTL8152_VENDOR_MODE_ONLY) usb_driver_set_configuration(udev, 1); +#endif return -ENODEV; } @@ -2823,9 +2833,9 @@ static void rtl8152_disconnect(struct usb_interface *intf) /* table of devices that work with this driver */ static struct usb_device_id rtl8152_table[] = { - {USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)}, - {USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)}, - {USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)}, + {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)}, + {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)}, + {REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)}, {} }; diff --git a/drivers/net/usb/r815x.c b/drivers/net/usb/r815x.c index 5fd2ca6..9934447 100644 --- a/drivers/net/usb/r815x.c +++ b/drivers/net/usb/r815x.c @@ -216,7 +216,7 @@ static const struct usb_device_id products[] = { { USB_DEVICE_AND_INTERFACE_INFO(REALTEK_VENDOR_ID, 0x8152, USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), -#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE) +#if defined(CONFIG_USB_RTL8152_VENDOR_MODE_ONLY) .driver_info = 0, #else .driver_info = (unsigned long) &r8152_info, @@ -226,7 +226,7 @@ static const struct usb_device_id products[] = { { USB_DEVICE_AND_INTERFACE_INFO(REALTEK_VENDOR_ID, 0x8153, USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), -#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE) +#if defined(CONFIG_USB_RTL8152_VENDOR_MODE_ONLY) .driver_info = 0, #else .driver_info = (unsigned long) &r8153_info, -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH net-next 3/3] r8152: add supporting the vendor mode only 2014-01-09 6:50 ` [PATCH net-next 3/3] r8152: add supporting the vendor mode only Hayes Wang @ 2014-01-13 19:19 ` David Miller 0 siblings, 0 replies; 10+ messages in thread From: David Miller @ 2014-01-13 19:19 UTC (permalink / raw) To: hayeswang; +Cc: oliver, netdev, nic_swsd, linux-kernel, linux-usb From: Hayes Wang <hayeswang@realtek.com> Date: Thu, 9 Jan 2014 14:50:32 +0800 > Remove the limitation that the ecm and r8152 drivers couldn't coexist. > Besides, add the feature to support the vendor mode only. This let > someone who doesn't want to use ecm driver easy to use the vendor > driver without creating the udev rule. > > Signed-off-by: Hayes Wang <hayeswang@realtek.com> This is a very bad precedence and I do not want drivers to start doing things like this. I think it would be wiser to use the existing facilities which exist to control this situation, and yes udev is one of them. I'm sorry, I'm not applying this series as long as it has this patch in it. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net-next v2 0/3] r8152: remove limitation 2014-01-09 6:50 [PATCH net-next 0/3] r8152: behavior modification Hayes Wang ` (2 preceding siblings ...) 2014-01-09 6:50 ` [PATCH net-next 3/3] r8152: add supporting the vendor mode only Hayes Wang @ 2014-01-15 2:42 ` Hayes Wang 2014-01-15 2:42 ` [PATCH net-next v2 1/3] r8152: change the descriptor Hayes Wang ` (3 more replies) 3 siblings, 4 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-15 2:42 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang Remove the limitation between ecm mode and vendor mode. v2: replace the patch #3 with "ecm and vendor modes coexist". Hayes Wang (3): r8152: change the descriptor r8152: fix the warnings and a error from checkpatch.pl r8152: ecm and vendor modes coexist drivers/net/usb/Kconfig | 5 ++-- drivers/net/usb/cdc_ether.c | 9 ------- drivers/net/usb/r8152.c | 62 ++++++++++++++++++--------------------------- drivers/net/usb/r815x.c | 8 ------ 4 files changed, 27 insertions(+), 57 deletions(-) -- 1.8.4.2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net-next v2 1/3] r8152: change the descriptor 2014-01-15 2:42 ` [PATCH net-next v2 0/3] r8152: remove limitation Hayes Wang @ 2014-01-15 2:42 ` Hayes Wang 2014-01-15 2:42 ` [PATCH net-next v2 2/3] r8152: fix the warnings and a error from checkpatch.pl Hayes Wang ` (2 subsequent siblings) 3 siblings, 0 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-15 2:42 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang The r8152 could support RTL8153. Update the relative descriptor. Signed-off-by: Hayes Wang <hayeswang@realtek.com> --- drivers/net/usb/Kconfig | 5 +++-- drivers/net/usb/r8152.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index 47b0f73..6b638a0 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig @@ -92,11 +92,12 @@ config USB_RTL8150 module will be called rtl8150. config USB_RTL8152 - tristate "Realtek RTL8152 Based USB 2.0 Ethernet Adapters" + tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" select MII help This option adds support for Realtek RTL8152 based USB 2.0 - 10/100 Ethernet adapters. + 10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000 + Ethernet adapters. To compile this driver as a module, choose M here: the module will be called r8152. diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index bf7d549..38f3c14 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -26,7 +26,7 @@ /* Version Information */ #define DRIVER_VERSION "v1.03.0 (2013/12/26)" #define DRIVER_AUTHOR "Realtek linux nic maintainers <nic_swsd@realtek.com>" -#define DRIVER_DESC "Realtek RTL8152 Based USB 2.0 Ethernet Adapters" +#define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" #define MODULENAME "r8152" #define R8152_PHY_ID 32 -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 2/3] r8152: fix the warnings and a error from checkpatch.pl 2014-01-15 2:42 ` [PATCH net-next v2 0/3] r8152: remove limitation Hayes Wang 2014-01-15 2:42 ` [PATCH net-next v2 1/3] r8152: change the descriptor Hayes Wang @ 2014-01-15 2:42 ` Hayes Wang [not found] ` <1389753736-2218-1-git-send-email-hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org> 2014-01-15 2:49 ` [PATCH net-next v2 0/3] r8152: remove limitation David Miller 3 siblings, 0 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-15 2:42 UTC (permalink / raw) To: oliver, netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang Fix the following warnings and error: - WARNING: usb_free_urb(NULL) is safe this check is probably not required - WARNING: kfree(NULL) is safe this check is probably not required - ERROR: do not use C99 // comments Signed-off-by: Hayes Wang <hayeswang@realtek.com> --- drivers/net/usb/r8152.c | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 38f3c14..eab078b 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -1100,40 +1100,28 @@ static void free_all_mem(struct r8152 *tp) int i; for (i = 0; i < RTL8152_MAX_RX; i++) { - if (tp->rx_info[i].urb) { - usb_free_urb(tp->rx_info[i].urb); - tp->rx_info[i].urb = NULL; - } + usb_free_urb(tp->rx_info[i].urb); + tp->rx_info[i].urb = NULL; - if (tp->rx_info[i].buffer) { - kfree(tp->rx_info[i].buffer); - tp->rx_info[i].buffer = NULL; - tp->rx_info[i].head = NULL; - } + kfree(tp->rx_info[i].buffer); + tp->rx_info[i].buffer = NULL; + tp->rx_info[i].head = NULL; } for (i = 0; i < RTL8152_MAX_TX; i++) { - if (tp->tx_info[i].urb) { - usb_free_urb(tp->tx_info[i].urb); - tp->tx_info[i].urb = NULL; - } + usb_free_urb(tp->tx_info[i].urb); + tp->tx_info[i].urb = NULL; - if (tp->tx_info[i].buffer) { - kfree(tp->tx_info[i].buffer); - tp->tx_info[i].buffer = NULL; - tp->tx_info[i].head = NULL; - } + kfree(tp->tx_info[i].buffer); + tp->tx_info[i].buffer = NULL; + tp->tx_info[i].head = NULL; } - if (tp->intr_urb) { - usb_free_urb(tp->intr_urb); - tp->intr_urb = NULL; - } + usb_free_urb(tp->intr_urb); + tp->intr_urb = NULL; - if (tp->intr_buff) { - kfree(tp->intr_buff); - tp->intr_buff = NULL; - } + kfree(tp->intr_buff); + tp->intr_buff = NULL; } static int alloc_all_mem(struct r8152 *tp) @@ -2048,7 +2036,7 @@ static void r8153_first_init(struct r8152 *tp) /* TX share fifo free credit full threshold */ ocp_write_dword(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, TXFIFO_THR_NORMAL2); - // rx aggregation + /* rx aggregation */ ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~RX_AGG_DISABLE; ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
[parent not found: <1389753736-2218-1-git-send-email-hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org>]
* [PATCH net-next v2 3/3] r8152: ecm and vendor modes coexist [not found] ` <1389753736-2218-1-git-send-email-hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org> @ 2014-01-15 2:42 ` Hayes Wang 0 siblings, 0 replies; 10+ messages in thread From: Hayes Wang @ 2014-01-15 2:42 UTC (permalink / raw) To: oliver-GvhC2dPhHPQdnm+yROfE0A, netdev-u79uwXL29TY76Z2rM5mHXA Cc: nic_swsd-Rasf1IRRPZFBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Hayes Wang Remove the limitation that the ecm and r8152 drivers couldn't coexist. - Remove the devices from the blacklist of relative drivers. - Remove usb_driver_set_configuration() from r8152 driver. - Modify the id_table of the r8152 driver for the vendor mode only. Signed-off-by: Hayes Wang <hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org> --- drivers/net/usb/cdc_ether.c | 9 --------- drivers/net/usb/r8152.c | 18 ++++++++---------- drivers/net/usb/r815x.c | 8 -------- 3 files changed, 8 insertions(+), 27 deletions(-) diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 640406a..7d32be8 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c @@ -653,15 +653,6 @@ static const struct usb_device_id products[] = { .driver_info = 0, }, -#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE) -/* Samsung USB Ethernet Adapters */ -{ - USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, 0xa101, USB_CLASS_COMM, - USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), - .driver_info = 0, -}, -#endif - /* WHITELIST!!! * * CDC Ether uses two interfaces, not necessarily consecutive. diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index eab078b..31d13ca 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 Realtek Semiconductor Corp. All rights reserved. + * Copyright (c) 2014 Realtek Semiconductor Corp. All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -24,7 +24,7 @@ #include <linux/ipv6.h> /* Version Information */ -#define DRIVER_VERSION "v1.03.0 (2013/12/26)" +#define DRIVER_VERSION "v1.04.0 (2014/01/15)" #define DRIVER_AUTHOR "Realtek linux nic maintainers <nic_swsd-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org>" #define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" #define MODULENAME "r8152" @@ -450,6 +450,9 @@ enum rtl8152_flags { #define MCU_TYPE_PLA 0x0100 #define MCU_TYPE_USB 0x0000 +#define REALTEK_USB_DEVICE(vend, prod) \ + USB_DEVICE_INTERFACE_CLASS(vend, prod, USB_CLASS_VENDOR_SPEC) + struct rx_desc { __le32 opts1; #define RX_LEN_MASK 0x7fff @@ -2738,11 +2741,6 @@ static int rtl8152_probe(struct usb_interface *intf, struct net_device *netdev; int ret; - if (udev->actconfig->desc.bConfigurationValue != 1) { - usb_driver_set_configuration(udev, 1); - return -ENODEV; - } - netdev = alloc_etherdev(sizeof(struct r8152)); if (!netdev) { dev_err(&intf->dev, "Out of memory\n"); @@ -2823,9 +2821,9 @@ static void rtl8152_disconnect(struct usb_interface *intf) /* table of devices that work with this driver */ static struct usb_device_id rtl8152_table[] = { - {USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)}, - {USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)}, - {USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)}, + {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)}, + {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)}, + {REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)}, {} }; diff --git a/drivers/net/usb/r815x.c b/drivers/net/usb/r815x.c index 5fd2ca6..f0a8791 100644 --- a/drivers/net/usb/r815x.c +++ b/drivers/net/usb/r815x.c @@ -216,21 +216,13 @@ static const struct usb_device_id products[] = { { USB_DEVICE_AND_INTERFACE_INFO(REALTEK_VENDOR_ID, 0x8152, USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), -#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE) - .driver_info = 0, -#else .driver_info = (unsigned long) &r8152_info, -#endif }, { USB_DEVICE_AND_INTERFACE_INFO(REALTEK_VENDOR_ID, 0x8153, USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), -#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE) - .driver_info = 0, -#else .driver_info = (unsigned long) &r8153_info, -#endif }, { }, /* END */ -- 1.8.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH net-next v2 0/3] r8152: remove limitation 2014-01-15 2:42 ` [PATCH net-next v2 0/3] r8152: remove limitation Hayes Wang ` (2 preceding siblings ...) [not found] ` <1389753736-2218-1-git-send-email-hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org> @ 2014-01-15 2:49 ` David Miller 3 siblings, 0 replies; 10+ messages in thread From: David Miller @ 2014-01-15 2:49 UTC (permalink / raw) To: hayeswang; +Cc: oliver, netdev, nic_swsd, linux-kernel, linux-usb From: Hayes Wang <hayeswang@realtek.com> Date: Wed, 15 Jan 2014 10:42:13 +0800 > Remove the limitation between ecm mode and vendor mode. > > v2: replace the patch #3 with "ecm and vendor modes coexist". This looks better, series, applied, thanks. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-01-15 2:49 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-09 6:50 [PATCH net-next 0/3] r8152: behavior modification Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 1/3] r8152: change the descriptor Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 2/3] r8152: fix the warnings and a error from checkpatch.pl Hayes Wang 2014-01-09 6:50 ` [PATCH net-next 3/3] r8152: add supporting the vendor mode only Hayes Wang 2014-01-13 19:19 ` David Miller 2014-01-15 2:42 ` [PATCH net-next v2 0/3] r8152: remove limitation Hayes Wang 2014-01-15 2:42 ` [PATCH net-next v2 1/3] r8152: change the descriptor Hayes Wang 2014-01-15 2:42 ` [PATCH net-next v2 2/3] r8152: fix the warnings and a error from checkpatch.pl Hayes Wang [not found] ` <1389753736-2218-1-git-send-email-hayeswang-Rasf1IRRPZFBDgjK7y7TUQ@public.gmane.org> 2014-01-15 2:42 ` [PATCH net-next v2 3/3] r8152: ecm and vendor modes coexist Hayes Wang 2014-01-15 2:49 ` [PATCH net-next v2 0/3] r8152: remove limitation David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).