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(-) |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
asix.c | ||
catc.c | ||
cdc_ether.c | ||
cdc_subset.c | ||
gl620a.c | ||
kaweth.c | ||
kawethfw.h | ||
net1080.c | ||
pegasus.c | ||
pegasus.h | ||
plusb.c | ||
rndis_host.c | ||
rtl8150.c | ||
usbnet.c | ||
usbnet.h | ||
zaurus.c | ||
zd1201.c | ||
zd1201.h |