nfc: fdp: Move i2c client irq checking
authorChristophe Ricard <christophe.ricard@gmail.com>
Wed, 23 Dec 2015 22:45:22 +0000 (23:45 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Tue, 29 Dec 2015 18:06:21 +0000 (19:06 +0100)
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>
drivers/nfc/fdp/i2c.c

index 532db28145c7dafee6350fb44ca52ca4052644e4..5e797d5c38edce00356702bde47814a30d651d80 100644 (file)
@@ -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);