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: Mon, 20 Dec 2010 15:00:52 +0000 [thread overview]
Message-ID: <20101220150051.GI26706@rakim.wolfsonmicro.main> (raw)
In-Reply-To: <201012181559.50347.rjw-KKrjLPT3xs0@public.gmane.org>
On Sat, Dec 18, 2010 at 03:59:50PM +0100, Rafael J. Wysocki wrote:
> Second, the situation at hand is that the bus type implements dev_pm_ops,
> but the driver doesn't. Now, pm_generic_suspend() is called with a struct
> device pointer, so it would have to go back to dev->bus, find the
> ->legacy_suspend() callback (as opposed to ->suspend(), which also is legacy,
> but is called by the PM core instead). May I call that confusing?
Well, the trouble is that the whole situation is already pretty
confusing for what should be very simple buses, each one needs to write
a bunch of not really bus specific code in order to get basic behaviour
which allows the drivers to make use of runtime PM, requiring more
thought and care per bus than I'd expect given that they've nothing
really to contribute. This leads to the sort of random variations
between buses that Rabin is reporting, and means that updates keep
having to get done in multiple different places.
The overall effect is that from the point of view of trying to use
runtime PM in drivers which work with these simple buses everything
feels like it's much harder work than it should be. Moving all the
decision making out of the buses and into the PM core seems like a win
here.
next prev parent reply other threads:[~2010-12-20 15:00 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-16 18:26 platform/i2c busses: pm runtime and system sleep Rabin Vincent
[not found] ` <AANLkTinyDE3OxKup_aqsN8HJH_r5LcwkP17OtuMRpACx-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-17 0:09 ` Rafael J. Wysocki
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 15:05 ` Alan Stern
[not found] ` <AANLkTinsPqFcodH0w7LQeFEY+amodNH4CneRCRhhbKaz-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-18 18:28 ` Rafael J. Wysocki
[not found] ` <201102181928.05911.rjw-KKrjLPT3xs0@public.gmane.org>
2011-02-18 19:25 ` Rabin Vincent
2011-02-18 20:20 ` Rafael J. Wysocki
2011-02-18 20:27 ` Russell King - ARM Linux
[not found] ` <20110218202744.GA19427-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-02-18 22:16 ` Mark Brown
2011-02-19 9:54 ` Linus Walleij
2011-02-19 10:00 ` Russell King - ARM Linux
[not found] ` <20110219100017.GA29493-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-02-19 10:16 ` Linus Walleij
2011-02-19 7:24 ` Rabin Vincent
2010-12-17 12:54 ` Mark Brown
[not found] ` <20101217125427.GA29640-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2010-12-17 13:25 ` Rafael J. Wysocki
[not found] ` <201012171425.07775.rjw-KKrjLPT3xs0@public.gmane.org>
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
[not found] ` <201012171449.26082.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-17 14:24 ` Mark Brown
[not found] ` <20101217142402.GA19391-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
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 12:54 ` Rafael J. Wysocki
[not found] ` <201012181354.58077.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-18 13:20 ` Mark Brown
[not found] ` <20101218132029.GA22273-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2010-12-18 14:59 ` Rafael J. Wysocki
[not found] ` <201012181559.50347.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-20 15:00 ` Mark Brown [this message]
[not found] ` <20101220150051.GI26706-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2010-12-20 21:13 ` Rafael J. Wysocki
[not found] ` <201012202213.53902.rjw-KKrjLPT3xs0@public.gmane.org>
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
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=20101220150051.GI26706@rakim.wolfsonmicro.main \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).