From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Cc: "Jonathan Cameron" <jic23@kernel.org>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 2/4] iio: light: add support for veml6031x00 ALS series
Date: Fri, 14 Aug 2026 10:49:58 +0300 [thread overview]
Message-ID: <an7IpvdXnxzzDknS@ashevche-desk.local> (raw)
In-Reply-To: <DKNPY12RSCH4.2KQCX98171G2H@gmail.com>
On Thu, Aug 13, 2026 at 11:46:32AM +0200, Javier Carrasco wrote:
> Hello Andy, thank you again for your thorough review.
> On Thu Aug 13, 2026 at 8:59 AM CEST, Andy Shevchenko wrote:
> > On Wed, Aug 12, 2026 at 10:27:41PM +0200, Javier Carrasco wrote:
...
> >> + data->regmap = devm_regmap_init_i2c(i2c, &veml6031x00_regmap_config);
> >> + if (IS_ERR(data->regmap))
> >> + return dev_err_probe(dev, PTR_ERR(data->regmap),
> >> + "Failed to set regmap\n");
> >
> > Is debugfs access already enabled for regmap after this call? Perhaps you want
> > mutex to be initialised before that?
>
> Could you please explain what you are trying to avoid? Even if the
> debugfs is already enabled for regmap at this point, what is the
> possible race condition?
That's my question to you. If you think there is none, then we are all good.
Basically the Q is if that mutex (that is initialised later in the probe) is
required for the device IO which might be possible immediately when regmap
is registered.
> The IIO device is still not registered at this
> point, and the registers are set to their right values in _hw_init()
> after the mutexes were initialized. Moving the mutex initialization a
> couple of lines towards the top is not an issue, but I would like to
> understand the reasoning behind.
User may read (and depending on the driver case writing) the register map.
Would it be a problem?
> >> + ret = devm_mutex_init(dev, &data->scale_lock);
> >> + if (ret)
> >> + return ret;
...
> >> +err_pm_put:
> >> + pm_runtime_put_noidle(dev);
> >
> > Hmm... This is usually a red flag to see a goto after devm_*() calls.
>
> Could you please elaborate on this? I am aware of the dangers of a goto
> after the cleanup attribute, but devm_*() calls work on a different
> scope, not local to the function. What could go wrong? This goto is just
> a way not to repeat pm_runtime_put_noidle(); return ret; and I am not
> strongly against repeating these two lines wherever there is a goto, but
> I am not sure what we are avoiding in this case.
No, the goto here may (or may not) lead to the wrong ordering on the cleanup
and/or error paths. It's usually recommended to avoid such a style even if
it works without races in that case. That's why when switching to managed
resources it's highly recommended to wrap everything to be managed (in case
there is no native APIs available) and avoid any flow disruption (goto:s).
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-08-14 7:50 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-12 20:27 [PATCH v6 0/4] iio: light: add support for veml6031x00 ALS series Javier Carrasco
2026-08-12 20:27 ` [PATCH v6 1/4] dt-bindings: iio: light: veml6030: add " Javier Carrasco
2026-08-12 20:27 ` [PATCH v6 2/4] iio: light: add support for " Javier Carrasco
2026-08-13 1:04 ` Jonathan Cameron
2026-08-13 1:27 ` Jonathan Cameron
2026-08-13 7:30 ` Andy Shevchenko
2026-08-13 6:59 ` Andy Shevchenko
2026-08-13 9:46 ` Javier Carrasco
2026-08-14 7:49 ` Andy Shevchenko [this message]
2026-08-14 8:58 ` Javier Carrasco
2026-08-14 9:07 ` Andy Shevchenko
2026-08-14 9:23 ` Javier Carrasco
2026-08-12 20:27 ` [PATCH v6 3/4] iio: light: veml6031x00: add support for triggered buffers Javier Carrasco
2026-08-13 1:09 ` Jonathan Cameron
2026-08-13 8:34 ` Andy Shevchenko
2026-08-12 20:27 ` [PATCH v6 4/4] iio: light: veml6031x00: add support for events and trigger Javier Carrasco
2026-08-12 20:47 ` sashiko-bot
2026-08-13 1:24 ` Jonathan Cameron
2026-08-13 12:43 ` Javier Carrasco
2026-08-13 8:41 ` Andy Shevchenko
2026-08-13 0:48 ` [PATCH v6 0/4] iio: light: add support for veml6031x00 ALS series Jonathan Cameron
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=an7IpvdXnxzzDknS@ashevche-desk.local \
--to=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=javier.carrasco.cruz@gmail.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@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