db69087437
This updates the handling of power state for USB interfaces. - Formalizes an existing invariant: interface "power state" is a boolean: ON when I/O is allowed, and FREEZE otherwise. It does so by defining some inlined helpers, then using them. - Adds a useful invariant: the only interfaces marked active are those bound to non-suspended drivers. Later patches build on this invariant. - Simplifies the interface driver API (and removes some error paths) by removing the requirement that they record power state changes during suspend and resume callbacks. Now usbcore does that. A few drivers were simplified to address that last change. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/core/hub.c | 33 +++++++++------------ drivers/usb/core/message.c | 1 drivers/usb/core/usb.c | 65 +++++++++++++++++++++++++++++++++---------- drivers/usb/core/usb.h | 18 +++++++++++ drivers/usb/input/hid-core.c | 2 - drivers/usb/misc/usbtest.c | 10 ------ drivers/usb/net/pegasus.c | 2 - drivers/usb/net/usbnet.c | 2 - 8 files changed, 85 insertions(+), 48 deletions(-) |
||
---|---|---|
.. | ||
sisusbvga | ||
Kconfig | ||
Makefile | ||
auerswald.c | ||
cytherm.c | ||
emi26.c | ||
emi26_fw.h | ||
emi62.c | ||
emi62_fw_m.h | ||
emi62_fw_s.h | ||
idmouse.c | ||
ldusb.c | ||
legousbtower.c | ||
phidgetkit.c | ||
phidgetservo.c | ||
rio500.c | ||
rio500_usb.h | ||
usblcd.c | ||
usbled.c | ||
usbtest.c | ||
uss720.c |