Re: [PATCH 1/3] PM: Introduce new top level suspend and hibernation callbacks (rev. 8)

From: Rafael J. Wysocki
Date: Sun Apr 13 2008 - 19:33:17 EST


On Monday, 14 of April 2008, Alan Stern wrote:
> On Mon, 14 Apr 2008, Nigel Cunningham wrote:
>
> > > The ability for prepare() callbacks to sync with userland,
> > > request_firmware, etc... is an important feature that's been needed for
> > > some time imho.
> > >
> > > Ben.
> >
> > I agree. These calls have already been changing far too often in
> > mainline. I know it's all been necessary but please, can we try to make
> > one set of changes and just get it right this time?
>
> In practical terms, it will be easier to keep the freezer where it is
> for now. This is because prepare() requires drivers to change their
> behavior; they aren't allowed to register new children any more.
>
> But if userspace isn't frozen then user programs can interact with
> drivers in a way that does cause new children to be created. For
> example this happens in USB, where opening an audio device and
> selecting its bitrate causes a new set of endpoints to be realized,
> along with their representations in sysfs.
>
> Thus, in addition to making all the interface changes implied by the
> new callbacks, drivers would also have to change the way they interact
> with userspace. Yes, this will have to be done eventually in any case,
> as the freezer goes away -- but it shouldn't have to be done right now.

That's exactly my point.

Plus in my opinion, while with ->prepare() after the freezer it's possible
to write ->prepare() and ->suspend() that will work just fine when we remove
the freezer, with ->prepare() before the freezer it would be hard to do that,
unless ->prepare() was trivial.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/