Re: [RFC][PATCH 1/3] PM: Introduce new top level suspend and hibernation callbacks

Pavel Machek
2008-03-19T09:15:27Z

On Tue 2008-03-18 17:53:40, Greg KH wrote:
> On Mon, Mar 17, 2008 at 12:22:29AM +0100, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rjw@sisk.pl>
> >
> > Introduce 'struct pm_ops' representing a set of suspend and
> > hibernation operations for bus types, device classes and device
> > types.
>
> Ok, I must have missed the thread describing why we need to do this, so,
> why do we need to do this? What is this going to buy us in the end
> after everything is changed?

That was rather long thread where Linus flamed us for having
everything in one "suspend" callback, selecting what to do by
pm_message_t parameter. It was kind of hard to miss ;-).
Pavel

> > +struct pm_ops {
> > +#ifdef CONFIG_PM_SLEEP
> > + int (*prepare)(struct device *dev);
> > + void (*complete)(struct device *dev);
> > +#endif
> > +#ifdef CONFIG_SUSPEND
> > + int (*suspend)(struct device *dev);
> > + int (*resume)(struct device *dev);
> > +#endif
> > +#ifdef CONFIG_HIBERNATION
> > + int (*freeze)(struct device *dev);
> > + int (*thaw)(struct device *dev);
> > + int (*poweroff)(struct device *dev);
> > + int (*quiesce)(struct device *dev);
> > + int (*restore)(struct device *dev);
> > + int (*recover)(struct device *dev);
> > +#endif
>
>
> Don't ifdef stuff like this, it only causes ifdefs to be needed to the
> .c code as well for all places these structures are defined in
> drivers/busses, right?

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
pomozte zachranit klanovicky les: http://www.ujezdskystrom.info/