From: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
To: "Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>
Cc: Rabin Vincent <rabin-66gdRtMMWGc@public.gmane.org>,
stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org,
linux-pm-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: platform/i2c busses: pm runtime and system sleep
Date: Sat, 18 Dec 2010 13:20:29 +0000 [thread overview]
Message-ID: <20101218132029.GA22273@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <201012181354.58077.rjw-KKrjLPT3xs0@public.gmane.org>
On Sat, Dec 18, 2010 at 01:54:57PM +0100, Rafael J. Wysocki wrote:
> On Saturday, December 18, 2010, Mark Brown wrote:
> > SPI and platform (the first two buses I looked at) both seem to have
> > legacy suspend operations too? Clearly the bus would need to provide an
> > op to invoke the legacy call but the logic which prioritises the pm_ops
> > over the legacy operation is generic.
> Well, the problem with that is the driver would need to tell the generic call
> what the legacy routine is and there's no, er, generic way to do that.
> In the i2c case, for example, there is struct i2c_driver that contains the
> ->suspend() and ->resume() pointers, so the bus type driver _knows_ how to
> get there, but the PM core doesn't have this information.
Sure, but this could be readily accomplished by providing bus
legacy_suspend() and legacy_resume() operations that the generic code
could use to do the actual call. This would save them all implmeneting
essentially the same decision making code for all the various different
PM operations - the only bit that differs between buses is going to be
the actual process for calling the legacy API.
Like I say, I'm not sure if it's actually worth it.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Rabin Vincent <rabin@rab.in>,
stern@rowland.harvard.edu, linux-pm@lists.linux-foundation.org,
linux-i2c@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: platform/i2c busses: pm runtime and system sleep
Date: Sat, 18 Dec 2010 13:20:29 +0000 [thread overview]
Message-ID: <20101218132029.GA22273@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <201012181354.58077.rjw@sisk.pl>
On Sat, Dec 18, 2010 at 01:54:57PM +0100, Rafael J. Wysocki wrote:
> On Saturday, December 18, 2010, Mark Brown wrote:
> > SPI and platform (the first two buses I looked at) both seem to have
> > legacy suspend operations too? Clearly the bus would need to provide an
> > op to invoke the legacy call but the logic which prioritises the pm_ops
> > over the legacy operation is generic.
> Well, the problem with that is the driver would need to tell the generic call
> what the legacy routine is and there's no, er, generic way to do that.
> In the i2c case, for example, there is struct i2c_driver that contains the
> ->suspend() and ->resume() pointers, so the bus type driver _knows_ how to
> get there, but the PM core doesn't have this information.
Sure, but this could be readily accomplished by providing bus
legacy_suspend() and legacy_resume() operations that the generic code
could use to do the actual call. This would save them all implmeneting
essentially the same decision making code for all the various different
PM operations - the only bit that differs between buses is going to be
the actual process for calling the legacy API.
Like I say, I'm not sure if it's actually worth it.
next prev parent reply other threads:[~2010-12-18 13:20 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-16 18:26 platform/i2c busses: pm runtime and system sleep Rabin Vincent
2010-12-16 18:26 ` Rabin Vincent
[not found] ` <AANLkTinyDE3OxKup_aqsN8HJH_r5LcwkP17OtuMRpACx-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-17 0:09 ` Rafael J. Wysocki
2010-12-17 0:09 ` Rafael J. Wysocki
2011-02-17 15:25 ` Rabin Vincent
2011-02-17 15:25 ` Rabin Vincent
[not found] ` <AANLkTikRUZRh0YnP8nYTKFnFeUiJbK5xKvHHjn_S+gZE-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-18 2:48 ` Rabin Vincent
2011-02-18 2:48 ` Rabin Vincent
2011-02-18 2:48 ` Rabin Vincent
2011-02-18 15:05 ` Alan Stern
2011-02-18 15:05 ` Alan Stern
2011-02-18 15:05 ` Alan Stern
2011-02-18 15:05 ` Alan Stern
2011-02-18 18:28 ` Rafael J. Wysocki
[not found] ` <AANLkTinsPqFcodH0w7LQeFEY+amodNH4CneRCRhhbKaz-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-18 18:28 ` Rafael J. Wysocki
2011-02-18 18:28 ` Rafael J. Wysocki
2011-02-18 18:28 ` Rafael J. Wysocki
2011-02-18 19:25 ` Rabin Vincent
[not found] ` <201102181928.05911.rjw-KKrjLPT3xs0@public.gmane.org>
2011-02-18 19:25 ` Rabin Vincent
2011-02-18 19:25 ` Rabin Vincent
2011-02-18 19:25 ` Rabin Vincent
2011-02-18 20:20 ` Rafael J. Wysocki
2011-02-18 20:20 ` Rafael J. Wysocki
2011-02-18 20:27 ` Russell King - ARM Linux
2011-02-18 20:27 ` Russell King - ARM Linux
2011-02-18 20:27 ` Russell King - ARM Linux
2011-02-18 22:16 ` Mark Brown
2011-02-19 7:24 ` Rabin Vincent
2011-02-19 7:24 ` Rabin Vincent
2011-02-19 7:24 ` Rabin Vincent
2011-02-19 9:54 ` Linus Walleij
[not found] ` <20110218202744.GA19427-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-02-18 22:16 ` Mark Brown
2011-02-18 22:16 ` Mark Brown
2011-02-18 22:16 ` Mark Brown
2011-02-19 9:54 ` Linus Walleij
2011-02-19 9:54 ` Linus Walleij
2011-02-19 9:54 ` Linus Walleij
2011-02-19 10:00 ` Russell King - ARM Linux
2011-02-19 10:00 ` Russell King - ARM Linux
2011-02-19 10:16 ` Linus Walleij
[not found] ` <20110219100017.GA29493-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-02-19 10:16 ` Linus Walleij
2011-02-19 10:16 ` Linus Walleij
2011-02-19 10:16 ` Linus Walleij
2011-02-19 10:00 ` Russell King - ARM Linux
2011-02-18 20:20 ` Rafael J. Wysocki
2011-02-18 2:48 ` Rabin Vincent
2011-02-17 15:25 ` Rabin Vincent
2010-12-17 12:54 ` Mark Brown
2010-12-17 12:54 ` Mark Brown
2010-12-17 13:25 ` Rafael J. Wysocki
[not found] ` <20101217125427.GA29640-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2010-12-17 13:25 ` Rafael J. Wysocki
2010-12-17 13:25 ` Rafael J. Wysocki
2010-12-17 13:34 ` Mark Brown
[not found] ` <201012171425.07775.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-17 13:34 ` Mark Brown
2010-12-17 13:34 ` Mark Brown
[not found] ` <20101217133434.GH31453-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2010-12-17 13:49 ` Rafael J. Wysocki
2010-12-17 13:49 ` Rafael J. Wysocki
[not found] ` <201012171449.26082.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-17 14:24 ` Mark Brown
2010-12-17 14:24 ` Mark Brown
2010-12-17 23:01 ` Rafael J. Wysocki
[not found] ` <20101217142402.GA19391-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2010-12-17 23:01 ` Rafael J. Wysocki
2010-12-17 23:01 ` Rafael J. Wysocki
[not found] ` <201012180001.25263.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-18 1:04 ` Mark Brown
2010-12-18 1:04 ` Mark Brown
2010-12-18 12:54 ` Rafael J. Wysocki
2010-12-18 12:54 ` Rafael J. Wysocki
2010-12-18 13:20 ` Mark Brown
[not found] ` <201012181354.58077.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-18 13:20 ` Mark Brown [this message]
2010-12-18 13:20 ` Mark Brown
2010-12-18 14:59 ` Rafael J. Wysocki
[not found] ` <20101218132029.GA22273-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2010-12-18 14:59 ` Rafael J. Wysocki
2010-12-18 14:59 ` Rafael J. Wysocki
2010-12-20 15:00 ` Mark Brown
[not found] ` <201012181559.50347.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-20 15:00 ` Mark Brown
2010-12-20 15:00 ` Mark Brown
2010-12-20 21:13 ` Rafael J. Wysocki
[not found] ` <20101220150051.GI26706-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2010-12-20 21:13 ` Rafael J. Wysocki
2010-12-20 21:13 ` Rafael J. Wysocki
2010-12-21 23:51 ` Mark Brown
[not found] ` <201012202213.53902.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-21 23:51 ` Mark Brown
2010-12-21 23:51 ` Mark Brown
[not found] ` <20101221235127.GC10081-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2010-12-22 0:35 ` Rafael J. Wysocki
2010-12-22 0:35 ` Rafael J. Wysocki
2010-12-22 0:35 ` Rafael J. Wysocki
2010-12-18 1:04 ` Mark Brown
2010-12-17 14:24 ` Mark Brown
2010-12-17 13:49 ` Rafael J. Wysocki
2010-12-17 0:09 ` Rafael J. Wysocki
2010-12-17 12:54 ` Mark Brown
-- strict thread matches above, loose matches on Subject: below --
2010-12-16 18:26 Rabin Vincent
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=20101218132029.GA22273@opensource.wolfsonmicro.com \
--to=broonie-yzvpicuk2aatku/dhu1wvuem+bqzidxxqq4iyu8u01e@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-pm-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=rabin-66gdRtMMWGc@public.gmane.org \
--cc=rjw-KKrjLPT3xs0@public.gmane.org \
--cc=stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.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.