imu: inv_mpu6050: use devm_request_irq
authorVarka Bhadram <varkabhadram@gmail.com>
Thu, 22 Jan 2015 03:38:03 +0000 (09:08 +0530)
committerJonathan Cameron <jic23@kernel.org>
Tue, 27 Jan 2015 18:49:57 +0000 (18:49 +0000)
This patch use the devres API for requesting an IRQ.

Signed-off-by: Varka Bhadram <varkab@cdac.in>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c

index c827d21f7381db61c2e398c71f953b4cb3745e87..ab8c85a2a5f86cf832eeae5379c6853ebc519a20 100644 (file)
@@ -124,10 +124,11 @@ int inv_mpu6050_probe_trigger(struct iio_dev *indio_dev)
                ret = -ENOMEM;
                goto error_ret;
        }
-       ret = request_irq(st->client->irq, &iio_trigger_generic_data_rdy_poll,
-                               IRQF_TRIGGER_RISING,
-                               "inv_mpu",
-                               st->trig);
+       ret = devm_request_irq(&indio_dev->dev, st->client->irq,
+                              &iio_trigger_generic_data_rdy_poll,
+                              IRQF_TRIGGER_RISING,
+                              "inv_mpu",
+                              st->trig);
        if (ret)
                goto error_ret;
        st->trig->dev.parent = &st->client->dev;
@@ -135,13 +136,11 @@ int inv_mpu6050_probe_trigger(struct iio_dev *indio_dev)
        iio_trigger_set_drvdata(st->trig, indio_dev);
        ret = iio_trigger_register(st->trig);
        if (ret)
-               goto error_free_irq;
+               goto error_ret;
        indio_dev->trig = iio_trigger_get(st->trig);
 
        return 0;
 
-error_free_irq:
-       free_irq(st->client->irq, st->trig);
 error_ret:
        return ret;
 }
@@ -149,5 +148,4 @@ error_ret:
 void inv_mpu6050_remove_trigger(struct inv_mpu6050_state *st)
 {
        iio_trigger_unregister(st->trig);
-       free_irq(st->client->irq, st->trig);
 }