From: "Javier Carrasco" <javier.carrasco.cruz@gmail.com>
To: "Andy Shevchenko" <andriy.shevchenko@intel.com>,
"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 v5 4/4] iio: light: veml6031x00: add support for events and trigger
Date: Tue, 11 Aug 2026 01:09:29 +0200 [thread overview]
Message-ID: <DKLN56PMUK93.20VF8V664A37X@gmail.com> (raw)
In-Reply-To: <annvIc7WLeWEDCAC@ashevche-desk.local>
On Mon Aug 10, 2026 at 5:32 PM CEST, Andy Shevchenko wrote:
> On Fri, Aug 07, 2026 at 03:51:55PM +0200, Javier Carrasco wrote:
>> The device provides a shared interrupt line for to notify events and
>> data ready, which can be used as a trigger. The interrupt line is not a
>> requirement for the device to work. Implement variants for the cases
>> whether the interrupt line is provided or not.
>
> ...
>
...
>> +static int veml6031x00_write_th(struct iio_dev *iio, int val, int val2, int dir)
>> +{
>> + struct veml6031x00_data *data = iio_priv(iio);
>> + __le16 regval = cpu_to_le16(val);
>
> There is no technical need to assign it here, especially if the below
> validation won't pass, but it doesn't have any side effects, so I guess
> it's fine.
>
I will assign it after the val check instead.
>> + int ret;
>> +
>> + if (val < 0 || val > U16_MAX || val2)
>> + return -EINVAL;
>> +
>> + if (dir == IIO_EV_DIR_RISING) {
>> + ret = regmap_bulk_write(data->regmap, VEML6031X00_REG_WH_L,
>> + ®val, sizeof(regval));
>> + if (ret)
>> + dev_dbg(regmap_get_device(data->regmap),
>> + "Failed to set high threshold %d\n", ret);
>> + } else {
>> + ret = regmap_bulk_write(data->regmap, VEML6031X00_REG_WL_L,
>> + ®val, sizeof(regval));
>> + if (ret)
>> + dev_dbg(regmap_get_device(data->regmap),
>> + "Failed to set low threshold %d\n", ret);
>> + }
>> +
>> + return ret;
>> +}
>
> ...
>
>> +static int veml6031x00_set_interrupt(struct veml6031x00_data *data, bool state)
>> + __must_hold(&data->irq_lock)
>
> The sparse annotations is fine, but lockdep one is even better.
>
I have seen a few instances in a number of subsystems where both are used
at the same time. What is the preferred alternative here?
>> +{
>> + int ret;
>> +
>> + if (state) {
>> + data->int_users++;
>> + if (data->int_users > 1)
>> + return 0;
>> + } else {
>> + data->int_users--;
>> + if (data->int_users > 0)
>> + return 0;
>> + }
>> +
>> + ret = regmap_field_write(data->rf.int_en, state);
>> + if (ret) {
>> + if (state)
>> + data->int_users--;
>> + else
>> + data->int_users++;
>> + }
>> +
>> + return ret;
>> +}
>
Best regards,
Javier
next prev parent reply other threads:[~2026-08-10 23:09 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 13:51 [PATCH v5 0/4] iio: light: add support for veml6031x00 ALS series Javier Carrasco
2026-08-07 13:51 ` [PATCH v5 1/4] dt-bindings: iio: light: veml6030: add " Javier Carrasco
2026-08-07 14:06 ` sashiko-bot
2026-08-07 14:34 ` Javier Carrasco
2026-08-07 15:33 ` Rob Herring (Arm)
2026-08-10 6:23 ` Krzysztof Kozlowski
2026-08-10 7:23 ` Javier Carrasco
2026-08-07 13:51 ` [PATCH v5 2/4] iio: light: add support for " Javier Carrasco
2026-08-07 14:19 ` sashiko-bot
2026-08-07 14:53 ` Javier Carrasco
2026-08-07 21:02 ` Uwe Kleine-König
2026-08-10 13:38 ` Andy Shevchenko
2026-08-10 23:06 ` Javier Carrasco
2026-08-11 5:40 ` Andy Shevchenko
2026-08-07 13:51 ` [PATCH v5 3/4] iio: light: veml6031x00: add support for triggered buffers Javier Carrasco
2026-08-07 14:49 ` sashiko-bot
2026-08-07 20:33 ` Javier Carrasco
2026-08-07 13:51 ` [PATCH v5 4/4] iio: light: veml6031x00: add support for events and trigger Javier Carrasco
2026-08-07 15:08 ` sashiko-bot
2026-08-08 6:35 ` Javier Carrasco
2026-08-10 15:32 ` Andy Shevchenko
2026-08-10 23:09 ` Javier Carrasco [this message]
2026-08-11 5:42 ` Andy Shevchenko
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=DKLN56PMUK93.20VF8V664A37X@gmail.com \
--to=javier.carrasco.cruz@gmail.com \
--cc=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.