diff options
author | Duncan Sands <baldrick@free.fr> | 2006-01-17 05:16:13 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-31 20:23:39 -0500 |
commit | 35644b0cce0ab8735944dcbfceb19e9e65da9a3d (patch) | |
tree | caa13c8519c7417fa0adf173cec98b994745c79f /drivers/usb/atm/usbatm.h | |
parent | 0ec3c7e856319b600311750d784262caa8ed94b9 (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.h | 13 |
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 | ||
89 | struct usbatm_data; | 94 | struct 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; |