linux/drivers/usb/storage
Alan Stern f07600cf9e USB: add reset_resume method
This patch (as918) introduces a new USB driver method: reset_resume.
It is called when a device needs to be reset as part of a resume
procedure (whether because of a device quirk or because of the
USB-Persist facility), thereby taking over a role formerly assigned to
the post_reset method.  As a consequence, post_reset no longer needs
an argument indicating whether it is being called as part of a
reset-resume.  This separation of functions makes the code clearer.

In addition, the pre_reset and post_reset method return types are
changed; they now must return an error code.  The return value is
unused at present, but at some later time we may unbind drivers and
re-probe if they encounter an error during reset handling.

The existing pre_reset and post_reset methods in the usbhid,
usb-storage, and hub drivers are updated to match the new
requirements.  For usbhid the post_reset routine is also used for
reset_resume (duplicate method pointers); for the other drivers a new
reset_resume routine is added.  The change to hub.c looks bigger than
it really is, because mark_children_for_reset_resume() gets moved down
next to the new hub_reset_resume() routine.

A minor change to usb-storage makes the usb_stor_report_bus_reset()
routine acquire the host lock instead of requiring the caller to hold
it already.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
CC: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12 16:34:30 -07:00
..
Kconfig Fix several typos in drivers/ 2006-10-03 22:31:37 +02:00
Makefile USB Storage: add rio karma eject support 2006-09-27 11:58:54 -07:00
alauda.c
alauda.h
datafab.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
datafab.h
debug.c
debug.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dpcm.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dpcm.h
freecom.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
freecom.h
initializers.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
initializers.h USB Storage: add rio karma eject support 2006-09-27 11:58:54 -07:00
isd200.c
isd200.h
jumpshot.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
jumpshot.h
karma.c USB Storage: add rio karma eject support 2006-09-27 11:58:54 -07:00
karma.h USB Storage: add rio karma eject support 2006-09-27 11:58:54 -07:00
libusual.c libusual: change block scope variable to function scope 2007-04-27 13:28:34 -07:00
onetouch.c USB: Onetouch - switch to using input_dev->dev.parent 2007-05-22 23:45:50 -07:00
onetouch.h
protocol.c
protocol.h
scsiglue.c USB: add reset_resume method 2007-07-12 16:34:30 -07:00
scsiglue.h
sddr09.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sddr09.h
sddr55.c
sddr55.h
shuttle_usbat.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
shuttle_usbat.h
transport.c [PATCH] slab: remove SLAB_NOIO 2006-12-07 08:39:23 -08:00
transport.h
unusual_devs.h USB: UNUSUAL_DEV: Sync up some reported devices from Ubuntu 2007-06-08 16:24:30 -07:00
usb.c USB: add reset_resume method 2007-07-12 16:34:30 -07:00
usb.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00