|
@@ -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);
|
|
|
}
|