diff options
Diffstat (limited to 'drivers/iio/accel/st_accel_core.c')
-rw-r--r-- | drivers/iio/accel/st_accel_core.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c index 1d77a623a5b8..ca5f6927e7a8 100644 --- a/drivers/iio/accel/st_accel_core.c +++ b/drivers/iio/accel/st_accel_core.c @@ -22,7 +22,7 @@ #include <linux/iio/sysfs.h> #include <linux/iio/trigger.h> #include <linux/iio/buffer.h> - +#include <linux/pm_runtime.h> #include <linux/iio/common/st_sensors.h> #include "st_accel.h" @@ -717,7 +717,7 @@ int st_accel_common_probe(struct iio_dev *indio_dev) indio_dev->info = &accel_info; mutex_init(&adata->tb.buf_lock); - err = st_sensors_power_init(indio_dev); + err = st_sensors_pm_init(indio_dev); if (err) return err; @@ -762,7 +762,9 @@ int st_accel_common_probe(struct iio_dev *indio_dev) dev_info(&indio_dev->dev, "registered accelerometer %s\n", indio_dev->name); - return st_sensors_power_disable(indio_dev); + pm_runtime_put(indio_dev->dev.parent); + + return 0; st_accel_device_register_error: if (irq > 0) @@ -770,7 +772,7 @@ st_accel_device_register_error: st_accel_probe_trigger_error: st_accel_deallocate_ring(indio_dev); st_accel_power_off: - st_sensors_power_disable(indio_dev); + st_sensors_pm_disable(indio_dev); return err; } @@ -780,7 +782,7 @@ void st_accel_common_remove(struct iio_dev *indio_dev) { struct st_sensor_data *adata = iio_priv(indio_dev); - st_sensors_power_disable(indio_dev); + st_sensors_pm_disable(indio_dev); iio_device_unregister(indio_dev); if (adata->get_irq_data_ready(indio_dev) > 0) |