|
@@ -24,6 +24,7 @@
|
|
|
#include <net/ip6_checksum.h>
|
|
|
#include <uapi/linux/mdio.h>
|
|
|
#include <linux/mdio.h>
|
|
|
+#include <linux/usb/cdc.h>
|
|
|
|
|
|
/* Version Information */
|
|
|
#define DRIVER_VERSION "v1.07.0 (2014/10/09)"
|
|
@@ -466,9 +467,6 @@ 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 tally_counter {
|
|
|
__le64 tx_packets;
|
|
|
__le64 rx_packets;
|
|
@@ -3915,11 +3913,27 @@ static void rtl8152_disconnect(struct usb_interface *intf)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+#define REALTEK_USB_DEVICE(vend, prod) \
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE | \
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS, \
|
|
|
+ .idVendor = (vend), \
|
|
|
+ .idProduct = (prod), \
|
|
|
+ .bInterfaceClass = USB_CLASS_VENDOR_SPEC \
|
|
|
+}, \
|
|
|
+{ \
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_INT_INFO | \
|
|
|
+ USB_DEVICE_ID_MATCH_DEVICE, \
|
|
|
+ .idVendor = (vend), \
|
|
|
+ .idProduct = (prod), \
|
|
|
+ .bInterfaceClass = USB_CLASS_COMM, \
|
|
|
+ .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \
|
|
|
+ .bInterfaceProtocol = USB_CDC_PROTO_NONE
|
|
|
+
|
|
|
/* table of devices that work with this driver */
|
|
|
static struct usb_device_id rtl8152_table[] = {
|
|
|
- {USB_DEVICE(VENDOR_ID_REALTEK, 0x8152)},
|
|
|
- {USB_DEVICE(VENDOR_ID_REALTEK, 0x8153)},
|
|
|
- {USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
|
|
|
+ {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8152)},
|
|
|
+ {REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8153)},
|
|
|
+ {REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
|
|
|
{}
|
|
|
};
|
|
|
|