From: Greg KH <gregkh@suse.de>
To: Kevin Hilman <khilman@deeprootsystems.com>
Cc: linux-kernel@vger.kernel.org,
linux-pm@lists.linux-foundation.org,
Magnus Damm <damm@opensource.se>,
"Rafael J. Wysocki" <rjw@sisk.pl>, Dmitry Torokhov <dtor@mail.ru>,
Eric Miao <eric.y.miao@gmail.com>
Subject: Re: [RFC/PATCH] platform_bus: allow custom extensions to system PM methods
Date: Thu, 18 Mar 2010 10:20:24 -0700 [thread overview]
Message-ID: <20100318172024.GA1675@suse.de> (raw)
In-Reply-To: <87bpellg9p.fsf@deeprootsystems.com>
On Thu, Mar 18, 2010 at 09:57:06AM -0700, Kevin Hilman wrote:
> Greg KH <gregkh@suse.de> writes:
>
> > On Wed, Mar 17, 2010 at 04:18:15PM -0700, Kevin Hilman wrote:
> >> When runtime PM for platform_bus was added, it allowed for platforms
> >> to customize the runtime PM methods since they are defined as weak
> >> symbols.
> >>
> >> This patch allows platforms to also extend the system PM methods with
> >> custom hooks so runtime PM and system PM extensions can be managed
> >> together by custom platform-specific code.
> >
> > Wow, that's scary, I didn't realize that was done for the runtime stuff.
> >
> > What would you be replacing these functions with for your platform that
> > would require it to be in arch-specific code?
>
> I'm basically copying the existing functions and extending them with
> platform-specific code to manage device clocks and other PM HW state.
> IOW, I still call the drivers PM methods, but also take care of some
> platform specific PM HW management. This is just like the runtime PM
> hooks: platform-specific code + calling drivers runtime PM methods.
>
> On my platform (TI OMAP), the code to handle device PM is common for
> all devices, so for runtime PM, I'm taking care of it at the bus
> level. At the hardware level, there's really no difference between
> runtime and system PM, so I want to take advantage of the same
> platform specific code for system PM
>
> Initially, rather than making the system PM methods themselves weak, I
> added some weak hooks that could be overridden instead (see test patch
> below). The problem with that is that it is not as flexible if you
> want to run some custom code before and/or after calling the drivers
> PM methods. To be more flexible, using this approach, we'd probably
> need pre- and post- hooks to be used before and after the driver's PM
> methods are called. Rather than add all these hooks, I decided it was
> cleaner to just allow override of the primary methods themselves,
> which parallels the runtime PM approach.
Ok, that sounds reasonable for now. I'll queue it up for .35.
thanks,
greg k-h
next prev parent reply other threads:[~2010-03-18 17:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-17 23:18 [RFC/PATCH] platform_bus: allow custom extensions to system PM methods Kevin Hilman
2010-03-17 23:44 ` Greg KH
2010-03-17 23:44 ` Greg KH
2010-03-18 16:57 ` Kevin Hilman
2010-03-18 17:20 ` Greg KH [this message]
2010-03-18 17:20 ` Greg KH
2010-03-18 16:57 ` Kevin Hilman
-- strict thread matches above, loose matches on Subject: below --
2010-03-17 23:18 Kevin Hilman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100318172024.GA1675@suse.de \
--to=gregkh@suse.de \
--cc=damm@opensource.se \
--cc=dtor@mail.ru \
--cc=eric.y.miao@gmail.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.