OSDN Git Service

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 6d3d8e4..bdfbd54 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 ee8ea70..4585e20 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");