[PATCH v4 1/1] iio: dac: Remove redundant pm_runtime_mark_last_busy() calls
Sakari Ailus
sakari.ailus at linux.intel.com
Mon Aug 25 13:52:35 PDT 2025
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Also clean up error handling in stm32_dac_set_enable_state().
Signed-off-by: Sakari Ailus <sakari.ailus at linux.intel.com>
---
since v3:
- Fix condition for calling pm_runtime_put_autosuspend().
drivers/iio/dac/stm32-dac.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/drivers/iio/dac/stm32-dac.c b/drivers/iio/dac/stm32-dac.c
index 344388338d9b..874e6dcc0d61 100644
--- a/drivers/iio/dac/stm32-dac.c
+++ b/drivers/iio/dac/stm32-dac.c
@@ -82,9 +82,9 @@ static int stm32_dac_set_enable_state(struct iio_dev *indio_dev, int ch,
ret = regmap_update_bits(dac->common->regmap, STM32_DAC_CR, msk, en);
mutex_unlock(&dac->lock);
- if (ret < 0) {
+ if (ret) {
dev_err(&indio_dev->dev, "%s failed\n", str_enable_disable(en));
- goto err_put_pm;
+ goto err_pm_put;
}
/*
@@ -95,18 +95,9 @@ static int stm32_dac_set_enable_state(struct iio_dev *indio_dev, int ch,
if (en && dac->common->hfsel)
udelay(1);
- if (!enable) {
- pm_runtime_mark_last_busy(dev);
- pm_runtime_put_autosuspend(dev);
- }
-
- return 0;
-
-err_put_pm:
- if (enable) {
- pm_runtime_mark_last_busy(dev);
+err_pm_put:
+ if (!enable || (enable && ret))
pm_runtime_put_autosuspend(dev);
- }
return ret;
}
@@ -349,7 +340,6 @@ static int stm32_dac_probe(struct platform_device *pdev)
if (ret)
goto err_pm_put;
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
--
2.47.2
More information about the linux-arm-kernel
mailing list