All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH 02/04] Driver Core: Add idle and wakeup functions
Date: Fri, 05 Jun 2009 20:42:07 +0000	[thread overview]
Message-ID: <200906052242.08266.rjw@sisk.pl> (raw)
In-Reply-To: <20090527100642.29671.52231.sendpatchset@rx1.opensource.se>

On Friday 05 June 2009, Magnus Damm wrote:
> On Wed, Jun 3, 2009 at 6:05 PM, Rafael J. Wysocki<rjw@sisk.pl> wrote:
> > On Friday 29 May 2009, Magnus Damm wrote:
> >> 2009/5/29 Rafael J. Wysocki <rjw@sisk.pl>:
> >> > On Wednesday 27 May 2009, Magnus Damm wrote:
> >> >> From: Magnus Damm <damm@igel.co.jp>
> >> >>
> >> >> Add platform_device_idle() and platform_device_wakeup()
> >> >> and allow architectures to implement their own versions
> >> >> of these if CONFIG_HAVE_PLATFORM_IDLE_WAKEUP is set.
> >> >>
> >> >> Signed-off-by: Magnus Damm <damm@igel.co.jp>
> >> >> ---
> >> >>
> >> >>  Yes, this needs documentation. See [00/04] for now.
> >> >>
> >> >>  arch/Kconfig                    |    3 +++
> >> >>  include/linux/platform_device.h |    8 ++++++++
> >> >>  2 files changed, 11 insertions(+)
> >> >>
> >> >> --- 0002/arch/Kconfig
> >> >> +++ work/arch/Kconfig 2009-05-26 12:31:06.000000000 +0900
> >> >> @@ -115,3 +115,6 @@ config HAVE_DEFAULT_NO_SPIN_MUTEXES
> >> >>
> >> >>  config HAVE_PLATFORM_DEVICE_ARCHDATA
> >> >>       bool
> >> >> +
> >> >> +config HAVE_PLATFORM_DEVICE_IDLE_WAKEUP
> >> >
> >> > Again, I'm not sure if the new CONFIG_ option is really necessary.
> >>
> >> At least it could be combined into a single option for platform device
> >> runtime pm. So no need to have separate kconfig options for [02/04]
> >> and [03/04].
> >>
> >> We could also drop the #ifdef stuff and go for weak symbols that can
> >> be overriden by architecture code.
> >
> > The weak symbols don't work really AFAICS.  People have been replacing them
> > with alternative things recently.
> >
> >> I'm open to suggestions. =)
> >
> > Well, that depends on what exactly you want to achieve. :-)
> 
> =)
> 
> I'd like an architecture independent interface upstream that makes it
> possible for device drivers to notify the architecture code that they
> are idle() and that need wakeup().
> 
> In the long term I hope we can share a great deal of runtime PM code
> between architectures, but for now we just need some architecture
> specific hooks to get started.
> 
> The wakeup()/idle() code in this patch is one way to solve it on a
> platform device level. Another more generic way would be to add
> ->enable() and ->disable() callbacks to struct bus_type and introduce
> device_enable() and device_disable() that takes struct device and
> invokes the bus callbacks if set.

So, you need a generic mechanism that drivers can use to notify the bus type
code that a device is idle and therefore it should schedule an autosuspend
request for the device.  Also, you want a mechanism by which drivers can notify
the platform code that there is a need to wake-up an autosuspended device.
Is that correct?

Rafael

  parent reply	other threads:[~2009-06-05 20:42 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-27 10:06 [PATCH 00/04][RFC] PM: Runtime platform device PM Magnus Damm
2009-05-27 10:06 ` [PATCH 01/04] Driver Core: Add platform device arch data Magnus Damm
2009-05-27 10:06 ` Magnus Damm
2009-05-28 21:26   ` Rafael J. Wysocki
2009-05-28 21:26   ` Rafael J. Wysocki
2009-05-29  5:07     ` Magnus Damm
2009-05-29  5:07   ` Magnus Damm
2009-05-29  5:51     ` Paul Mundt
2009-05-29  5:51   ` Paul Mundt
2009-05-27 10:06 ` [PATCH 02/04] Driver Core: Add idle and wakeup functions Magnus Damm
2009-05-27 10:06 ` Magnus Damm
2009-05-28 21:29   ` Rafael J. Wysocki
2009-05-28 21:29   ` Rafael J. Wysocki
2009-05-29  5:10     ` Magnus Damm
2009-05-29  5:10   ` Magnus Damm
2009-06-03  9:05     ` Rafael J. Wysocki
2009-06-03  9:05   ` Rafael J. Wysocki
2009-06-05  3:26     ` Magnus Damm
2009-06-05  3:26   ` Magnus Damm
2009-06-05 20:42     ` Rafael J. Wysocki
2009-06-05 20:42   ` Rafael J. Wysocki [this message]
2009-06-09  4:22     ` Magnus Damm
2009-06-09  4:22   ` Magnus Damm
2009-06-09 23:41     ` Rafael J. Wysocki
2009-06-09 23:41   ` Rafael J. Wysocki
2009-06-10  6:03     ` Magnus Damm
2009-06-10  6:03   ` Magnus Damm
2009-06-10  8:19     ` Rafael J. Wysocki
2009-06-10  8:19   ` Rafael J. Wysocki
2009-05-27 10:06 ` [PATCH 03/04] PM: Add platform bus runtime dev_pm_ops Magnus Damm
2009-05-27 10:06 ` Magnus Damm
2009-05-29 23:23   ` Rafael J. Wysocki
2009-06-02 13:37     ` Magnus Damm
2009-05-29 23:23   ` Rafael J. Wysocki
2009-06-02 13:37   ` Magnus Damm
2009-06-03  9:47     ` Rafael J. Wysocki
2009-06-05 10:40       ` Magnus Damm
2009-06-05 10:40   ` Magnus Damm
2009-06-05 21:24     ` Rafael J. Wysocki
2009-06-05 21:24   ` Rafael J. Wysocki
2009-05-27 10:06 ` [PATCH 04/04] sh: Runtime platform device PM mockup Magnus Damm
2009-05-27 12:10 ` [PATCH 00/04][RFC] PM: Runtime platform device PM Mark Brown
2009-05-27 12:10 ` [linux-pm] " Mark Brown
2009-05-28  6:02   ` Magnus Damm
2009-05-27 14:30 ` Alan Stern
2009-05-27 14:30 ` Alan Stern
2009-05-28  6:14   ` Magnus Damm
2009-05-28  0:32 ` Kevin Hilman
2009-05-28  0:32 ` Kevin Hilman
2009-05-28  6:02 ` [linux-pm] " Magnus Damm
2009-05-28  6:14 ` Magnus Damm
2009-05-28  7:12   ` Rafael J. Wysocki
2009-05-28 15:33   ` Alan Stern
2009-05-28  7:12 ` Rafael J. Wysocki
2009-05-28 15:28   ` Alan Stern
2009-05-28 15:28 ` Alan Stern
2009-06-01 19:04   ` Rafael J. Wysocki
2009-05-28 15:33 ` Alan Stern
2009-05-29  7:41   ` Magnus Damm
2009-05-28 17:14 ` Kevin Hilman
2009-05-29  9:17   ` Magnus Damm
2009-05-28 17:14 ` Kevin Hilman
2009-05-29  7:41 ` Magnus Damm
2009-05-29 13:45   ` Alan Stern
2009-05-29 13:45     ` Alan Stern
2009-05-29 18:18     ` Rafael J. Wysocki
2009-05-29  9:17 ` Magnus Damm
2009-06-02 21:37   ` Pavel Machek
2009-05-29 18:18 ` Rafael J. Wysocki
2009-06-02 13:44   ` Magnus Damm
2009-06-01 19:04 ` Rafael J. Wysocki
2009-06-01 19:31   ` Alan Stern
2009-06-01 19:31 ` Alan Stern
2009-06-01 19:58   ` Rafael J. Wysocki
2009-06-01 19:58 ` Rafael J. Wysocki
2009-06-01 22:16   ` Alan Stern
2009-06-01 22:16 ` Alan Stern
2009-06-01 23:21   ` Rafael J. Wysocki
2009-06-01 23:21 ` Rafael J. Wysocki
2009-06-02 14:51   ` Alan Stern
2009-06-02 13:44 ` Magnus Damm
2009-06-02 14:51 ` Alan Stern
2009-06-04 16:30   ` Rafael J. Wysocki
2009-06-02 21:37 ` [linux-pm] " Pavel Machek
2009-06-04 10:03   ` Magnus Damm
2009-06-04 10:03 ` [linux-pm] " Magnus Damm
2009-06-04 16:30 ` Rafael J. Wysocki
2009-07-18 11:49   ` Pavel Machek
2009-07-18 11:49 ` [linux-pm] " Pavel Machek

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=200906052242.08266.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=linux-sh@vger.kernel.org \
    /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.