From: Jonathan Cameron <jic23@kernel.org>
To: Joshua Crofts <joshua.crofts1@gmail.com>
Cc: "Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Nuno Sá" <noname.nuno@gmail.com>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/8] iio: magnetometer: ak8975: switch to using managed resources
Date: Mon, 11 May 2026 14:12:37 +0100 [thread overview]
Message-ID: <20260511141237.344a387e@jic23-huawei> (raw)
In-Reply-To: <CALoEA-wqzLknSsj-ijzn3LsX7euiJTHcqsVbA7y7LoYiWoT34A@mail.gmail.com>
On Mon, 11 May 2026 09:04:43 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> On Sat, 9 May 2026 at 19:15, Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > On Sat, May 09, 2026 at 10:03:38AM +0100, Nuno Sá wrote:
> > > On Thu, 2026-05-07 at 16:35 +0200, Joshua Crofts via B4 Relay wrote:
> >
> > > > Switch the driver to use managed resources (devm_*) which simplifier
> > > > error handling and allows removing ak8975_remove() method from
> > > > the driver.
> > > >
> > > > Note, on error path we now also set mode to POWER_DOWN state which is
> > > > fine. Even if the device is in that mode, there is no problem to set
> > > > that mode again, it should be no-op.
> > > >
> > > > Additionally, remove any pm_runtime_get/put*() function calls that
> > > > dummy cycled the counter to autosuspend the device.
> >
> > ...
> >
> > > Maybe it would make sense to move this before devm_iio_device_register(). At the
> > > point we register the device, userspace can start to interact with the device where
> > > we have pm calls? Not that it is a problem (I think) but makes sense to me to enable
> > > PM before exposing the device.
> >
> > When you called devm_iio_device_register(), it's already user space interaction
> > there, so device has to be prepared for that. Do we guarantee that device is
> > power enabled at that point?
We should guarantee a couple of things.
1) If runtime PM is not turned on at all - maybe not even built into kernel.
The power should be on. Note that has nothing to with devm_pm_runtime_enable()
2) Any calls that do need the power on and occur after or or in parallel with
runtime PM being enabled ensure they have asked for the power to be on.
Should all be race free if that combination is true.
Jonathan
>
> Okay, I'm all for moving devm_pm_runtime_enable() before
> devm_iio_device_register(),
> it makes sense to set up pm_runtime before opening the driver to
> userspace. I'll push
> out a (hopefully final) fix today so we can wrap up this series.
>
next prev parent reply other threads:[~2026-05-11 13:12 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-07 14:35 [PATCH 0/8] iio: magnetometer: ak8975: driver cleanup Joshua Crofts via B4 Relay
2026-05-07 14:35 ` [PATCH 1/8] iio: magnetometer: ak8975: modernize polling loops with iopoll() macros Joshua Crofts via B4 Relay
2026-05-09 8:48 ` Nuno Sá
2026-05-07 14:35 ` [PATCH 2/8] iio: magnetometer: ak8975: check if gpiod read was successful Joshua Crofts via B4 Relay
2026-05-09 8:49 ` Nuno Sá
2026-05-07 14:35 ` [PATCH 3/8] iio: magnetometer: ak8975: switch to using managed resources Joshua Crofts via B4 Relay
2026-05-08 9:58 ` Andy Shevchenko
2026-05-08 13:51 ` Joshua Crofts
2026-05-09 6:52 ` Andy Shevchenko
2026-05-09 7:47 ` Joshua Crofts
2026-05-09 7:54 ` Andy Shevchenko
2026-05-11 18:17 ` Jonathan Cameron
2026-05-09 9:03 ` Nuno Sá
2026-05-09 13:32 ` Joshua Crofts
2026-05-12 8:07 ` Nuno Sá
2026-05-12 8:12 ` Joshua Crofts
2026-05-12 8:23 ` Andy Shevchenko
2026-05-12 11:15 ` Jonathan Cameron
2026-05-09 17:15 ` Andy Shevchenko
2026-05-11 7:04 ` Joshua Crofts
2026-05-11 13:12 ` Jonathan Cameron [this message]
2026-05-07 14:35 ` [PATCH 4/8] iio: magnetometer: ak8975: consistently use 'data' parameter Joshua Crofts via B4 Relay
2026-05-09 9:04 ` Nuno Sá
2026-05-07 14:35 ` [PATCH 5/8] iio: magnetometer: ak8975: unify messages with help of dev_err_probe() Joshua Crofts via B4 Relay
2026-05-09 9:05 ` Nuno Sá
2026-05-07 14:35 ` [PATCH 6/8] iio: magnetometer: ak8975: use temporary variable for struct device Joshua Crofts via B4 Relay
2026-05-09 9:06 ` Nuno Sá
2026-05-07 14:35 ` [PATCH 7/8] iio: magnetometer: ak8975: add scan mask index enum Joshua Crofts via B4 Relay
2026-05-09 9:07 ` Nuno Sá
2026-05-07 14:35 ` [PATCH 8/8] iio: magnetometer: ak8975: make use of the macros from bits.h Joshua Crofts via B4 Relay
2026-05-09 9:09 ` Nuno Sá
2026-05-09 9:15 ` Joshua Crofts
2026-05-09 17:16 ` Andy Shevchenko
2026-05-08 7:39 ` [PATCH 0/8] iio: magnetometer: ak8975: driver cleanup Andy Shevchenko
2026-05-08 8:59 ` Joshua Crofts
2026-05-08 9:19 ` Andy Shevchenko
2026-05-08 13:34 ` Jonathan Cameron
2026-05-08 13:45 ` Joshua Crofts
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=20260511141237.344a387e@jic23-huawei \
--to=jic23@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=joshua.crofts1@gmail.com \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=noname.nuno@gmail.com \
--cc=nuno.sa@analog.com \
/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