imu: inv_mpu6050: use devm_iio_trigger_alloc
authorVarka Bhadram <varkabhadram@gmail.com>
Thu, 22 Jan 2015 03:38:02 +0000 (09:08 +0530)
committerJonathan Cameron <jic23@kernel.org>
Tue, 27 Jan 2015 18:49:57 +0000 (18:49 +0000)
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 926fccea8de0233bc955da2ea7c5dc903098f76f..c827d21f7381db61c2e398c71f953b4cb3745e87 100644 (file)
@@ -116,9 +116,10 @@ int inv_mpu6050_probe_trigger(struct iio_dev *indio_dev)
        int ret;
        struct inv_mpu6050_state *st = iio_priv(indio_dev);
 
-       st->trig = iio_trigger_alloc("%s-dev%d",
-                                       indio_dev->name,
-                                       indio_dev->id);
+       st->trig = devm_iio_trigger_alloc(&indio_dev->dev,
+                                         "%s-dev%d",
+                                         indio_dev->name,
+                                         indio_dev->id);
        if (st->trig == NULL) {
                ret = -ENOMEM;
                goto error_ret;
@@ -128,7 +129,7 @@ int inv_mpu6050_probe_trigger(struct iio_dev *indio_dev)
                                "inv_mpu",
                                st->trig);
        if (ret)
-               goto error_free_trig;
+               goto error_ret;
        st->trig->dev.parent = &st->client->dev;
        st->trig->ops = &inv_mpu_trigger_ops;
        iio_trigger_set_drvdata(st->trig, indio_dev);
@@ -141,8 +142,6 @@ int inv_mpu6050_probe_trigger(struct iio_dev *indio_dev)
 
 error_free_irq:
        free_irq(st->client->irq, st->trig);
-error_free_trig:
-       iio_trigger_free(st->trig);
 error_ret:
        return ret;
 }
@@ -151,5 +150,4 @@ void inv_mpu6050_remove_trigger(struct inv_mpu6050_state *st)
 {
        iio_trigger_unregister(st->trig);
        free_irq(st->client->irq, st->trig);
-       iio_trigger_free(st->trig);
 }