From: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
Cc: Wei Ni <wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org,
swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org,
lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v3 1/2] hwmon: (lm90) Add power control
Date: Mon, 9 Sep 2013 21:39:10 +0100 [thread overview]
Message-ID: <20130909203910.GV29403@sirena.org.uk> (raw)
In-Reply-To: <20130909161735.GC18975-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2802 bytes --]
On Mon, Sep 09, 2013 at 09:17:35AM -0700, Guenter Roeck wrote:
> On Mon, Sep 09, 2013 at 05:02:37PM +0100, Mark Brown wrote:
> > It does, though it gets complicated trying to use it for a case like
> > this since you can't really tell if the regulator was powered on
> > immediately before the device got probed by another device on the bus.
> Why not ? Just keep a timestamp.
The support is a callback on state changes; we could keep a timestamp
but there's still going to be race conditions around bootloaders. It's
doable though.
> > > On a higher level, I wonder if such functionality should be added in the i2c
> > > subsystem and not in i2c client drivers. Has anyone thought about this ?
> > I'm not sure what the subsystem would do for such delays? It's fairly
> > common for things that need this to also want to do things like
> > manipulate GPIOs as part of the power on sequence so the applicability
> > is relatively limited, plus it's not even I2C specific, the same applies
> > to other buses so it ought to be a driver core thing.
> Possibly. I just thought about i2c since it also takes care of basic
> devicetree bindings. Something along the line of
> if devicetree bindings for this device declare one or more
> regulators, enable those regulators before calling the driver
> probe function.
That's definitely a driver core thing, not I2C - there's nothing
specific to I2C in there at all, needing power is pretty generic. I
have considered this before, something along the lines of what we have
for pinctrl, but unfortunately the generic case isn't quite generic
enough to make it easy. It'd need to be an explicit list of regulators
(partly just to make it opt in and avoid breaking things) and you'd want
to have a way of handling the different suspend/resume behaviour that
devices want. There's a few patterns there.
It's definitely something I think about from time to time and it would
be useful to factor things out, the issue is getting a good enough model
of what's going on.
> > There was some work on a generic helper for power on sequences but it
> > stalled since it wasn't accepted for the original purpose (LCD panel
> > power ons IIRC).
> Too bad. I think it could be kept quite simple, though, by handling it
> through the regulator subsystem as suggested above. A generic binding
> for a per-regulator and per-device poweron delay should solve that
> and possibly even make it transparent to the actual driver code.
Lots of things have a GPIO for reset too, and some want clocks too. For
maximum usefulness this should be cross subsystem. I suspect the reset
controller API may be able to handle some of it.
The regulator power on delays are already handled transparently, by the
time regulator_enable() returns the ramp should be finished.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-09-09 20:39 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-09 10:29 [PATCH v3 0/2] Add power control for lm90 Wei Ni
[not found] ` <1378722552-10357-1-git-send-email-wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-09 10:29 ` [PATCH v3 1/2] hwmon: (lm90) Add power control Wei Ni
[not found] ` <1378722552-10357-2-git-send-email-wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-09 11:12 ` Mark Brown
[not found] ` <20130909111242.GW29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-09 11:34 ` Guenter Roeck
[not found] ` <522DB253.6000707-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-09 13:50 ` Mark Brown
2013-09-09 15:50 ` Guenter Roeck
2013-09-09 16:02 ` Mark Brown
2013-09-09 16:17 ` Guenter Roeck
[not found] ` <20130909161735.GC18975-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-09 20:39 ` Mark Brown [this message]
[not found] ` <20130909203910.GV29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-10 4:05 ` Wei Ni
[not found] ` <522E9A85.9050803-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-10 4:50 ` Guenter Roeck
[not found] ` <522EA51C.90706-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-10 5:39 ` Wei Ni
[not found] ` <522EB0AF.9030708-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-10 5:54 ` Guenter Roeck
[not found] ` <522EB41E.9030005-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-10 6:30 ` Wei Ni
2013-09-10 10:13 ` Mark Brown
2013-09-10 11:29 ` Wei Ni
[not found] ` <522F02A4.7060702-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-10 12:11 ` Mark Brown
[not found] ` <20130910121157.GJ29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-11 9:40 ` Wei Ni
[not found] ` <20130909155043.GA18975-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-10 3:22 ` Wei Ni
[not found] ` <522E9059.3070305-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-10 3:36 ` Guenter Roeck
[not found] ` <522E93D6.2010304-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-10 3:40 ` Stephen Warren
2013-09-10 3:53 ` Guenter Roeck
[not found] ` <522E97CE.4070300-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-10 4:12 ` Wei Ni
2013-09-10 4:13 ` Stephen Warren
[not found] ` <522E9C84.9070405-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-10 4:44 ` Guenter Roeck
2013-09-10 10:09 ` Mark Brown
[not found] ` <20130910100939.GW29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-10 15:07 ` Stephen Warren
[not found] ` <522F35BF.6070909-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-10 17:04 ` Mark Brown
[not found] ` <20130910170438.GS29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-10 17:44 ` Stephen Warren
[not found] ` <522F5A65.8040907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-10 18:07 ` Guenter Roeck
2013-09-10 18:18 ` Mark Brown
[not found] ` <20130910181837.GD29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-10 18:37 ` Stephen Warren
2013-09-10 18:52 ` Mark Brown
[not found] ` <20130910185235.GF29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-11 11:35 ` Wei Ni
2013-09-10 17:05 ` Mark Brown
2013-09-09 10:29 ` [PATCH v3 2/2] Documentation: dt: hwmon: add OF document for LM90 Wei Ni
[not found] ` <1378722552-10357-3-git-send-email-wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-09 10:52 ` Guenter Roeck
[not found] ` <522DA86B.6000603-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-09 22:14 ` Stephen Warren
[not found] ` <522E4854.1050800-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-10 4:25 ` Wei Ni
2013-09-09 10:57 ` Ramkumar Ramachandra
[not found] ` <CALkWK0nqgF6yn4QRe2tTD-Qd+5GLtH-ifCesayk-+uxkWMx-5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-10 4:35 ` Wei Ni
[not found] ` <522EA177.6050608-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-10 4:36 ` Wei Ni
2013-09-09 22:15 ` Stephen Warren
[not found] ` <522E489D.6080903-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-09 22:23 ` Guenter Roeck
[not found] ` <20130909222330.GA31708-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-10 4:25 ` Wei Ni
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=20130909203910.GV29403@sirena.org.uk \
--to=broonie-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
--cc=linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=wni-DDmLM1+adcrQT0dZR+AlfA@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