When CONFIG_PM_RUNTIME is not defined and bmg160 tries to power off the device, bmg160_set_power_state will call pm_runtime_put_autosuspend, which is not implemented (wil return -ENOSYS). Only call bmg160_set_power_state when CONFIG_PM_RUNTIME is defined. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> --- drivers/iio/gyro/bmg160.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/iio/gyro/bmg160.c b/drivers/iio/gyro/bmg160.c index 7524698..e41d6b5 100644 --- a/drivers/iio/gyro/bmg160.c +++ b/drivers/iio/gyro/bmg160.c @@ -235,6 +235,7 @@ static int bmg160_chip_init(struct bmg160_data *data) return 0; } +#ifdef CONFIG_PM_RUNTIME static int bmg160_set_power_state(struct bmg160_data *data, bool on) { int ret; @@ -254,6 +255,12 @@ static int bmg160_set_power_state(struct bmg160_data *data, bool on) return 0; } +#else +static int bmg160_set_power_state(struct bmg160_data *data, bool on) +{ + return 0; +} +#endif static int bmg160_setup_any_motion_interrupt(struct bmg160_data *data, bool status) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html