diff options
author | Guenter Roeck <linux@roeck-us.net> | 2019-04-24 13:58:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-04-26 11:34:01 -0400 |
commit | f7abc0618a4a5f0e138e24bb31234a88bfdb18ae (patch) | |
tree | a48f08e9f4f70dff4555ce0f63a12f1b26daa37a /drivers/net/usb | |
parent | e55449e71aade362aa684bd3222974fed6e2d1c6 (diff) |
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>
Diffstat (limited to 'drivers/net/usb')
-rw-r--r-- | drivers/net/usb/ipheth.c | 58 |
1 files changed, 3 insertions, 55 deletions
diff --git a/drivers/net/usb/ipheth.c b/drivers/net/usb/ipheth.c index 3d8a70d3ea9b..a01a71a7e48d 100644 --- a/drivers/net/usb/ipheth.c +++ b/drivers/net/usb/ipheth.c | |||
@@ -54,17 +54,6 @@ | |||
54 | #include <linux/workqueue.h> | 54 | #include <linux/workqueue.h> |
55 | 55 | ||
56 | #define USB_VENDOR_APPLE 0x05ac | 56 | #define USB_VENDOR_APPLE 0x05ac |
57 | #define USB_PRODUCT_IPHONE 0x1290 | ||
58 | #define USB_PRODUCT_IPHONE_3G 0x1292 | ||
59 | #define USB_PRODUCT_IPHONE_3GS 0x1294 | ||
60 | #define USB_PRODUCT_IPHONE_4 0x1297 | ||
61 | #define USB_PRODUCT_IPAD 0x129a | ||
62 | #define USB_PRODUCT_IPAD_2 0x12a2 | ||
63 | #define USB_PRODUCT_IPAD_3 0x12a6 | ||
64 | #define USB_PRODUCT_IPAD_MINI 0x12ab | ||
65 | #define USB_PRODUCT_IPHONE_4_VZW 0x129c | ||
66 | #define USB_PRODUCT_IPHONE_4S 0x12a0 | ||
67 | #define USB_PRODUCT_IPHONE_5 0x12a8 | ||
68 | 57 | ||
69 | #define IPHETH_USBINTF_CLASS 255 | 58 | #define IPHETH_USBINTF_CLASS 255 |
70 | #define IPHETH_USBINTF_SUBCLASS 253 | 59 | #define IPHETH_USBINTF_SUBCLASS 253 |
@@ -88,50 +77,9 @@ | |||
88 | #define IPHETH_CARRIER_ON 0x04 | 77 | #define IPHETH_CARRIER_ON 0x04 |
89 | 78 | ||
90 | static const struct usb_device_id ipheth_table[] = { | 79 | static const struct usb_device_id ipheth_table[] = { |
91 | { USB_DEVICE_AND_INTERFACE_INFO( | 80 | { USB_VENDOR_AND_INTERFACE_INFO(USB_VENDOR_APPLE, IPHETH_USBINTF_CLASS, |
92 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE, | 81 | IPHETH_USBINTF_SUBCLASS, |
93 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | 82 | IPHETH_USBINTF_PROTO) }, |
94 | IPHETH_USBINTF_PROTO) }, | ||
95 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
96 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_3G, | ||
97 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
98 | IPHETH_USBINTF_PROTO) }, | ||
99 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
100 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_3GS, | ||
101 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
102 | IPHETH_USBINTF_PROTO) }, | ||
103 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
104 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4, | ||
105 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
106 | IPHETH_USBINTF_PROTO) }, | ||
107 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
108 | USB_VENDOR_APPLE, USB_PRODUCT_IPAD, | ||
109 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
110 | IPHETH_USBINTF_PROTO) }, | ||
111 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
112 | USB_VENDOR_APPLE, USB_PRODUCT_IPAD_2, | ||
113 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
114 | IPHETH_USBINTF_PROTO) }, | ||
115 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
116 | USB_VENDOR_APPLE, USB_PRODUCT_IPAD_3, | ||
117 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
118 | IPHETH_USBINTF_PROTO) }, | ||
119 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
120 | USB_VENDOR_APPLE, USB_PRODUCT_IPAD_MINI, | ||
121 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
122 | IPHETH_USBINTF_PROTO) }, | ||
123 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
124 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4_VZW, | ||
125 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
126 | IPHETH_USBINTF_PROTO) }, | ||
127 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
128 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4S, | ||
129 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
130 | IPHETH_USBINTF_PROTO) }, | ||
131 | { USB_DEVICE_AND_INTERFACE_INFO( | ||
132 | USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_5, | ||
133 | IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, | ||
134 | IPHETH_USBINTF_PROTO) }, | ||
135 | { } | 83 | { } |
136 | }; | 84 | }; |
137 | MODULE_DEVICE_TABLE(usb, ipheth_table); | 85 | MODULE_DEVICE_TABLE(usb, ipheth_table); |