summaryrefslogtreecommitdiff
path: root/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c')
-rw-r--r--drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c
index 436f09e0060..11e9fc96e81 100644
--- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c
+++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_i2c.c
@@ -127,8 +127,25 @@ static int st_lsm6ds3_resume(struct device *dev)
return st_lsm6ds3_common_resume(cdata);
}
+static int st_lsm6ds3_suspend_noirq(struct device *dev)
+{
+ struct lsm6ds3_data *cdata = i2c_get_clientdata(to_i2c_client(dev));
+
+ return st_lsm6ds3_common_suspend_noirq(cdata);
+}
+
+static int st_lsm6ds3_resume_noirq(struct device *dev)
+{
+ struct lsm6ds3_data *cdata = i2c_get_clientdata(to_i2c_client(dev));
+
+ return st_lsm6ds3_common_resume_noirq(cdata);
+}
+
static const struct dev_pm_ops st_lsm6ds3_pm_ops = {
- SET_SYSTEM_SLEEP_PM_OPS(st_lsm6ds3_suspend, st_lsm6ds3_resume)
+ .suspend = st_lsm6ds3_suspend,
+ .resume = st_lsm6ds3_resume,
+ .suspend_noirq = st_lsm6ds3_suspend_noirq,
+ .resume_noirq = st_lsm6ds3_resume_noirq
};
#define ST_LSM6DS3_PM_OPS (&st_lsm6ds3_pm_ops)