.. | .. |
---|
54 | 54 | #include <linux/workqueue.h> |
---|
55 | 55 | |
---|
56 | 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 | 58 | #define IPHETH_USBINTF_CLASS 255 |
---|
70 | 59 | #define IPHETH_USBINTF_SUBCLASS 253 |
---|
.. | .. |
---|
88 | 77 | #define IPHETH_CARRIER_ON 0x04 |
---|
89 | 78 | |
---|
90 | 79 | static const struct usb_device_id ipheth_table[] = { |
---|
91 | | - { USB_DEVICE_AND_INTERFACE_INFO( |
---|
92 | | - USB_VENDOR_APPLE, USB_PRODUCT_IPHONE, |
---|
93 | | - IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, |
---|
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) }, |
---|
| 80 | + { USB_VENDOR_AND_INTERFACE_INFO(USB_VENDOR_APPLE, IPHETH_USBINTF_CLASS, |
---|
| 81 | + IPHETH_USBINTF_SUBCLASS, |
---|
| 82 | + IPHETH_USBINTF_PROTO) }, |
---|
135 | 83 | { } |
---|
136 | 84 | }; |
---|
137 | 85 | MODULE_DEVICE_TABLE(usb, ipheth_table); |
---|
.. | .. |
---|
293 | 241 | struct usb_device *udev; |
---|
294 | 242 | int retval; |
---|
295 | 243 | |
---|
296 | | - if (!dev) |
---|
297 | | - return 0; |
---|
298 | 244 | if (!dev->confirmed_pairing) |
---|
299 | 245 | return 0; |
---|
300 | 246 | |
---|
.. | .. |
---|
412 | 358 | return 0; |
---|
413 | 359 | } |
---|
414 | 360 | |
---|
415 | | -static int ipheth_tx(struct sk_buff *skb, struct net_device *net) |
---|
| 361 | +static netdev_tx_t ipheth_tx(struct sk_buff *skb, struct net_device *net) |
---|
416 | 362 | { |
---|
417 | 363 | struct ipheth_device *dev = netdev_priv(net); |
---|
418 | 364 | struct usb_device *udev = dev->udev; |
---|
.. | .. |
---|
454 | 400 | return NETDEV_TX_OK; |
---|
455 | 401 | } |
---|
456 | 402 | |
---|
457 | | -static void ipheth_tx_timeout(struct net_device *net) |
---|
| 403 | +static void ipheth_tx_timeout(struct net_device *net, unsigned int txqueue) |
---|
458 | 404 | { |
---|
459 | 405 | struct ipheth_device *dev = netdev_priv(net); |
---|
460 | 406 | |
---|