usbnet: ipheth: Simplify device detection
All Apple products use the same protocol for tethering over USB. To simplify the code and make it future proof, use USB_VENDOR_AND_INTERFACE_INFO() instead of USB_DEVICE_AND_INTERFACE_INFO() to automatically detect and support all existing and future Apple products using the same interface. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e55449e71a
commit
f7abc0618a
|
@ -54,17 +54,6 @@
|
|||
#include <linux/workqueue.h>
|
||||
|
||||
#define USB_VENDOR_APPLE 0x05ac
|
||||
#define USB_PRODUCT_IPHONE 0x1290
|
||||
#define USB_PRODUCT_IPHONE_3G 0x1292
|
||||
#define USB_PRODUCT_IPHONE_3GS 0x1294
|
||||
#define USB_PRODUCT_IPHONE_4 0x1297
|
||||
#define USB_PRODUCT_IPAD 0x129a
|
||||
#define USB_PRODUCT_IPAD_2 0x12a2
|
||||
#define USB_PRODUCT_IPAD_3 0x12a6
|
||||
#define USB_PRODUCT_IPAD_MINI 0x12ab
|
||||
#define USB_PRODUCT_IPHONE_4_VZW 0x129c
|
||||
#define USB_PRODUCT_IPHONE_4S 0x12a0
|
||||
#define USB_PRODUCT_IPHONE_5 0x12a8
|
||||
|
||||
#define IPHETH_USBINTF_CLASS 255
|
||||
#define IPHETH_USBINTF_SUBCLASS 253
|
||||
|
@ -88,50 +77,9 @@
|
|||
#define IPHETH_CARRIER_ON 0x04
|
||||
|
||||
static const struct usb_device_id ipheth_table[] = {
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_3G,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_3GS,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPAD,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPAD_2,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPAD_3,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPAD_MINI,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4_VZW,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4S,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(
|
||||
USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_5,
|
||||
IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ USB_VENDOR_AND_INTERFACE_INFO(USB_VENDOR_APPLE, IPHETH_USBINTF_CLASS,
|
||||
IPHETH_USBINTF_SUBCLASS,
|
||||
IPHETH_USBINTF_PROTO) },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, ipheth_table);
|
||||
|
|
Loading…
Reference in New Issue