aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nfc/fdp
diff options
context:
space:
mode:
authorChristophe Ricard <christophe.ricard@gmail.com>2015-12-23 23:45:22 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2015-12-29 19:06:21 +0100
commit0b0a264df5d3854c3e6411c28616d2148c897bad (patch)
treee5dd1468c97c87c39455c7754096261bb328ac0a /drivers/nfc/fdp
parentMAINTAINERS: nfc: Add missing platform_data files references (diff)
downloadlinux-dev-0b0a264df5d3854c3e6411c28616d2148c897bad.tar.xz
linux-dev-0b0a264df5d3854c3e6411c28616d2148c897bad.zip
nfc: fdp: Move i2c client irq checking
It is cleaner to check if the i2c_client irq is not configured properly before allocating any data. Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc/fdp')
-rw-r--r--drivers/nfc/fdp/i2c.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/nfc/fdp/i2c.c b/drivers/nfc/fdp/i2c.c
index 532db28145c7..5e797d5c38ed 100644
--- a/drivers/nfc/fdp/i2c.c
+++ b/drivers/nfc/fdp/i2c.c
@@ -298,6 +298,12 @@ static int fdp_nci_i2c_probe(struct i2c_client *client,
return -ENODEV;
}
+ /* Checking if we have an irq */
+ if (client->irq <= 0) {
+ nfc_err(dev, "IRQ not present\n");
+ return -ENODEV;
+ }
+
phy = devm_kzalloc(dev, sizeof(struct fdp_i2c_phy),
GFP_KERNEL);
if (!phy)
@@ -307,12 +313,6 @@ static int fdp_nci_i2c_probe(struct i2c_client *client,
phy->next_read_size = FDP_NCI_I2C_MIN_PAYLOAD;
i2c_set_clientdata(client, phy);
- /* Checking if we have an irq */
- if (client->irq <= 0) {
- dev_err(dev, "IRQ not present\n");
- return -ENODEV;
- }
-
r = request_threaded_irq(client->irq, NULL, fdp_nci_i2c_irq_thread_fn,
IRQF_TRIGGER_RISING | IRQF_ONESHOT,
FDP_I2C_DRIVER_NAME, phy);