aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb/usbnet.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/usb/usbnet.h')
-rw-r--r--include/linux/usb/usbnet.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h
index ddbbb7de894b..0e5ac93bab10 100644
--- a/include/linux/usb/usbnet.h
+++ b/include/linux/usb/usbnet.h
@@ -33,6 +33,7 @@ struct usbnet {
33 wait_queue_head_t *wait; 33 wait_queue_head_t *wait;
34 struct mutex phy_mutex; 34 struct mutex phy_mutex;
35 unsigned char suspend_count; 35 unsigned char suspend_count;
36 unsigned char pkt_cnt, pkt_err;
36 37
37 /* i/o info: pipes etc */ 38 /* i/o info: pipes etc */
38 unsigned in, out; 39 unsigned in, out;
@@ -69,6 +70,8 @@ struct usbnet {
69# define EVENT_DEV_ASLEEP 6 70# define EVENT_DEV_ASLEEP 6
70# define EVENT_DEV_OPEN 7 71# define EVENT_DEV_OPEN 7
71# define EVENT_DEVICE_REPORT_IDLE 8 72# define EVENT_DEVICE_REPORT_IDLE 8
73# define EVENT_NO_RUNTIME_PM 9
74# define EVENT_RX_KILL 10
72}; 75};
73 76
74static inline struct usb_driver *driver_of(struct usb_interface *intf) 77static inline struct usb_driver *driver_of(struct usb_interface *intf)
@@ -106,6 +109,7 @@ struct driver_info {
106 */ 109 */
107#define FLAG_MULTI_PACKET 0x2000 110#define FLAG_MULTI_PACKET 0x2000
108#define FLAG_RX_ASSEMBLE 0x4000 /* rx packets may span >1 frames */ 111#define FLAG_RX_ASSEMBLE 0x4000 /* rx packets may span >1 frames */
112#define FLAG_NOARP 0x8000 /* device can't do ARP */
109 113
110 /* init device ... can sleep, or cause probe() failure */ 114 /* init device ... can sleep, or cause probe() failure */
111 int (*bind)(struct usbnet *, struct usb_interface *); 115 int (*bind)(struct usbnet *, struct usb_interface *);
@@ -163,6 +167,16 @@ extern int usbnet_resume(struct usb_interface *);
163extern void usbnet_disconnect(struct usb_interface *); 167extern void usbnet_disconnect(struct usb_interface *);
164extern void usbnet_device_suggests_idle(struct usbnet *dev); 168extern void usbnet_device_suggests_idle(struct usbnet *dev);
165 169
170extern int usbnet_read_cmd(struct usbnet *dev, u8 cmd, u8 reqtype,
171 u16 value, u16 index, void *data, u16 size);
172extern int usbnet_write_cmd(struct usbnet *dev, u8 cmd, u8 reqtype,
173 u16 value, u16 index, const void *data, u16 size);
174extern int usbnet_read_cmd_nopm(struct usbnet *dev, u8 cmd, u8 reqtype,
175 u16 value, u16 index, void *data, u16 size);
176extern int usbnet_write_cmd_nopm(struct usbnet *dev, u8 cmd, u8 reqtype,
177 u16 value, u16 index, const void *data, u16 size);
178extern int usbnet_write_cmd_async(struct usbnet *dev, u8 cmd, u8 reqtype,
179 u16 value, u16 index, const void *data, u16 size);
166 180
167/* Drivers that reuse some of the standard USB CDC infrastructure 181/* Drivers that reuse some of the standard USB CDC infrastructure
168 * (notably, using multiple interfaces according to the CDC 182 * (notably, using multiple interfaces according to the CDC
@@ -230,4 +244,6 @@ extern void usbnet_set_msglevel(struct net_device *, u32);
230extern void usbnet_get_drvinfo(struct net_device *, struct ethtool_drvinfo *); 244extern void usbnet_get_drvinfo(struct net_device *, struct ethtool_drvinfo *);
231extern int usbnet_nway_reset(struct net_device *net); 245extern int usbnet_nway_reset(struct net_device *net);
232 246
247extern int usbnet_manage_power(struct usbnet *, int);
248
233#endif /* __LINUX_USB_USBNET_H */ 249#endif /* __LINUX_USB_USBNET_H */