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.c | |
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.c')
-rw-r--r-- | drivers/usb/atm/usbatm.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index 779f86ecdd76..2eb8552dac12 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c | |||
@@ -969,7 +969,6 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
969 | char *buf; | 969 | char *buf; |
970 | int error = -ENOMEM; | 970 | int error = -ENOMEM; |
971 | int i, length; | 971 | int i, length; |
972 | int need_heavy; | ||
973 | 972 | ||
974 | dev_dbg(dev, "%s: trying driver %s with vendor=%04x, product=%04x, ifnum %2d\n", | 973 | dev_dbg(dev, "%s: trying driver %s with vendor=%04x, product=%04x, ifnum %2d\n", |
975 | __func__, driver->driver_name, | 974 | __func__, driver->driver_name, |
@@ -1014,8 +1013,7 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
1014 | snprintf(buf, length, ")"); | 1013 | snprintf(buf, length, ")"); |
1015 | 1014 | ||
1016 | bind: | 1015 | bind: |
1017 | need_heavy = 1; | 1016 | if (driver->bind && (error = driver->bind(instance, intf, id)) < 0) { |
1018 | if (driver->bind && (error = driver->bind(instance, intf, id, &need_heavy)) < 0) { | ||
1019 | dev_err(dev, "%s: bind failed: %d!\n", __func__, error); | 1017 | dev_err(dev, "%s: bind failed: %d!\n", __func__, error); |
1020 | goto fail_free; | 1018 | goto fail_free; |
1021 | } | 1019 | } |
@@ -1098,7 +1096,7 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
1098 | __func__, urb->transfer_buffer, urb->transfer_buffer_length, urb); | 1096 | __func__, urb->transfer_buffer, urb->transfer_buffer_length, urb); |
1099 | } | 1097 | } |
1100 | 1098 | ||
1101 | if (need_heavy && driver->heavy_init) { | 1099 | if (!(instance->flags & UDSL_SKIP_HEAVY_INIT) && driver->heavy_init) { |
1102 | error = usbatm_heavy_init(instance); | 1100 | error = usbatm_heavy_init(instance); |
1103 | } else { | 1101 | } else { |
1104 | complete(&instance->thread_exited); /* pretend that heavy_init was run */ | 1102 | complete(&instance->thread_exited); /* pretend that heavy_init was run */ |