Re: [PATCH v2] nfc: nxp-nci: i2c: restore IRQ trigger fallback

From: Jakub Kicinski

Date: Mon Mar 16 2026 - 22:26:54 EST


On Thu, 12 Mar 2026 10:51:35 +0800 Carl Lee via B4 Relay wrote:
> From: Carl Lee <carl.lee@xxxxxxx>
>
> The driver previously relied on IRQF_TRIGGER_RISING when requesting
> the interrupt. This was removed to rely on the trigger type provided
> by firmware.
>
> However, some platforms do not propagate the interrupt trigger type
> to the IRQ descriptor, resulting in interrupts not being triggered.
>
> Use the trigger type provided by firmware when available and fall
> back to the historically used rising-edge trigger otherwise.

Sounds like a regression, if you can please mention which platform you
hit the issue on, and please repost with a Fixes tag, presumably:

Fixes: 57be33f85e36 ("nfc: nxp-nci: remove interrupt trigger type")


> diff --git a/drivers/nfc/nxp-nci/i2c.c b/drivers/nfc/nxp-nci/i2c.c
> index 6a5ce8ff91f0..7aaab92c616c 100644
> --- a/drivers/nfc/nxp-nci/i2c.c
> +++ b/drivers/nfc/nxp-nci/i2c.c
> @@ -16,6 +16,7 @@
> #include <linux/delay.h>
> #include <linux/i2c.h>
> #include <linux/interrupt.h>
> +#include <linux/irq.h>
> #include <linux/module.h>
> #include <linux/nfc.h>
> #include <linux/gpio/consumer.h>
> @@ -268,6 +269,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client)
> struct device *dev = &client->dev;
> struct nxp_nci_i2c_phy *phy;
> int r;
> + unsigned long irqflags;

nit: when you repost please order the variable lines longest to shortest

struct device *dev = &client->dev;
struct nxp_nci_i2c_phy *phy;
+ unsigned long irqflags;
int r;
--
pw-bot: cr