Linux Hardware Monitor development
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Stephen Boyd <sboyd@kernel.org>
Cc: "Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Matti Vaittinen" <mazziesaccount@gmail.com>,
	"Matti Vaittinen" <matti.vaittinen@fi.rohmeurope.com>,
	dri-devel@lists.freedesktop.org,
	"Johan Hovold" <johan+linaro@kernel.org>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"Lars-Peter Clausen" <lars@metafoo.de>,
	"Kevin Hilman" <khilman@baylibre.com>,
	linux-kernel@vger.kernel.org, "Daniel Vetter" <daniel@ffwll.ch>,
	linux-amlogic@lists.infradead.org,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-doc@vger.kernel.org, "Jonathan Cameron" <jic23@kernel.org>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Michael Hennerich" <Michael.Hennerich@analog.com>,
	"Miaoqian Lin" <linmq006@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	"Alexandru Tachici" <alexandru.tachici@analog.com>,
	"Jerome Brunet" <jbrunet@baylibre.com>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Guenter Roeck" <linux@roeck-us.net>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Lorenzo Bianconi" <lorenzo@kernel.org>,
	"Michael Turq uette" <mturquette@baylibre.com>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
	"Jean Delvare" <jdelvare@suse.com>,
	"Alexandru Ardelean" <aardelean@deviqon.com>,
	linux-hwmon@vger.kernel.org, linux-clk@vger.kernel.org,
	"Nuno Sá" <nuno.sa@analog.com>,
	"Robert Foss" <robert.foss@linaro.org>,
	"Aswath Govindraju" <a-govindraju@ti.com>,
	"David Airlie" <airlied@linux.ie>,
	linux-iio@vger.kernel.org
Subject: Re: (subset) [PATCH v2 0/7] Devm helpers for regulator get and enable
Date: Mon, 15 Aug 2022 23:07:35 +0100	[thread overview]
Message-ID: <YvrDp32/TknqV05t@sirena.org.uk> (raw)
In-Reply-To: <20220815205857.308B1C433D6@smtp.kernel.org>

[-- Attachment #1: Type: text/plain, Size: 2571 bytes --]

On Mon, Aug 15, 2022 at 01:58:55PM -0700, Stephen Boyd wrote:
> Quoting Laurent Pinchart (2022-08-15 11:52:36)
> > On Mon, Aug 15, 2022 at 05:33:06PM +0100, Mark Brown wrote:
> > > On Mon, Aug 15, 2022 at 06:54:45PM +0300, Laurent Pinchart wrote:

> > > > - With devres, you don't have full control over the order in which
> > > >   resources will be released, which means that you can't control the
> > > >   power off sequence, in particular if it needs to be sequenced with
> > > >   GPIOs and clocks. That's not a concern for all drivers, but this API
> > > >   will creep in in places where it shouldn't be used, driver authours
> > > >   should really pay attention to power management and not live with the
> > > >   false impression that everything will be handled automatically for
> > > >   them. In the worst cases, an incorrect power off sequence could lead
> > > >   to hardware damage.

> I think the main issue is that platform drivers are being asked to do
> too much. We've put the burden on platform driver authors to intimately
> understand how their devices are integrated, and as we all know they're

This is for the regulator API, it's mainly for off SoC devices so it's
not a question of understanding the integration of a device into a piece
of silicon, it's a question of understanding the integration of a chip
into a board which seems reasonably in scope for a chip driver and is
certainly the sort of thing that you'd be talking to your customers
about as a silicon vendor.

> The basic idea is that drivers should be focused on what they're
> driving, not navigating the (sometimes) complex integration that's
> taking place around them. When a device driver probe function is called
> the device should already be powered on. When the driver is
> removed/unbound, the power should be removed after the driver's remove
> function is called. We're only going to be able to solve the power
> sequencing and ordering problem by taking away power control and
> sequencing from drivers.

That is a sensible approach for most on SoC things but for something
shipped as a separate driver there's little point in separating the
power and clocking domain driver from the device since there's typically
a 1:1 mapping.  Usually either it's extremely simple (eg, turn
everything on and remove reset) but some devices really need to manage
things.  There's obviously some edge cases in SoC integration as well
(eg, the need to manage card supplies for SD controllers, or knowing
exact clock rates for things like audio controllers) so you need some
flex.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  parent reply	other threads:[~2022-08-16  5:31 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-12 10:08 [PATCH v2 0/7] Devm helpers for regulator get and enable Matti Vaittinen
2022-08-12 10:11 ` [PATCH v2 6/7] hwmon: lm90: simplify using devm_regulator_get_enable() Matti Vaittinen
     [not found] ` <166057828406.697572.228317501909350108.b4-ty@kernel.org>
2022-08-15 15:54   ` (subset) [PATCH v2 0/7] Devm helpers for regulator get and enable Laurent Pinchart
2022-08-15 16:33     ` Mark Brown
2022-08-15 18:52       ` Laurent Pinchart
2022-08-15 20:58         ` Stephen Boyd
2022-08-15 21:17           ` Laurent Pinchart
2022-08-15 22:55             ` Mark Brown
2022-08-16  4:56               ` Matti Vaittinen
2022-08-16 10:36                 ` Mark Brown
2022-08-16 11:06                   ` Vaittinen, Matti
2022-08-16 11:31                     ` Mark Brown
2022-08-16  8:42             ` Andy Shevchenko
2022-08-15 22:07           ` Mark Brown [this message]
2022-08-30 19:42             ` Stephen Boyd
2022-08-16  8:23         ` Andy Shevchenko
2022-08-18 11:33   ` Matti Vaittinen
2022-08-18 11:54     ` Mark Brown
2022-08-18 12:04       ` Vaittinen, Matti

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=YvrDp32/TknqV05t@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=a-govindraju@ti.com \
    --cc=aardelean@deviqon.com \
    --cc=airlied@linux.ie \
    --cc=alexandru.tachici@analog.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andrzej.hajda@intel.com \
    --cc=corbet@lwn.net \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbrunet@baylibre.com \
    --cc=jdelvare@suse.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jic23@kernel.org \
    --cc=johan+linaro@kernel.org \
    --cc=jonas@kwiboo.se \
    --cc=khilman@baylibre.com \
    --cc=lars@metafoo.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=lgirdwood@gmail.com \
    --cc=linmq006@gmail.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lorenzo@kernel.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=matti.vaittinen@fi.rohmeurope.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mturquette@baylibre.com \
    --cc=narmstrong@baylibre.com \
    --cc=nuno.sa@analog.com \
    --cc=robert.foss@linaro.org \
    --cc=sboyd@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox