f07600cf9e
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> |
||
---|---|---|
.. | ||
alauda.c | ||
alauda.h | ||
datafab.c | ||
datafab.h | ||
debug.c | ||
debug.h | ||
dpcm.c | ||
dpcm.h | ||
freecom.c | ||
freecom.h | ||
initializers.c | ||
initializers.h | ||
isd200.c | ||
isd200.h | ||
jumpshot.c | ||
jumpshot.h | ||
karma.c | ||
karma.h | ||
Kconfig | ||
libusual.c | ||
Makefile | ||
onetouch.c | ||
onetouch.h | ||
protocol.c | ||
protocol.h | ||
scsiglue.c | ||
scsiglue.h | ||
sddr09.c | ||
sddr09.h | ||
sddr55.c | ||
sddr55.h | ||
shuttle_usbat.c | ||
shuttle_usbat.h | ||
transport.c | ||
transport.h | ||
unusual_devs.h | ||
usb.c | ||
usb.h |