summaryrefslogtreecommitdiffstats
path: root/drivers/net/usb
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2019-04-24 13:58:24 -0400
committerDavid S. Miller <davem@davemloft.net>2019-04-26 11:34:01 -0400
commitf7abc0618a4a5f0e138e24bb31234a88bfdb18ae (patch)
treea48f08e9f4f70dff4555ce0f63a12f1b26daa37a /drivers/net/usb
parente55449e71aade362aa684bd3222974fed6e2d1c6 (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.c58
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
90static const struct usb_device_id ipheth_table[] = { 79static 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};
137MODULE_DEVICE_TABLE(usb, ipheth_table); 85MODULE_DEVICE_TABLE(usb, ipheth_table);