Re: Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems)

Alan Stern
2009-12-20T19:38:24Z

On Sun, 20 Dec 2009, Rafael J. Wysocki wrote:

> BTW, what's the right place to call device_enable_async_suspend() for USB
> devices?

For USB devices, it's in drivers/usb/core/hub.c:usb_new_device()
anywhere before the call to usb_device_add().

For USB interfaces, it's in
drivers/usb/core/message.c:usb_set_configuration() before the call to
device_add().

For USB endpoints, it's in
drivers/usb/core/endpoint.c:usb_create_ep_devs() before the call to
device_register().

However you won't need to do it for interfaces and endpoints if you
automatically treat as async any device without suspend/resume
callbacks.

Alan Stern