Re: [RFC] sleepy linux

Oliver Neukum
2007-12-30T16:39:42Z

Am Sonntag, 30. Dezember 2007 00:51:34 schrieb Pavel Machek:
> Hi!
>
> > > ... I also don't need to call any suspend() routines, because all the
> > > drivers are already suspended, right?
> >
> > Well, you have a number of devices which cannot do runtime pm.
> > They can do suspend/resume with the whole system. For them these
> > operations mean saving/restoring state.
> > So for these devices implementing autosuspend makes no sense.
> > They would sensibly do only idle/busy detection.
>
> Yep... Let's call busy/idle detection and save/restore state
> "autosuspend" for those devices. It does not save any power, but it
> can be viewed as "kind-of-suspend". (No, I do not have this kind of
> details ready).

Well, you probably would have to walk through all devices and check
all devices are either suspended or can be suspended. That would mean
struct device has to be extended to show common attributes.

But what's wrong with calling suspend() the conventional way once you've
decided to go into sleepy mode?

[..]
> > We lack a notion of telling devices that they are opened only for
> > detecting wakeups. Currently a driver has to assume that an opened
> > device has to be fully functional.
>
> Yes, we'll need to add some userland interfaces. No, this will not be
> easy.

This mainly means input devices.

Regards
Oliver