Re: [linux-usb-devel] error to be returned while suspended

Oliver Neukum
2006-10-06T07:21:14Z

Am Donnerstag, 5. Oktober 2006 23:45 schrieb Alan Stern:
> On Thu, 5 Oct 2006, Oliver Neukum wrote:
>
> > I have a few observations, but no solution either:
> > - if root tells a device to suspend, it shall do so
>
> Probably everyone will agree on that.

But should it stay suspended until explictely resumed? Do we have
consensus on that?

> > - the issues of manual & automatic suspend and remote wakeup are orthogonal
>
> Except for the fact that remote wakeup kicks in only when a device is
> suspended.

Yes.

> > - there should be a common API for all devices
>
> It would be nice, wouldn't it? But we _already_ have several vastly
> different power-management APIs. Consider for example DPMI and IDE
> spindown.

No reason to make matters worse.

> > - there's no direct connection between power save and open()
>
> Why shouldn't a device always be put into a power-saving mode whenever it
> isn't open? Agreed, you might want to reduce its power usage at times
> even when it is open...

That and you are putting the latency/power choice into kernel space.
I've seen GPS recievers that need 30 seconds to get a fix. Autosuspend
needs to be in kernel space. But that doesn't mean that it is sufficient
as a mechanism nor that it doesn't need parameters supplied from
user space.

> > The question when a device is in use is far from trivial.
>
> Yes. It has to be decided by each individual driver. For simple
> character-oriented devices, "open" is a good first start.

Yes. However, simple character devices are the first candidates for
libusb so kernel space is left with the hard cases.

Regards
Oliver