Commit 1af9fea6 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Samuel Ortiz

NFC: st-nci: Get rid of "interesting" use of interrupt polarity

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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 61a04101
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
#include <linux/of_irq.h>
#include <linux/of_gpio.h> #include <linux/of_gpio.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
...@@ -51,7 +50,6 @@ struct st_nci_i2c_phy { ...@@ -51,7 +50,6 @@ struct st_nci_i2c_phy {
bool irq_active; bool irq_active;
unsigned int gpio_reset; unsigned int gpio_reset;
unsigned int irq_polarity;
struct st_nci_se_status se_status; struct st_nci_se_status se_status;
}; };
...@@ -225,8 +223,6 @@ static int st_nci_i2c_acpi_request_resources(struct i2c_client *client) ...@@ -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->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_ese_present = false;
phy->se_status.is_uicc_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) ...@@ -271,8 +267,6 @@ static int st_nci_i2c_of_request_resources(struct i2c_client *client)
} }
phy->gpio_reset = gpio; phy->gpio_reset = gpio;
phy->irq_polarity = irq_get_trigger_type(client->irq);
phy->se_status.is_ese_present = phy->se_status.is_ese_present =
of_property_read_bool(pp, "ese-present"); of_property_read_bool(pp, "ese-present");
phy->se_status.is_uicc_present = phy->se_status.is_uicc_present =
...@@ -333,7 +327,7 @@ static int st_nci_i2c_probe(struct i2c_client *client, ...@@ -333,7 +327,7 @@ static int st_nci_i2c_probe(struct i2c_client *client,
phy->irq_active = true; phy->irq_active = true;
r = devm_request_threaded_irq(&client->dev, client->irq, NULL, r = devm_request_threaded_irq(&client->dev, client->irq, NULL,
st_nci_irq_thread_fn, st_nci_irq_thread_fn,
phy->irq_polarity | IRQF_ONESHOT, IRQF_ONESHOT,
ST_NCI_DRIVER_NAME, phy); ST_NCI_DRIVER_NAME, phy);
if (r < 0) if (r < 0)
nfc_err(&client->dev, "Unable to register IRQ handler\n"); nfc_err(&client->dev, "Unable to register IRQ handler\n");
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
#include <linux/of_irq.h>
#include <linux/of_gpio.h> #include <linux/of_gpio.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
...@@ -52,7 +51,6 @@ struct st_nci_spi_phy { ...@@ -52,7 +51,6 @@ struct st_nci_spi_phy {
bool irq_active; bool irq_active;
unsigned int gpio_reset; unsigned int gpio_reset;
unsigned int irq_polarity;
struct st_nci_se_status se_status; struct st_nci_se_status se_status;
}; };
...@@ -240,8 +238,6 @@ static int st_nci_spi_acpi_request_resources(struct spi_device *spi_dev) ...@@ -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->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_ese_present = false;
phy->se_status.is_uicc_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) ...@@ -286,8 +282,6 @@ static int st_nci_spi_of_request_resources(struct spi_device *dev)
} }
phy->gpio_reset = gpio; phy->gpio_reset = gpio;
phy->irq_polarity = irq_get_trigger_type(dev->irq);
phy->se_status.is_ese_present = phy->se_status.is_ese_present =
of_property_read_bool(pp, "ese-present"); of_property_read_bool(pp, "ese-present");
phy->se_status.is_uicc_present = phy->se_status.is_uicc_present =
...@@ -349,7 +343,7 @@ static int st_nci_spi_probe(struct spi_device *dev) ...@@ -349,7 +343,7 @@ static int st_nci_spi_probe(struct spi_device *dev)
phy->irq_active = true; phy->irq_active = true;
r = devm_request_threaded_irq(&dev->dev, dev->irq, NULL, r = devm_request_threaded_irq(&dev->dev, dev->irq, NULL,
st_nci_irq_thread_fn, st_nci_irq_thread_fn,
phy->irq_polarity | IRQF_ONESHOT, IRQF_ONESHOT,
ST_NCI_SPI_DRIVER_NAME, phy); ST_NCI_SPI_DRIVER_NAME, phy);
if (r < 0) if (r < 0)
nfc_err(&dev->dev, "Unable to register IRQ handler\n"); nfc_err(&dev->dev, "Unable to register IRQ handler\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment