On Tue, Dec 08, 2020 at 11:10:12PM +0900, Bongsu Jeon wrote: > From: Bongsu Jeon <bongsu.jeon@xxxxxxxxxxx> > > For the flexible control of interrupt trigger type, remove the hard coded > interrupt trigger type in the i2c module. The trigger type will be loaded > from a dts. > > Signed-off-by: Bongsu Jeon <bongsu.jeon@xxxxxxxxxxx> > --- > drivers/nfc/s3fwrn5/i2c.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/nfc/s3fwrn5/i2c.c b/drivers/nfc/s3fwrn5/i2c.c > index e1bdde105f24..42f1f610ac2c 100644 > --- a/drivers/nfc/s3fwrn5/i2c.c > +++ b/drivers/nfc/s3fwrn5/i2c.c > @@ -179,6 +179,8 @@ static int s3fwrn5_i2c_probe(struct i2c_client *client, > const struct i2c_device_id *id) > { > struct s3fwrn5_i2c_phy *phy; > + struct irq_data *irq_data; > + unsigned long irqflags; > int ret; > > phy = devm_kzalloc(&client->dev, sizeof(*phy), GFP_KERNEL); > @@ -212,8 +214,11 @@ static int s3fwrn5_i2c_probe(struct i2c_client *client, > if (ret < 0) > return ret; > > + irq_data = irq_get_irq_data(client->irq); > + irqflags = irqd_get_trigger_type(irq_data) | IRQF_ONESHOT; This patch is wrong and should not be applied. David, please give few days to review the patches. :) The irqd_get_trigger_type is not necessary. I'll send follow ups to correct this. Best regards, Krzysztof > + > ret = devm_request_threaded_irq(&client->dev, phy->i2c_dev->irq, NULL, > - s3fwrn5_i2c_irq_thread_fn, IRQF_TRIGGER_HIGH | IRQF_ONESHOT, > + s3fwrn5_i2c_irq_thread_fn, irqflags, > S3FWRN5_I2C_DRIVER_NAME, phy); > if (ret) > s3fwrn5_remove(phy->common.ndev); > -- > 2.17.1 >