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

From: Jakub Kicinski <[email-masked]>
Date: Mon, 16 Mar 2026 19:26:09 -0700

On Thu, 12 Mar 2026 10:51:35 +0800 Carl Lee via B4 Relay wrote:
> From: Carl Lee <[email-masked]>
> 
> 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