NFC: st-nci: Get rid of "interesting" use of interrupt polarity
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 19 Jun 2017 10:08:53 +0000 (13:08 +0300)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 22 Jun 2017 21:51:45 +0000 (23:51 +0200)
I2C and SPI frameworks followed by IRQ framework do set
interrupt polarity correctly if it's properly specified in firmware
(ACPI or DT).

Get rid of the redundant trick when requesting interrupt.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/nfc/st-nci/i2c.c
drivers/nfc/st-nci/spi.c

index 6d3d8e43fa50475670edd08bad91f8c99a54d3cf..bdfbd543e671ff78c5ac809873666b4dc781d24b 100644 (file)
@@ -21,7 +21,6 @@
 #include <linux/i2c.h>
 #include <linux/gpio.h>
 #include <linux/gpio/consumer.h>
-#include <linux/of_irq.h>
 #include <linux/of_gpio.h>
 #include <linux/acpi.h>
 #include <linux/interrupt.h>
@@ -51,7 +50,6 @@ struct st_nci_i2c_phy {
        bool irq_active;
 
        unsigned int gpio_reset;
-       unsigned int irq_polarity;
 
        struct st_nci_se_status se_status;
 };
@@ -225,8 +223,6 @@ static int st_nci_i2c_acpi_request_resources(struct i2c_client *client)
 
        phy->gpio_reset = desc_to_gpio(gpiod_reset);
 
-       phy->irq_polarity = irq_get_trigger_type(client->irq);
-
        phy->se_status.is_ese_present = false;
        phy->se_status.is_uicc_present = false;
 
@@ -271,8 +267,6 @@ static int st_nci_i2c_of_request_resources(struct i2c_client *client)
        }
        phy->gpio_reset = gpio;
 
-       phy->irq_polarity = irq_get_trigger_type(client->irq);
-
        phy->se_status.is_ese_present =
                                of_property_read_bool(pp, "ese-present");
        phy->se_status.is_uicc_present =
@@ -333,7 +327,7 @@ static int st_nci_i2c_probe(struct i2c_client *client,
        phy->irq_active = true;
        r = devm_request_threaded_irq(&client->dev, client->irq, NULL,
                                st_nci_irq_thread_fn,
-                               phy->irq_polarity | IRQF_ONESHOT,
+                               IRQF_ONESHOT,
                                ST_NCI_DRIVER_NAME, phy);
        if (r < 0)
                nfc_err(&client->dev, "Unable to register IRQ handler\n");
index ee8ea708d5b7797a88d1e1a1ccd882a52d840c3b..4585e205778baf8a438144e7cbe22b95df71b4f1 100644 (file)
@@ -21,7 +21,6 @@
 #include <linux/spi/spi.h>
 #include <linux/gpio.h>
 #include <linux/gpio/consumer.h>
-#include <linux/of_irq.h>
 #include <linux/of_gpio.h>
 #include <linux/acpi.h>
 #include <linux/interrupt.h>
@@ -52,7 +51,6 @@ struct st_nci_spi_phy {
        bool irq_active;
 
        unsigned int gpio_reset;
-       unsigned int irq_polarity;
 
        struct st_nci_se_status se_status;
 };
@@ -240,8 +238,6 @@ static int st_nci_spi_acpi_request_resources(struct spi_device *spi_dev)
 
        phy->gpio_reset = desc_to_gpio(gpiod_reset);
 
-       phy->irq_polarity = irq_get_trigger_type(spi_dev->irq);
-
        phy->se_status.is_ese_present = false;
        phy->se_status.is_uicc_present = false;
 
@@ -286,8 +282,6 @@ static int st_nci_spi_of_request_resources(struct spi_device *dev)
        }
        phy->gpio_reset = gpio;
 
-       phy->irq_polarity = irq_get_trigger_type(dev->irq);
-
        phy->se_status.is_ese_present =
                                of_property_read_bool(pp, "ese-present");
        phy->se_status.is_uicc_present =
@@ -349,7 +343,7 @@ static int st_nci_spi_probe(struct spi_device *dev)
        phy->irq_active = true;
        r = devm_request_threaded_irq(&dev->dev, dev->irq, NULL,
                                st_nci_irq_thread_fn,
-                               phy->irq_polarity | IRQF_ONESHOT,
+                               IRQF_ONESHOT,
                                ST_NCI_SPI_DRIVER_NAME, phy);
        if (r < 0)
                nfc_err(&dev->dev, "Unable to register IRQ handler\n");