Re: [RFC/RFT][PATCH -mm 1/4] PM: Introduce set_target method in pm_ops

Rafael J. Wysocki
2007-06-26T09:34:44Z

On Monday, 25 June 2007 23:28, Johannes Berg wrote:
> On Sun, 2007-06-24 at 22:40 +0200, Rafael J. Wysocki wrote:
>
> > + * @set_target: Tell the platform which system sleep state is going to be
> > + * entered. The information passed to @set_target should be disregarded
> > + * by the platform as soon as @finish() is executed and if @prepare()
> > + * fails.
> > + * This callback is optional. However, if it is implemented, the
> > + * argument passed to @prepare(), @enter and @finish() must be ignored.
>
> I don't understand the point in mandating that then the argument to
> enter() is to be ignored, why bother? It doesn't look as though we can
> possibly do anything with the semantics here that would mean the state
> set by set_target is different to the state passed to enter(), can we?

In principle we can't, but I think that it should be "either, or". Either the
platform implements set_target() and uses the value provided by it, or it
uses the argument passed to the other functions.

Alternatively, I could write that the argument passed to .enter() etc. is
guaranteed to be the same as the one passed to .set_target(), but I didn't want
to say that. :-)

Greetings,
Rafael

--
"Premature optimization is the root of all evil." - Donald Knuth