aboutsummaryrefslogtreecommitdiff
path: root/drivers/iio/accel/st_accel_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/accel/st_accel_core.c')
-rw-r--r--drivers/iio/accel/st_accel_core.c12
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)