Re: [linux-pm] Re: The evilness of struct usb_device->auto_pm
"Rafael J. Wysocki" <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
On Friday, 28 September 2007 17:11, Alan Stern wrote: > On Fri, 28 Sep 2007, Rafael J. Wysocki wrote: > > > > That's because the notifications go up the device tree, not down. When > > > a child is suspended, the parent is notified. Then if the driver sees > > > that all the children are suspended, the parent can be suspended as > > > well. > > > > > > Oliver has been trying to subvert this model by making usb-storage > > > responsible for suspending the SCSI disk and CD/DVD drivers, which are > > > located beneath it in the device tree. I've been trying to convince > > > him that the proper way to handle things is to let the SCSI drivers > > > decide for themselves when their devices can be suspended, and then > > > have them inform usb-storage. > > > > Yes, I think that the SCSI layer should decide. > > > > I guess that the SCSI layer is not really autosuspend-aware, is it? > > Not yet. I would like it to become autosuspend-aware. Oliver wants to > avoid that by keeping all the awareness in usb-storage. (But then what > about all the other SCSI host-adapter drivers? Will they each have > their own way of deciding when a SCSI device can be suspended?) IMO, this is a more general issue. The problem, as I see it, is which layer of drivers should be responsible of making autosuspend decisions if there are many layers stacked on top of one another. I think that it should be the layer which communicates with processes, eg. via syscalls. Greetings, Rafael ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel