aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/atm/usbatm.h
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2006-01-17 05:16:13 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-31 20:23:39 -0500
commit35644b0cce0ab8735944dcbfceb19e9e65da9a3d (patch)
treecaa13c8519c7417fa0adf173cec98b994745c79f /drivers/usb/atm/usbatm.h
parent0ec3c7e856319b600311750d784262caa8ed94b9 (diff)
[PATCH] USBATM: add flags field
Have minidrivers and the core signal special requirements using a flags field in struct usbatm_data. For the moment this is only used to replace the need_heavy_init bind parameter, but there'll be new flags in later patches. Signed-off-by: Duncan Sands <baldrick@free.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/atm/usbatm.h')
-rw-r--r--drivers/usb/atm/usbatm.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h
index ebb79da4cb15..b29eb807f203 100644
--- a/drivers/usb/atm/usbatm.h
+++ b/drivers/usb/atm/usbatm.h
@@ -84,6 +84,11 @@
84#endif 84#endif
85 85
86 86
87/* flags, set by mini-driver in bind() */
88
89#define UDSL_SKIP_HEAVY_INIT (1<<0)
90
91
87/* mini driver */ 92/* mini driver */
88 93
89struct usbatm_data; 94struct usbatm_data;
@@ -99,12 +104,9 @@ struct usbatm_driver {
99 104
100 const char *driver_name; 105 const char *driver_name;
101 106
102 /* 107 /* init device ... can sleep, or cause probe() failure */
103 * init device ... can sleep, or cause probe() failure. Drivers with a heavy_init
104 * method can avoid having it called by setting need_heavy_init to zero.
105 */
106 int (*bind) (struct usbatm_data *, struct usb_interface *, 108 int (*bind) (struct usbatm_data *, struct usb_interface *,
107 const struct usb_device_id *id, int *need_heavy_init); 109 const struct usb_device_id *id);
108 110
109 /* additional device initialization that is too slow to be done in probe() */ 111 /* additional device initialization that is too slow to be done in probe() */
110 int (*heavy_init) (struct usbatm_data *, struct usb_interface *); 112 int (*heavy_init) (struct usbatm_data *, struct usb_interface *);
@@ -152,6 +154,7 @@ struct usbatm_data {
152 struct usbatm_driver *driver; 154 struct usbatm_driver *driver;
153 void *driver_data; 155 void *driver_data;
154 char driver_name[16]; 156 char driver_name[16];
157 unsigned int flags; /* set by mini-driver in bind() */
155 158
156 /* USB device */ 159 /* USB device */
157 struct usb_device *usb_dev; 160 struct usb_device *usb_dev;