From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Tsz Shan Chan <tsz.chan.dev@gmail.com>
Cc: "Jonathan Cameron" <jic23@kernel.org>,
"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,
"Tsz Shan Chan" <tchan@jacques.com.au>
Subject: Re: [PATCH 2/2] iio: light: vcnl4000: add shared IRQ support
Date: Tue, 11 Aug 2026 12:49:37 +0300 [thread overview]
Message-ID: <anrwMci5d2VW56-X@ashevche-desk.local> (raw)
In-Reply-To: <20260811-vcnl4000-v1-2-50e7fb657692@jacques.com.au>
On Tue, Aug 11, 2026 at 05:07:25PM +1000, Tsz Shan Chan wrote:
> Use the IRQ trigger type set by firmware instead, and fall back to
> IRQF_TRIGGER_FALLING if no trigger type is specified to maintain current
> behaviour.
>
> Support IRQF_TRIGGER_FALLING and IRQF_TRIGGER_LOW, which match the open
> drain active low interrupt output. Reject unsupported trigger types.
Can you elaborate with the reference to datasheet if the HW support this
type of IRQ? In such a case, how does HW know which type to trigger?
> Request the interrupt with IRQF_SHARED, and return IRQ_NONE in the irq
> handler when there is no interrupt pending.
...
> ret = i2c_smbus_read_word_data(data->client, data->chip_spec->int_reg);
> - if (ret < 0)
> - return IRQ_HANDLED;
> + if (ret <= 0)
I haven't seen mention of this change in the commit message. Is it related
somehow to the trigger type? How?
> + return IRQ_NONE;
...
> ret = i2c_smbus_read_byte_data(data->client, VCNL4010_ISR);
> - if (ret < 0)
> - goto end;
> + if (ret <= 0)
> + return IRQ_NONE;
Ditto.
> isr = ret;
...
> if (client->irq && data->chip_spec->irq_thread) {
> + u32 irq_type = irq_get_trigger_type(client->irq);
> +
> + switch (irq_type) {
> + case IRQF_TRIGGER_FALLING:
Hmm... Do you have a case with edge sharing interrupts IRL? I think it's
a brain damage setup if it exists.
> + case IRQF_TRIGGER_LOW:
> + break;
> + case IRQF_TRIGGER_NONE:
> + irq_type = IRQF_TRIGGER_FALLING;
Ditto.
> + break;
> + default:
> + return dev_err_probe(dev, -EINVAL,
> + "unsupported irq trigger type %x\n",
> + irq_type);
Broken indentation.
> + }
> ret = devm_request_threaded_irq(dev, client->irq, NULL,
> data->chip_spec->irq_thread,
> - IRQF_TRIGGER_FALLING |
> - IRQF_ONESHOT,
> + IRQF_ONESHOT | IRQF_SHARED |
Also assign these above in a separate line, so this will be just irq_flags (and
name it irq_flags as IRQF_ stands for).
> + irq_type,
> "vcnl4000_irq",
> indio_dev);
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-08-11 9:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-11 7:07 [PATCH 0/2] iio: light: vcnl4000: shared IRQ support Tsz Shan Chan
2026-08-11 7:07 ` [PATCH 1/2] iio: light: vcnl4000: use correct channel array size Tsz Shan Chan
2026-08-11 9:53 ` Andy Shevchenko
2026-08-12 3:39 ` Jonathan Cameron
2026-08-13 0:22 ` Tsz Shan Chan
2026-08-11 7:07 ` [PATCH 2/2] iio: light: vcnl4000: add shared IRQ support Tsz Shan Chan
2026-08-11 9:49 ` Andy Shevchenko [this message]
2026-08-12 3:50 ` Jonathan Cameron
2026-08-13 2:37 ` Tsz Shan Chan
2026-08-13 8:30 ` Andy Shevchenko
2026-08-14 1:37 ` Tsz Shan Chan
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=anrwMci5d2VW56-X@ashevche-desk.local \
--to=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=tchan@jacques.com.au \
--cc=tsz.chan.dev@gmail.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 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.