* [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 9:05 ` Jonathan Cameron
2025-07-10 6:46 ` Matti Vaittinen
2025-07-04 7:54 ` [PATCH 28/80] iio: adc: " Sakari Ailus
` (11 subsequent siblings)
12 siblings, 2 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Waqar Hameed, Sakari Ailus, Julien Stephan, Peter Zijlstra,
Bo Liu, Greg KH, Al Viro, Sean Nyekjaer, Marcelo Schmitt,
Rayyan Ansari, Francisco Henriques, Matti Vaittinen
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/accel/bmc150-accel-core.c | 1 -
drivers/iio/accel/bmi088-accel-core.c | 3 ---
drivers/iio/accel/fxls8962af-core.c | 1 -
drivers/iio/accel/kxcjk-1013.c | 1 -
drivers/iio/accel/kxsd9.c | 3 ---
drivers/iio/accel/mma8452.c | 1 -
drivers/iio/accel/mma9551_core.c | 1 -
drivers/iio/accel/msa311.c | 6 ------
8 files changed, 17 deletions(-)
diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
index be5fbb0c5d29..f45beae83f8b 100644
--- a/drivers/iio/accel/bmc150-accel-core.c
+++ b/drivers/iio/accel/bmc150-accel-core.c
@@ -335,7 +335,6 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on)
if (on) {
ret = pm_runtime_resume_and_get(dev);
} else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/accel/bmi088-accel-core.c b/drivers/iio/accel/bmi088-accel-core.c
index dea126f993c1..c7da90af0d2d 100644
--- a/drivers/iio/accel/bmi088-accel-core.c
+++ b/drivers/iio/accel/bmi088-accel-core.c
@@ -375,7 +375,6 @@ static int bmi088_accel_read_raw(struct iio_dev *indio_dev,
return -EINVAL;
out_read_raw_pm_put:
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -419,7 +418,6 @@ static int bmi088_accel_write_raw(struct iio_dev *indio_dev,
return ret;
ret = bmi088_accel_set_scale(data, val, val2);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
case IIO_CHAN_INFO_SAMP_FREQ:
@@ -428,7 +426,6 @@ static int bmi088_accel_write_raw(struct iio_dev *indio_dev,
return ret;
ret = bmi088_accel_set_sample_freq(data, val);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
default:
diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c
index 12598feaa693..8afd151c03ad 100644
--- a/drivers/iio/accel/fxls8962af-core.c
+++ b/drivers/iio/accel/fxls8962af-core.c
@@ -222,7 +222,6 @@ static int fxls8962af_power_off(struct fxls8962af_data *data)
struct device *dev = regmap_get_device(data->regmap);
int ret;
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
if (ret)
dev_err(dev, "failed to power off\n");
diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
index 6aefe8221296..44d770729186 100644
--- a/drivers/iio/accel/kxcjk-1013.c
+++ b/drivers/iio/accel/kxcjk-1013.c
@@ -637,7 +637,6 @@ static int kxcjk1013_set_power_state(struct kxcjk1013_data *data, bool on)
if (on)
ret = pm_runtime_resume_and_get(&data->client->dev);
else {
- pm_runtime_mark_last_busy(&data->client->dev);
ret = pm_runtime_put_autosuspend(&data->client->dev);
}
if (ret < 0) {
diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c
index cfc31265cdd0..4717d80fc24a 100644
--- a/drivers/iio/accel/kxsd9.c
+++ b/drivers/iio/accel/kxsd9.c
@@ -151,7 +151,6 @@ static int kxsd9_write_raw(struct iio_dev *indio_dev,
ret = kxsd9_write_scale(indio_dev, val2);
}
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return ret;
@@ -199,7 +198,6 @@ static int kxsd9_read_raw(struct iio_dev *indio_dev,
}
error_ret:
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return ret;
@@ -250,7 +248,6 @@ static int kxsd9_buffer_postdisable(struct iio_dev *indio_dev)
{
struct kxsd9_state *st = iio_priv(indio_dev);
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return 0;
diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
index aba444a980d9..5863478bab62 100644
--- a/drivers/iio/accel/mma8452.c
+++ b/drivers/iio/accel/mma8452.c
@@ -227,7 +227,6 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
if (on) {
ret = pm_runtime_resume_and_get(&client->dev);
} else {
- pm_runtime_mark_last_busy(&client->dev);
ret = pm_runtime_put_autosuspend(&client->dev);
}
diff --git a/drivers/iio/accel/mma9551_core.c b/drivers/iio/accel/mma9551_core.c
index 3e7d9b79ed0e..22768f43fd24 100644
--- a/drivers/iio/accel/mma9551_core.c
+++ b/drivers/iio/accel/mma9551_core.c
@@ -672,7 +672,6 @@ int mma9551_set_power_state(struct i2c_client *client, bool on)
if (on)
ret = pm_runtime_resume_and_get(&client->dev);
else {
- pm_runtime_mark_last_busy(&client->dev);
ret = pm_runtime_put_autosuspend(&client->dev);
}
diff --git a/drivers/iio/accel/msa311.c b/drivers/iio/accel/msa311.c
index 3e10225410e8..ec70a517c0a9 100644
--- a/drivers/iio/accel/msa311.c
+++ b/drivers/iio/accel/msa311.c
@@ -607,7 +607,6 @@ static int msa311_read_raw_data(struct iio_dev *indio_dev,
err = msa311_get_axis(msa311, chan, &axis);
mutex_unlock(&msa311->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
iio_device_release_direct(indio_dev);
@@ -741,7 +740,6 @@ static int msa311_write_scale(struct iio_dev *indio_dev, int val, int val2)
break;
}
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
if (err)
@@ -781,7 +779,6 @@ static int msa311_write_samp_freq(struct iio_dev *indio_dev, int val, int val2)
break;
}
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
iio_device_release_direct(indio_dev);
@@ -832,7 +829,6 @@ static int msa311_debugfs_reg_access(struct iio_dev *indio_dev,
mutex_unlock(&msa311->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
if (err)
@@ -855,7 +851,6 @@ static int msa311_buffer_postdisable(struct iio_dev *indio_dev)
struct msa311_priv *msa311 = iio_priv(indio_dev);
struct device *dev = msa311->dev;
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
@@ -1231,7 +1226,6 @@ static int msa311_probe(struct i2c_client *i2c)
if (err)
return err;
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
err = devm_iio_device_register(dev, indio_dev);
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 28/80] iio: adc: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
2025-07-04 7:54 ` [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
2025-07-04 9:09 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 29/80] iio: chemical: " Sakari Ailus
` (10 subsequent siblings)
12 siblings, 2 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Linus Walleij, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Eugen Hristev, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Cai Huoqing, Haibo Chen, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Marek Vasut,
Geert Uytterhoeven, Magnus Damm, Lad Prabhakar, Maxime Coquelin,
Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Francesco Dolcini, João Paulo Gonçalves,
Jiri Slaby (SUSE), Fabrice Gasnier, Rob Herring (Arm),
Uwe Kleine-König, Sakari Ailus, Mike Looijmans,
Olivier Moysan, Christophe JAILLET, Julien Stephan
Cc: linux-arm-kernel, linux-iio, linux-kernel, imx, linux-renesas-soc,
linux-stm32, linux-sunxi
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/adc/ab8500-gpadc.c | 1 -
drivers/iio/adc/at91-sama5d2_adc.c | 10 ----------
drivers/iio/adc/imx8qxp-adc.c | 2 --
drivers/iio/adc/imx93_adc.c | 1 -
drivers/iio/adc/rcar-gyroadc.c | 1 -
drivers/iio/adc/rzg2l_adc.c | 3 ---
drivers/iio/adc/stm32-adc-core.c | 1 -
drivers/iio/adc/stm32-adc.c | 7 -------
drivers/iio/adc/sun4i-gpadc-iio.c | 2 --
drivers/iio/adc/ti-ads1015.c | 1 -
drivers/iio/adc/ti-ads1100.c | 1 -
drivers/iio/adc/ti-ads1119.c | 2 --
12 files changed, 32 deletions(-)
diff --git a/drivers/iio/adc/ab8500-gpadc.c b/drivers/iio/adc/ab8500-gpadc.c
index f3b057f92310..8eaa1dd6a89b 100644
--- a/drivers/iio/adc/ab8500-gpadc.c
+++ b/drivers/iio/adc/ab8500-gpadc.c
@@ -607,7 +607,6 @@ static int ab8500_gpadc_read(struct ab8500_gpadc *gpadc,
}
/* This eventually drops the regulator */
- pm_runtime_mark_last_busy(gpadc->dev);
pm_runtime_put_autosuspend(gpadc->dev);
return (high_data << 8) | low_data;
diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c
index c3450246730e..67846fefe21a 100644
--- a/drivers/iio/adc/at91-sama5d2_adc.c
+++ b/drivers/iio/adc/at91-sama5d2_adc.c
@@ -896,7 +896,6 @@ static int at91_adc_config_emr(struct at91_adc_state *st,
emr |= osr | AT91_SAMA5D2_TRACKX(trackx);
at91_adc_writel(st, EMR, emr);
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
st->oversampling_ratio = oversampling_ratio;
@@ -971,7 +970,6 @@ static int at91_adc_configure_touch(struct at91_adc_state *st, bool state)
AT91_SAMA5D2_IER_PEN | AT91_SAMA5D2_IER_NOPEN);
at91_adc_writel(st, TSMR, 0);
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return 0;
}
@@ -1143,7 +1141,6 @@ static int at91_adc_configure_trigger(struct iio_trigger *trig, bool state)
at91_adc_configure_trigger_registers(st, state);
if (!state) {
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
}
@@ -1336,7 +1333,6 @@ static int at91_adc_buffer_prepare(struct iio_dev *indio_dev)
at91_adc_writel(st, IER, AT91_SAMA5D2_IER_DRDY);
pm_runtime_put:
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return ret;
}
@@ -1394,7 +1390,6 @@ static int at91_adc_buffer_postdisable(struct iio_dev *indio_dev)
if (st->dma_st.dma_chan)
dmaengine_terminate_sync(st->dma_st.dma_chan);
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return 0;
@@ -1603,7 +1598,6 @@ static void at91_adc_setup_samp_freq(struct iio_dev *indio_dev, unsigned freq,
mr |= AT91_SAMA5D2_MR_TRACKTIM(tracktim);
at91_adc_writel(st, MR, mr);
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
dev_dbg(&indio_dev->dev, "freq: %u, startup: %u, prescal: %u, tracktim=%u\n",
@@ -1809,7 +1803,6 @@ static int at91_adc_read_info_raw(struct iio_dev *indio_dev,
at91_adc_readl(st, LCDR);
pm_runtime_put:
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return ret;
}
@@ -1890,7 +1883,6 @@ static int at91_adc_read_temp(struct iio_dev *indio_dev,
restore_config:
/* Revert previous settings. */
at91_adc_temp_sensor_configure(st, false);
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
if (ret < 0)
return ret;
@@ -2465,7 +2457,6 @@ static int at91_adc_probe(struct platform_device *pdev)
dev_info(&pdev->dev, "version: %x\n",
readl_relaxed(st->base + st->soc_info.platform->layout->VERSION));
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return 0;
@@ -2567,7 +2558,6 @@ static int at91_adc_resume(struct device *dev)
at91_adc_configure_trigger_registers(st, true);
}
- pm_runtime_mark_last_busy(st->dev);
pm_runtime_put_autosuspend(st->dev);
return 0;
diff --git a/drivers/iio/adc/imx8qxp-adc.c b/drivers/iio/adc/imx8qxp-adc.c
index be13a6ed7e00..d9da24efdcbe 100644
--- a/drivers/iio/adc/imx8qxp-adc.c
+++ b/drivers/iio/adc/imx8qxp-adc.c
@@ -229,7 +229,6 @@ static int imx8qxp_adc_read_raw(struct iio_dev *indio_dev,
ret = wait_for_completion_interruptible_timeout(&adc->completion,
IMX8QXP_ADC_TIMEOUT);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_sync_autosuspend(dev);
if (ret == 0) {
@@ -295,7 +294,6 @@ static int imx8qxp_adc_reg_access(struct iio_dev *indio_dev, unsigned int reg,
*readval = readl(adc->regs + reg);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_sync_autosuspend(dev);
return 0;
diff --git a/drivers/iio/adc/imx93_adc.c b/drivers/iio/adc/imx93_adc.c
index 7feaafd2316f..bb5bd22269b9 100644
--- a/drivers/iio/adc/imx93_adc.c
+++ b/drivers/iio/adc/imx93_adc.c
@@ -248,7 +248,6 @@ static int imx93_adc_read_raw(struct iio_dev *indio_dev,
mutex_lock(&adc->lock);
ret = imx93_adc_read_channel_conversion(adc, chan->channel, val);
mutex_unlock(&adc->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_sync_autosuspend(dev);
if (ret < 0)
return ret;
diff --git a/drivers/iio/adc/rcar-gyroadc.c b/drivers/iio/adc/rcar-gyroadc.c
index cc326f21d398..467c6a9213ab 100644
--- a/drivers/iio/adc/rcar-gyroadc.c
+++ b/drivers/iio/adc/rcar-gyroadc.c
@@ -166,7 +166,6 @@ static int rcar_gyroadc_set_power(struct rcar_gyroadc *priv, bool on)
if (on) {
return pm_runtime_resume_and_get(dev);
} else {
- pm_runtime_mark_last_busy(dev);
return pm_runtime_put_autosuspend(dev);
}
}
diff --git a/drivers/iio/adc/rzg2l_adc.c b/drivers/iio/adc/rzg2l_adc.c
index 9674d48074c9..29264a410def 100644
--- a/drivers/iio/adc/rzg2l_adc.c
+++ b/drivers/iio/adc/rzg2l_adc.c
@@ -249,7 +249,6 @@ static int rzg2l_adc_conversion(struct iio_dev *indio_dev, struct rzg2l_adc *adc
rzg2l_adc_start_stop(adc, false);
rpm_put:
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
@@ -411,7 +410,6 @@ static int rzg2l_adc_hw_init(struct device *dev, struct rzg2l_adc *adc)
rzg2l_adc_writel(adc, RZG2L_ADM(3), reg);
exit_hw_init:
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
@@ -591,7 +589,6 @@ static int rzg2l_adc_resume(struct device *dev)
rpm_restore:
if (adc->was_rpm_active) {
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
}
resets_restore:
diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c
index dea166c53369..b42fee4a4695 100644
--- a/drivers/iio/adc/stm32-adc-core.c
+++ b/drivers/iio/adc/stm32-adc-core.c
@@ -795,7 +795,6 @@ static int stm32_adc_probe(struct platform_device *pdev)
goto err_irq_remove;
}
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c
index 588c69e175f5..54147d0afc0f 100644
--- a/drivers/iio/adc/stm32-adc.c
+++ b/drivers/iio/adc/stm32-adc.c
@@ -1528,7 +1528,6 @@ static int stm32_adc_single_conv(struct iio_dev *indio_dev,
stm32_adc_conv_irq_disable(adc);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -1564,7 +1563,6 @@ static int stm32_adc_write_raw(struct iio_dev *indio_dev,
adc->cfg->set_ovs(indio_dev, idx);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
adc->ovs_idx = idx;
@@ -1759,7 +1757,6 @@ static int stm32_adc_update_scan_mode(struct iio_dev *indio_dev,
adc->num_conv = bitmap_weight(scan_mask, iio_get_masklength(indio_dev));
ret = stm32_adc_conf_scan_seq(indio_dev, scan_mask);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -1808,7 +1805,6 @@ static int stm32_adc_debugfs_reg_access(struct iio_dev *indio_dev,
else
*readval = stm32_adc_readl(adc, reg);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
@@ -1954,7 +1950,6 @@ static int stm32_adc_buffer_postenable(struct iio_dev *indio_dev)
err_clr_trig:
stm32_adc_set_trig(indio_dev, NULL);
err_pm_put:
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -1977,7 +1972,6 @@ static int stm32_adc_buffer_predisable(struct iio_dev *indio_dev)
if (stm32_adc_set_trig(indio_dev, NULL))
dev_err(&indio_dev->dev, "Can't clear trigger\n");
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
@@ -2614,7 +2608,6 @@ static int stm32_adc_probe(struct platform_device *pdev)
goto err_hw_stop;
}
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
if (IS_ENABLED(CONFIG_DEBUG_FS))
diff --git a/drivers/iio/adc/sun4i-gpadc-iio.c b/drivers/iio/adc/sun4i-gpadc-iio.c
index 6b8d6bee1873..a439f4864111 100644
--- a/drivers/iio/adc/sun4i-gpadc-iio.c
+++ b/drivers/iio/adc/sun4i-gpadc-iio.c
@@ -245,7 +245,6 @@ static int sun4i_gpadc_read(struct iio_dev *indio_dev, int channel, int *val,
*val = info->temp_data;
ret = 0;
- pm_runtime_mark_last_busy(indio_dev->dev.parent);
err:
pm_runtime_put_autosuspend(indio_dev->dev.parent);
@@ -272,7 +271,6 @@ static int sun4i_gpadc_temp_read(struct iio_dev *indio_dev, int *val)
regmap_read(info->regmap, SUN4I_GPADC_TEMP_DATA, val);
- pm_runtime_mark_last_busy(indio_dev->dev.parent);
pm_runtime_put_autosuspend(indio_dev->dev.parent);
return 0;
diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c
index 48549d617e5f..d3920fcb131b 100644
--- a/drivers/iio/adc/ti-ads1015.c
+++ b/drivers/iio/adc/ti-ads1015.c
@@ -377,7 +377,6 @@ static int ads1015_set_power_state(struct ads1015_data *data, bool on)
if (on) {
ret = pm_runtime_resume_and_get(dev);
} else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/adc/ti-ads1100.c b/drivers/iio/adc/ti-ads1100.c
index b0790e300b18..aa8946063c7d 100644
--- a/drivers/iio/adc/ti-ads1100.c
+++ b/drivers/iio/adc/ti-ads1100.c
@@ -105,7 +105,6 @@ static int ads1100_get_adc_result(struct ads1100_data *data, int chan, int *val)
ret = i2c_master_recv(data->client, (char *)&buffer, sizeof(buffer));
- pm_runtime_mark_last_busy(&data->client->dev);
pm_runtime_put_autosuspend(&data->client->dev);
if (ret < 0) {
diff --git a/drivers/iio/adc/ti-ads1119.c b/drivers/iio/adc/ti-ads1119.c
index d2f86e1ec656..9f576cfe63f9 100644
--- a/drivers/iio/adc/ti-ads1119.c
+++ b/drivers/iio/adc/ti-ads1119.c
@@ -291,7 +291,6 @@ static int ads1119_single_conversion(struct ads1119_state *st,
*val = sign_extend32(sample, chan->scan_type.realbits - 1);
ret = IIO_VAL_INT;
pdown:
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
@@ -470,7 +469,6 @@ static int ads1119_triggered_buffer_postdisable(struct iio_dev *indio_dev)
if (ret)
return ret;
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 29/80] iio: chemical: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
2025-07-04 7:54 ` [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
2025-07-04 7:54 ` [PATCH 28/80] iio: adc: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 30/80] iio: common: " Sakari Ailus
` (9 subsequent siblings)
12 siblings, 0 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Sakari Ailus, Waqar Hameed, Marcelo Schmitt, Vasileios Amoiridis
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/chemical/atlas-sensor.c | 2 --
drivers/iio/chemical/bme680_core.c | 3 ---
2 files changed, 5 deletions(-)
diff --git a/drivers/iio/chemical/atlas-sensor.c b/drivers/iio/chemical/atlas-sensor.c
index 1daaa36f87a9..8bbba85af699 100644
--- a/drivers/iio/chemical/atlas-sensor.c
+++ b/drivers/iio/chemical/atlas-sensor.c
@@ -425,7 +425,6 @@ static int atlas_buffer_predisable(struct iio_dev *indio_dev)
if (ret)
return ret;
- pm_runtime_mark_last_busy(&data->client->dev);
ret = pm_runtime_put_autosuspend(&data->client->dev);
if (ret)
return ret;
@@ -491,7 +490,6 @@ static int atlas_read_measurement(struct atlas_data *data, int reg, __be32 *val)
ret = regmap_bulk_read(data->regmap, reg, val, sizeof(*val));
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
diff --git a/drivers/iio/chemical/bme680_core.c b/drivers/iio/chemical/bme680_core.c
index 61d446fd456c..70f81c4a96ba 100644
--- a/drivers/iio/chemical/bme680_core.c
+++ b/drivers/iio/chemical/bme680_core.c
@@ -950,7 +950,6 @@ static int bme680_read_raw(struct iio_dev *indio_dev,
return ret;
ret = __bme680_read_raw(indio_dev, chan, val, val2, mask);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -1021,7 +1020,6 @@ static int bme680_write_raw(struct iio_dev *indio_dev,
return ret;
ret = __bme680_write_raw(indio_dev, chan, val, val2, mask);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -1140,7 +1138,6 @@ static int bme680_buffer_postdisable(struct iio_dev *indio_dev)
struct bme680_data *data = iio_priv(indio_dev);
struct device *dev = regmap_get_device(data->regmap);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 30/80] iio: common: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (2 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 29/80] iio: chemical: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 31/80] iio: dac: " Sakari Ailus
` (8 subsequent siblings)
12 siblings, 0 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Greg KH, Sakari Ailus, Peter Zijlstra, Christophe JAILLET,
Srinivas Pandruvada
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/common/hid-sensors/hid-sensor-trigger.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c
index 48193937275b..5540e2d28f4a 100644
--- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c
+++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c
@@ -163,7 +163,6 @@ int hid_sensor_power_state(struct hid_sensor_common *st, bool state)
ret = pm_runtime_resume_and_get(&st->pdev->dev);
} else {
atomic_dec(&st->user_requested_state);
- pm_runtime_mark_last_busy(&st->pdev->dev);
pm_runtime_use_autosuspend(&st->pdev->dev);
ret = pm_runtime_put_autosuspend(&st->pdev->dev);
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 31/80] iio: dac: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (3 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 30/80] iio: common: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 32/80] iio: gyro: " Sakari Ailus
` (7 subsequent siblings)
12 siblings, 0 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Maxime Coquelin, Alexandre Torgue, Sakari Ailus,
Uwe Kleine-König
Cc: linux-iio, linux-stm32, linux-arm-kernel, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/dac/stm32-dac.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/iio/dac/stm32-dac.c b/drivers/iio/dac/stm32-dac.c
index 344388338d9b..7d47c7dddbf8 100644
--- a/drivers/iio/dac/stm32-dac.c
+++ b/drivers/iio/dac/stm32-dac.c
@@ -96,7 +96,6 @@ static int stm32_dac_set_enable_state(struct iio_dev *indio_dev, int ch,
udelay(1);
if (!enable) {
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
}
@@ -104,7 +103,6 @@ static int stm32_dac_set_enable_state(struct iio_dev *indio_dev, int ch,
err_put_pm:
if (enable) {
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
}
@@ -349,7 +347,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.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 32/80] iio: gyro: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (4 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 31/80] iio: dac: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
2025-07-04 15:25 ` Rui Miguel Silva
2025-07-04 7:54 ` [PATCH 33/80] iio: imu: " Sakari Ailus
` (6 subsequent siblings)
12 siblings, 2 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rui Miguel Silva, Linus Walleij, Julien Stephan, Hans de Goede,
Waqar Hameed, Sakari Ailus
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/gyro/bmg160_core.c | 1 -
drivers/iio/gyro/fxas21002c_core.c | 2 --
drivers/iio/gyro/mpu3050-core.c | 3 ---
drivers/iio/gyro/mpu3050-i2c.c | 1 -
4 files changed, 7 deletions(-)
diff --git a/drivers/iio/gyro/bmg160_core.c b/drivers/iio/gyro/bmg160_core.c
index 781d3e96645f..4dbe3c0cc5eb 100644
--- a/drivers/iio/gyro/bmg160_core.c
+++ b/drivers/iio/gyro/bmg160_core.c
@@ -310,7 +310,6 @@ static int bmg160_set_power_state(struct bmg160_data *data, bool on)
if (on)
ret = pm_runtime_get_sync(dev);
else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas21002c_core.c
index 754c8a564ba4..a88670207cec 100644
--- a/drivers/iio/gyro/fxas21002c_core.c
+++ b/drivers/iio/gyro/fxas21002c_core.c
@@ -373,8 +373,6 @@ static int fxas21002c_pm_put(struct fxas21002c_data *data)
{
struct device *dev = regmap_get_device(data->regmap);
- pm_runtime_mark_last_busy(dev);
-
return pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/gyro/mpu3050-core.c b/drivers/iio/gyro/mpu3050-core.c
index 16553948c5c3..67ae7d1012bc 100644
--- a/drivers/iio/gyro/mpu3050-core.c
+++ b/drivers/iio/gyro/mpu3050-core.c
@@ -370,7 +370,6 @@ static int mpu3050_read_raw(struct iio_dev *indio_dev,
out_read_raw_unlock:
mutex_unlock(&mpu3050->lock);
- pm_runtime_mark_last_busy(mpu3050->dev);
pm_runtime_put_autosuspend(mpu3050->dev);
return ret;
@@ -662,7 +661,6 @@ static int mpu3050_buffer_postdisable(struct iio_dev *indio_dev)
{
struct mpu3050 *mpu3050 = iio_priv(indio_dev);
- pm_runtime_mark_last_busy(mpu3050->dev);
pm_runtime_put_autosuspend(mpu3050->dev);
return 0;
@@ -976,7 +974,6 @@ static int mpu3050_drdy_trigger_set_state(struct iio_trigger *trig,
if (ret)
dev_err(mpu3050->dev, "error resetting FIFO\n");
- pm_runtime_mark_last_busy(mpu3050->dev);
pm_runtime_put_autosuspend(mpu3050->dev);
mpu3050->hw_irq_trigger = false;
diff --git a/drivers/iio/gyro/mpu3050-i2c.c b/drivers/iio/gyro/mpu3050-i2c.c
index 8e284f47242c..092878f2c886 100644
--- a/drivers/iio/gyro/mpu3050-i2c.c
+++ b/drivers/iio/gyro/mpu3050-i2c.c
@@ -27,7 +27,6 @@ static int mpu3050_i2c_bypass_deselect(struct i2c_mux_core *mux, u32 chan_id)
{
struct mpu3050 *mpu3050 = i2c_mux_priv(mux);
- pm_runtime_mark_last_busy(mpu3050->dev);
pm_runtime_put_autosuspend(mpu3050->dev);
return 0;
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 33/80] iio: imu: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (5 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 32/80] iio: gyro: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 10:26 ` Waqar Hameed
2025-07-04 7:54 ` [PATCH 34/80] iio: light: " Sakari Ailus
` (5 subsequent siblings)
12 siblings, 1 reply; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jean-Baptiste Maneyrol, Jonathan Cameron, David Lechner,
Nuno Sá, Andy Shevchenko, Waqar Hameed, Javier Carrasco
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 5 -----
drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c | 1 -
drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 5 -----
drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c | 1 -
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 6 ------
drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c | 1 -
drivers/iio/imu/kmx61.c | 1 -
7 files changed, 20 deletions(-)
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
index 8a6f09e68f49..11cab815e1e2 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
@@ -289,7 +289,6 @@ static int inv_icm42600_accel_read_sensor(struct iio_dev *indio_dev,
ret = -EINVAL;
exit:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
@@ -367,7 +366,6 @@ static int inv_icm42600_accel_write_scale(struct iio_dev *indio_dev,
ret = inv_icm42600_set_accel_conf(st, &conf, NULL);
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -471,7 +469,6 @@ static int inv_icm42600_accel_write_odr(struct iio_dev *indio_dev,
out_unlock:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -523,7 +520,6 @@ static int inv_icm42600_accel_read_offset(struct inv_icm42600_state *st,
memcpy(data, st->buffer, sizeof(data));
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
if (ret)
return ret;
@@ -661,7 +657,6 @@ static int inv_icm42600_accel_write_offset(struct inv_icm42600_state *st,
out_unlock:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
index 00b9db52ca78..8c36ad87f328 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c
@@ -439,7 +439,6 @@ static int inv_icm42600_buffer_postdisable(struct iio_dev *indio_dev)
if (sleep)
msleep(sleep);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
index 9ba6f13628e6..8a7cc9127631 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
@@ -184,7 +184,6 @@ static int inv_icm42600_gyro_read_sensor(struct inv_icm42600_state *st,
ret = -EINVAL;
exit:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
@@ -283,7 +282,6 @@ static int inv_icm42600_gyro_write_scale(struct iio_dev *indio_dev,
ret = inv_icm42600_set_gyro_conf(st, &conf, NULL);
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -378,7 +376,6 @@ static int inv_icm42600_gyro_write_odr(struct iio_dev *indio_dev,
out_unlock:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
@@ -430,7 +427,6 @@ static int inv_icm42600_gyro_read_offset(struct inv_icm42600_state *st,
memcpy(data, st->buffer, sizeof(data));
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
if (ret)
return ret;
@@ -567,7 +563,6 @@ static int inv_icm42600_gyro_write_offset(struct inv_icm42600_state *st,
out_unlock:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
}
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c
index 8b15afca498c..684007376178 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c
@@ -37,7 +37,6 @@ static int inv_icm42600_temp_read(struct inv_icm42600_state *st, s16 *temp)
exit:
mutex_unlock(&st->lock);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return ret;
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index b8656c02354a..c351d0e4f810 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -735,7 +735,6 @@ static int inv_mpu6050_read_channel_data(struct iio_dev *indio_dev,
break;
}
- pm_runtime_mark_last_busy(pdev);
pm_runtime_put_autosuspend(pdev);
return ret;
@@ -938,7 +937,6 @@ static int inv_mpu6050_write_raw(struct iio_dev *indio_dev,
break;
}
- pm_runtime_mark_last_busy(pdev);
pm_runtime_put_autosuspend(pdev);
error_write_raw_unlock:
mutex_unlock(&st->lock);
@@ -1146,14 +1144,12 @@ static int inv_mpu6050_enable_wom(struct inv_mpu6050_state *st, bool en)
st->chip_config.wom_en = false;
}
- pm_runtime_mark_last_busy(pdev);
pm_runtime_put_autosuspend(pdev);
}
return result;
error_suspend:
- pm_runtime_mark_last_busy(pdev);
pm_runtime_put_autosuspend(pdev);
return result;
}
@@ -1249,7 +1245,6 @@ static int inv_mpu6050_write_event_value(struct iio_dev *indio_dev,
value = (u64)val * 1000000ULL + (u64)val2;
result = inv_mpu6050_set_wom_threshold(st, value, INV_MPU6050_FREQ_DIVIDER(st));
- pm_runtime_mark_last_busy(pdev);
pm_runtime_put_autosuspend(pdev);
return result;
@@ -1357,7 +1352,6 @@ inv_mpu6050_fifo_rate_store(struct device *dev, struct device_attribute *attr,
if (result)
goto fifo_rate_fail_power_off;
- pm_runtime_mark_last_busy(pdev);
fifo_rate_fail_power_off:
pm_runtime_put_autosuspend(pdev);
fifo_rate_fail_unlock:
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
index 5b1088cc3704..10a473342075 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
@@ -194,7 +194,6 @@ static int inv_mpu6050_set_enable(struct iio_dev *indio_dev, bool enable)
result = inv_mpu6050_prepare_fifo(st, false);
if (result)
goto error_power_off;
- pm_runtime_mark_last_busy(pdev);
pm_runtime_put_autosuspend(pdev);
}
diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c
index 55c82891e08c..42016d56c852 100644
--- a/drivers/iio/imu/kmx61.c
+++ b/drivers/iio/imu/kmx61.c
@@ -750,7 +750,6 @@ static int kmx61_set_power_state(struct kmx61_data *data, bool on, u8 device)
if (on) {
ret = pm_runtime_resume_and_get(&data->client->dev);
} else {
- pm_runtime_mark_last_busy(&data->client->dev);
ret = pm_runtime_put_autosuspend(&data->client->dev);
}
if (ret < 0) {
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 34/80] iio: light: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (6 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 33/80] iio: imu: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
2025-07-06 10:31 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 35/80] iio: magnetometer: " Sakari Ailus
` (4 subsequent siblings)
12 siblings, 2 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Subhajit Ghosh, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Linus Walleij, Julien Stephan, Sakari Ailus,
Waqar Hameed, Abhash Jha, chuguangqing, Shreeya Patel,
Marek Vasut, Al Viro, Vasileios Amoiridis, Per-Daniel Olsson,
Javier Carrasco
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/light/apds9306.c | 2 --
drivers/iio/light/apds9960.c | 1 -
drivers/iio/light/bh1780.c | 1 -
drivers/iio/light/gp2ap002.c | 2 --
drivers/iio/light/isl29028.c | 1 -
drivers/iio/light/ltrf216a.c | 1 -
drivers/iio/light/pa12203001.c | 1 -
drivers/iio/light/rpr0521.c | 1 -
drivers/iio/light/tsl2583.c | 1 -
drivers/iio/light/tsl2591.c | 2 --
drivers/iio/light/us5182d.c | 1 -
drivers/iio/light/vcnl4000.c | 1 -
drivers/iio/light/vcnl4035.c | 1 -
13 files changed, 16 deletions(-)
diff --git a/drivers/iio/light/apds9306.c b/drivers/iio/light/apds9306.c
index f676da245aa7..5916cabd0755 100644
--- a/drivers/iio/light/apds9306.c
+++ b/drivers/iio/light/apds9306.c
@@ -537,7 +537,6 @@ static int apds9306_read_data(struct apds9306_data *data, int *val, int reg)
*val = get_unaligned_le24(&buff);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return 0;
@@ -1121,7 +1120,6 @@ static int apds9306_write_event_config(struct iio_dev *indio_dev,
if (ret)
return ret;
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return 0;
diff --git a/drivers/iio/light/apds9960.c b/drivers/iio/light/apds9960.c
index b92d0fce5aec..79b202c59a0f 100644
--- a/drivers/iio/light/apds9960.c
+++ b/drivers/iio/light/apds9960.c
@@ -495,7 +495,6 @@ static int apds9960_set_power_state(struct apds9960_data *data, bool on)
usleep_range(data->als_adc_int_us,
APDS9960_MAX_INT_TIME_IN_US);
} else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/light/bh1780.c b/drivers/iio/light/bh1780.c
index c7c877d2fe67..5d3c6d5276ba 100644
--- a/drivers/iio/light/bh1780.c
+++ b/drivers/iio/light/bh1780.c
@@ -111,7 +111,6 @@ static int bh1780_read_raw(struct iio_dev *indio_dev,
value = bh1780_read_word(bh1780, BH1780_REG_DLOW);
if (value < 0)
return value;
- pm_runtime_mark_last_busy(&bh1780->client->dev);
pm_runtime_put_autosuspend(&bh1780->client->dev);
*val = value;
diff --git a/drivers/iio/light/gp2ap002.c b/drivers/iio/light/gp2ap002.c
index 42859e5b1089..a0d8a58f2704 100644
--- a/drivers/iio/light/gp2ap002.c
+++ b/drivers/iio/light/gp2ap002.c
@@ -271,7 +271,6 @@ static int gp2ap002_read_raw(struct iio_dev *indio_dev,
}
out:
- pm_runtime_mark_last_busy(gp2ap002->dev);
pm_runtime_put_autosuspend(gp2ap002->dev);
return ret;
@@ -353,7 +352,6 @@ static int gp2ap002_write_event_config(struct iio_dev *indio_dev,
pm_runtime_get_sync(gp2ap002->dev);
gp2ap002->enabled = true;
} else {
- pm_runtime_mark_last_busy(gp2ap002->dev);
pm_runtime_put_autosuspend(gp2ap002->dev);
gp2ap002->enabled = false;
}
diff --git a/drivers/iio/light/isl29028.c b/drivers/iio/light/isl29028.c
index 0e4284823d44..5ff20d423def 100644
--- a/drivers/iio/light/isl29028.c
+++ b/drivers/iio/light/isl29028.c
@@ -341,7 +341,6 @@ static int isl29028_set_pm_runtime_busy(struct isl29028_chip *chip, bool on)
if (on) {
ret = pm_runtime_resume_and_get(dev);
} else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/light/ltrf216a.c b/drivers/iio/light/ltrf216a.c
index 61f57a82b872..5f27f754fe1c 100644
--- a/drivers/iio/light/ltrf216a.c
+++ b/drivers/iio/light/ltrf216a.c
@@ -208,7 +208,6 @@ static int ltrf216a_set_power_state(struct ltrf216a_data *data, bool on)
return ret;
}
} else {
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/light/pa12203001.c b/drivers/iio/light/pa12203001.c
index 8885852bef22..93823421f42f 100644
--- a/drivers/iio/light/pa12203001.c
+++ b/drivers/iio/light/pa12203001.c
@@ -189,7 +189,6 @@ static int pa12203001_set_power_state(struct pa12203001_data *data, bool on,
ret = pm_runtime_resume_and_get(&data->client->dev);
} else {
- pm_runtime_mark_last_busy(&data->client->dev);
ret = pm_runtime_put_autosuspend(&data->client->dev);
}
diff --git a/drivers/iio/light/rpr0521.c b/drivers/iio/light/rpr0521.c
index c50183f07240..15e2cca22e4d 100644
--- a/drivers/iio/light/rpr0521.c
+++ b/drivers/iio/light/rpr0521.c
@@ -361,7 +361,6 @@ static int rpr0521_set_power_state(struct rpr0521_data *data, bool on,
if (on) {
ret = pm_runtime_resume_and_get(&data->client->dev);
} else {
- pm_runtime_mark_last_busy(&data->client->dev);
ret = pm_runtime_put_autosuspend(&data->client->dev);
}
if (ret < 0) {
diff --git a/drivers/iio/light/tsl2583.c b/drivers/iio/light/tsl2583.c
index fc3b0c4226be..d3a4923e5adc 100644
--- a/drivers/iio/light/tsl2583.c
+++ b/drivers/iio/light/tsl2583.c
@@ -646,7 +646,6 @@ static int tsl2583_set_pm_runtime_busy(struct tsl2583_chip *chip, bool on)
if (on) {
ret = pm_runtime_resume_and_get(&chip->client->dev);
} else {
- pm_runtime_mark_last_busy(&chip->client->dev);
ret = pm_runtime_put_autosuspend(&chip->client->dev);
}
diff --git a/drivers/iio/light/tsl2591.c b/drivers/iio/light/tsl2591.c
index 08476f193a44..c5557867ea43 100644
--- a/drivers/iio/light/tsl2591.c
+++ b/drivers/iio/light/tsl2591.c
@@ -772,7 +772,6 @@ static int tsl2591_read_raw(struct iio_dev *indio_dev,
err_unlock:
mutex_unlock(&chip->als_mutex);
- pm_runtime_mark_last_busy(&client->dev);
pm_runtime_put_autosuspend(&client->dev);
return ret;
@@ -995,7 +994,6 @@ static int tsl2591_write_event_config(struct iio_dev *indio_dev,
pm_runtime_get_sync(&client->dev);
} else if (!state && chip->events_enabled) {
chip->events_enabled = false;
- pm_runtime_mark_last_busy(&client->dev);
pm_runtime_put_autosuspend(&client->dev);
}
diff --git a/drivers/iio/light/us5182d.c b/drivers/iio/light/us5182d.c
index 61a0957317a1..8f0f85e98f3a 100644
--- a/drivers/iio/light/us5182d.c
+++ b/drivers/iio/light/us5182d.c
@@ -369,7 +369,6 @@ static int us5182d_set_power_state(struct us5182d_data *data, bool on)
if (on) {
ret = pm_runtime_resume_and_get(&data->client->dev);
} else {
- pm_runtime_mark_last_busy(&data->client->dev);
ret = pm_runtime_put_autosuspend(&data->client->dev);
}
diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index 90e7d4421abf..39e2cf20038a 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -581,7 +581,6 @@ static int vcnl4000_set_pm_runtime_state(struct vcnl4000_data *data, bool on)
if (on) {
ret = pm_runtime_resume_and_get(dev);
} else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
diff --git a/drivers/iio/light/vcnl4035.c b/drivers/iio/light/vcnl4035.c
index 01bc99564f98..079fb49bf73b 100644
--- a/drivers/iio/light/vcnl4035.c
+++ b/drivers/iio/light/vcnl4035.c
@@ -147,7 +147,6 @@ static int vcnl4035_set_pm_runtime_state(struct vcnl4035_data *data, bool on)
if (on) {
ret = pm_runtime_resume_and_get(dev);
} else {
- pm_runtime_mark_last_busy(dev);
ret = pm_runtime_put_autosuspend(dev);
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 35/80] iio: magnetometer: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (7 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 34/80] iio: light: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 8:43 ` Linus Walleij
2025-07-06 10:28 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 36/80] iio: pressure: " Sakari Ailus
` (3 subsequent siblings)
12 siblings, 2 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Linus Walleij, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Gerald Loacker, Barnabás Czémán,
Krzysztof Kozlowski, Sakari Ailus, Neil Armstrong, Waqar Hameed,
Hans de Goede, Peter Zijlstra, Jakob Hauser, David Laight,
Al Viro
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/magnetometer/ak8974.c | 2 --
drivers/iio/magnetometer/ak8975.c | 1 -
drivers/iio/magnetometer/als31300.c | 2 --
drivers/iio/magnetometer/bmc150_magn.c | 1 -
drivers/iio/magnetometer/tmag5273.c | 2 --
drivers/iio/magnetometer/yamaha-yas530.c | 2 --
6 files changed, 10 deletions(-)
diff --git a/drivers/iio/magnetometer/ak8974.c b/drivers/iio/magnetometer/ak8974.c
index 947fe8a475f2..68ece700c7ce 100644
--- a/drivers/iio/magnetometer/ak8974.c
+++ b/drivers/iio/magnetometer/ak8974.c
@@ -583,7 +583,6 @@ static int ak8974_measure_channel(struct ak8974 *ak8974, unsigned long address,
*val = (s16)le16_to_cpu(hw_values[address]);
out_unlock:
mutex_unlock(&ak8974->lock);
- pm_runtime_mark_last_busy(&ak8974->i2c->dev);
pm_runtime_put_autosuspend(&ak8974->i2c->dev);
return ret;
@@ -678,7 +677,6 @@ static void ak8974_fill_buffer(struct iio_dev *indio_dev)
out_unlock:
mutex_unlock(&ak8974->lock);
- pm_runtime_mark_last_busy(&ak8974->i2c->dev);
pm_runtime_put_autosuspend(&ak8974->i2c->dev);
}
diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
index a1e92b2abffd..3fd0171e5d69 100644
--- a/drivers/iio/magnetometer/ak8975.c
+++ b/drivers/iio/magnetometer/ak8975.c
@@ -775,7 +775,6 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
mutex_unlock(&data->lock);
- pm_runtime_mark_last_busy(&data->client->dev);
pm_runtime_put_autosuspend(&data->client->dev);
/* Swap bytes and convert to valid range. */
diff --git a/drivers/iio/magnetometer/als31300.c b/drivers/iio/magnetometer/als31300.c
index f72af829715f..03d060995ba6 100644
--- a/drivers/iio/magnetometer/als31300.c
+++ b/drivers/iio/magnetometer/als31300.c
@@ -140,7 +140,6 @@ static int als31300_get_measure(struct als31300_data *data,
*z = ALS31300_DATA_Z_GET(buf);
out:
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return ret;
@@ -401,7 +400,6 @@ static int als31300_probe(struct i2c_client *i2c)
pm_runtime_set_autosuspend_delay(dev, 200);
pm_runtime_use_autosuspend(dev);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
ret = devm_iio_device_register(dev, indio_dev);
diff --git a/drivers/iio/magnetometer/bmc150_magn.c b/drivers/iio/magnetometer/bmc150_magn.c
index 761daead5ada..53d860e640a9 100644
--- a/drivers/iio/magnetometer/bmc150_magn.c
+++ b/drivers/iio/magnetometer/bmc150_magn.c
@@ -263,7 +263,6 @@ static int bmc150_magn_set_power_state(struct bmc150_magn_data *data, bool on)
if (on) {
ret = pm_runtime_resume_and_get(data->dev);
} else {
- pm_runtime_mark_last_busy(data->dev);
ret = pm_runtime_put_autosuspend(data->dev);
}
diff --git a/drivers/iio/magnetometer/tmag5273.c b/drivers/iio/magnetometer/tmag5273.c
index 2ca5c26f0091..f9ef501249e3 100644
--- a/drivers/iio/magnetometer/tmag5273.c
+++ b/drivers/iio/magnetometer/tmag5273.c
@@ -295,7 +295,6 @@ static int tmag5273_read_raw(struct iio_dev *indio_dev,
ret = tmag5273_get_measure(data, &t, &x, &y, &z, &angle, &magnitude);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
if (ret)
@@ -668,7 +667,6 @@ static int tmag5273_probe(struct i2c_client *i2c)
indio_dev->channels = tmag5273_channels;
indio_dev->num_channels = ARRAY_SIZE(tmag5273_channels);
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
ret = devm_iio_device_register(dev, indio_dev);
diff --git a/drivers/iio/magnetometer/yamaha-yas530.c b/drivers/iio/magnetometer/yamaha-yas530.c
index 340607111d9a..d49e37edcbed 100644
--- a/drivers/iio/magnetometer/yamaha-yas530.c
+++ b/drivers/iio/magnetometer/yamaha-yas530.c
@@ -623,7 +623,6 @@ static int yas5xx_read_raw(struct iio_dev *indio_dev,
case IIO_CHAN_INFO_RAW:
pm_runtime_get_sync(yas5xx->dev);
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
- pm_runtime_mark_last_busy(yas5xx->dev);
pm_runtime_put_autosuspend(yas5xx->dev);
if (ret)
return ret;
@@ -664,7 +663,6 @@ static void yas5xx_fill_buffer(struct iio_dev *indio_dev)
pm_runtime_get_sync(yas5xx->dev);
ret = ci->get_measure(yas5xx, &t, &x, &y, &z);
- pm_runtime_mark_last_busy(yas5xx->dev);
pm_runtime_put_autosuspend(yas5xx->dev);
if (ret) {
dev_err(yas5xx->dev, "error refilling buffer\n");
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 36/80] iio: pressure: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (8 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 35/80] iio: magnetometer: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 37/80] iio: proximity: " Sakari Ailus
` (2 subsequent siblings)
12 siblings, 0 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Vasileios Amoiridis, Sakari Ailus, Marcelo Schmitt,
Jean-Baptiste Maneyrol, Peter Zijlstra, Greg KH, Matti Vaittinen,
Al Viro, Javier Carrasco
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/pressure/bmp280-core.c | 5 -----
drivers/iio/pressure/icp10100.c | 1 -
drivers/iio/pressure/mpl115.c | 2 --
drivers/iio/pressure/zpa2326.c | 2 --
4 files changed, 10 deletions(-)
diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
index 74505c9ec1a0..b66f3b905055 100644
--- a/drivers/iio/pressure/bmp280-core.c
+++ b/drivers/iio/pressure/bmp280-core.c
@@ -752,7 +752,6 @@ static int bmp280_read_raw(struct iio_dev *indio_dev,
pm_runtime_get_sync(data->dev);
ret = bmp280_read_raw_impl(indio_dev, chan, val, val2, mask);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return ret;
@@ -927,7 +926,6 @@ static int bmp280_write_raw(struct iio_dev *indio_dev,
pm_runtime_get_sync(data->dev);
ret = bmp280_write_raw_impl(indio_dev, chan, val, val2, mask);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return ret;
@@ -2255,7 +2253,6 @@ static int bmp580_nvmem_read(void *priv, unsigned int offset, void *val,
pm_runtime_get_sync(data->dev);
ret = bmp580_nvmem_read_impl(priv, offset, val, bytes);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return ret;
@@ -2330,7 +2327,6 @@ static int bmp580_nvmem_write(void *priv, unsigned int offset, void *val,
pm_runtime_get_sync(data->dev);
ret = bmp580_nvmem_write_impl(priv, offset, val, bytes);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return ret;
@@ -3120,7 +3116,6 @@ static int bmp280_buffer_postdisable(struct iio_dev *indio_dev)
{
struct bmp280_data *data = iio_priv(indio_dev);
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return 0;
diff --git a/drivers/iio/pressure/icp10100.c b/drivers/iio/pressure/icp10100.c
index 1951c1cc84cf..3d83d0098a57 100644
--- a/drivers/iio/pressure/icp10100.c
+++ b/drivers/iio/pressure/icp10100.c
@@ -265,7 +265,6 @@ static int icp10100_get_measures(struct icp10100_state *st,
(be16_to_cpu(measures[1]) >> 8);
*temperature = be16_to_cpu(measures[2]);
- pm_runtime_mark_last_busy(&st->client->dev);
error_measure:
pm_runtime_put_autosuspend(&st->client->dev);
return ret;
diff --git a/drivers/iio/pressure/mpl115.c b/drivers/iio/pressure/mpl115.c
index 71beb28b7f2c..830a5065c008 100644
--- a/drivers/iio/pressure/mpl115.c
+++ b/drivers/iio/pressure/mpl115.c
@@ -108,7 +108,6 @@ static int mpl115_read_raw(struct iio_dev *indio_dev,
ret = mpl115_comp_pressure(data, val, val2);
if (ret < 0)
return ret;
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
return IIO_VAL_INT_PLUS_MICRO;
@@ -118,7 +117,6 @@ static int mpl115_read_raw(struct iio_dev *indio_dev,
ret = mpl115_read_temp(data);
if (ret < 0)
return ret;
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
*val = ret >> 6;
diff --git a/drivers/iio/pressure/zpa2326.c b/drivers/iio/pressure/zpa2326.c
index 6eef37c0952d..4923a558a26a 100644
--- a/drivers/iio/pressure/zpa2326.c
+++ b/drivers/iio/pressure/zpa2326.c
@@ -697,7 +697,6 @@ static void zpa2326_suspend(struct iio_dev *indio_dev)
zpa2326_sleep(indio_dev);
- pm_runtime_mark_last_busy(parent);
pm_runtime_put_autosuspend(parent);
}
@@ -708,7 +707,6 @@ static void zpa2326_init_runtime(struct device *parent)
pm_runtime_enable(parent);
pm_runtime_set_autosuspend_delay(parent, 1000);
pm_runtime_use_autosuspend(parent);
- pm_runtime_mark_last_busy(parent);
pm_runtime_put_autosuspend(parent);
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 37/80] iio: proximity: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (9 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 36/80] iio: pressure: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-06 10:27 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 38/80] iio: temperature: " Sakari Ailus
2025-07-04 9:03 ` [PATCH 00/80] treewide: " Jonathan Cameron
12 siblings, 1 reply; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Andreas Klinger, Marcelo Schmitt, Sakari Ailus
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c | 1 -
drivers/iio/proximity/srf04.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c b/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
index 1deaf70e92ce..d53a596128f5 100644
--- a/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
+++ b/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
@@ -191,7 +191,6 @@ static int lidar_get_measurement(struct lidar_data *data, u16 *reg)
}
ret = -EIO;
}
- pm_runtime_mark_last_busy(&client->dev);
pm_runtime_put_autosuspend(&client->dev);
return ret;
diff --git a/drivers/iio/proximity/srf04.c b/drivers/iio/proximity/srf04.c
index b059bac1078b..f2e2c638a2b6 100644
--- a/drivers/iio/proximity/srf04.c
+++ b/drivers/iio/proximity/srf04.c
@@ -118,7 +118,6 @@ static int srf04_read(struct srf04_data *data)
gpiod_set_value(data->gpiod_trig, 0);
if (data->gpiod_power) {
- pm_runtime_mark_last_busy(data->dev);
pm_runtime_put_autosuspend(data->dev);
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 38/80] iio: temperature: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (10 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 37/80] iio: proximity: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 16:00 ` Crt Mori
2025-07-04 9:03 ` [PATCH 00/80] treewide: " Jonathan Cameron
12 siblings, 1 reply; 30+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Crt Mori, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko
Cc: linux-iio, linux-kernel
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().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/iio/temperature/mlx90614.c | 1 -
drivers/iio/temperature/mlx90632.c | 1 -
drivers/iio/temperature/mlx90635.c | 1 -
3 files changed, 3 deletions(-)
diff --git a/drivers/iio/temperature/mlx90614.c b/drivers/iio/temperature/mlx90614.c
index 740018d4b3df..8a44a00bfd5e 100644
--- a/drivers/iio/temperature/mlx90614.c
+++ b/drivers/iio/temperature/mlx90614.c
@@ -225,7 +225,6 @@ static void mlx90614_power_put(struct mlx90614_data *data)
if (!data->wakeup_gpio)
return;
- pm_runtime_mark_last_busy(&data->client->dev);
pm_runtime_put_autosuspend(&data->client->dev);
}
#else
diff --git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
index ae4ea587e7f9..bf689f6143f3 100644
--- a/drivers/iio/temperature/mlx90632.c
+++ b/drivers/iio/temperature/mlx90632.c
@@ -1043,7 +1043,6 @@ static int mlx90632_read_raw(struct iio_dev *indio_dev,
}
mlx90632_read_raw_pm:
- pm_runtime_mark_last_busy(&data->client->dev);
pm_runtime_put_autosuspend(&data->client->dev);
return ret;
}
diff --git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
index f7f88498ba0e..80d0eb7d2294 100644
--- a/drivers/iio/temperature/mlx90635.c
+++ b/drivers/iio/temperature/mlx90635.c
@@ -749,7 +749,6 @@ static int mlx90635_read_raw(struct iio_dev *indio_dev,
}
mlx90635_read_raw_pm:
- pm_runtime_mark_last_busy(&data->client->dev);
pm_runtime_put_autosuspend(&data->client->dev);
return ret;
}
--
2.39.5
^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH 32/80] iio: gyro: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 32/80] iio: gyro: " Sakari Ailus
@ 2025-07-04 8:41 ` Linus Walleij
2025-07-04 15:25 ` Rui Miguel Silva
1 sibling, 0 replies; 30+ messages in thread
From: Linus Walleij @ 2025-07-04 8:41 UTC (permalink / raw)
To: Sakari Ailus
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rui Miguel Silva, Julien Stephan, Hans de Goede, Waqar Hameed,
linux-iio, linux-kernel
On Fri, Jul 4, 2025 at 9:54 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 34/80] iio: light: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 34/80] iio: light: " Sakari Ailus
@ 2025-07-04 8:42 ` Linus Walleij
2025-07-06 10:31 ` Jonathan Cameron
1 sibling, 0 replies; 30+ messages in thread
From: Linus Walleij @ 2025-07-04 8:42 UTC (permalink / raw)
To: Sakari Ailus
Cc: Subhajit Ghosh, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Julien Stephan, Waqar Hameed, Abhash Jha,
chuguangqing, Shreeya Patel, Marek Vasut, Al Viro,
Vasileios Amoiridis, Per-Daniel Olsson, Javier Carrasco,
linux-iio, linux-kernel
On Fri, Jul 4, 2025 at 9:54 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 28/80] iio: adc: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 28/80] iio: adc: " Sakari Ailus
@ 2025-07-04 8:42 ` Linus Walleij
2025-07-04 9:09 ` Jonathan Cameron
1 sibling, 0 replies; 30+ messages in thread
From: Linus Walleij @ 2025-07-04 8:42 UTC (permalink / raw)
To: Sakari Ailus
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Eugen Hristev, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
Cai Huoqing, Haibo Chen, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Marek Vasut,
Geert Uytterhoeven, Magnus Damm, Lad Prabhakar, Maxime Coquelin,
Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Francesco Dolcini, João Paulo Gonçalves,
Jiri Slaby (SUSE), Fabrice Gasnier, Rob Herring (Arm),
Uwe Kleine-König, Mike Looijmans, Olivier Moysan,
Christophe JAILLET, Julien Stephan, linux-arm-kernel, linux-iio,
linux-kernel, imx, linux-renesas-soc, linux-stm32, linux-sunxi
On Fri, Jul 4, 2025 at 9:54 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 35/80] iio: magnetometer: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 35/80] iio: magnetometer: " Sakari Ailus
@ 2025-07-04 8:43 ` Linus Walleij
2025-07-06 10:28 ` Jonathan Cameron
1 sibling, 0 replies; 30+ messages in thread
From: Linus Walleij @ 2025-07-04 8:43 UTC (permalink / raw)
To: Sakari Ailus
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Gerald Loacker, Barnabás Czémán,
Krzysztof Kozlowski, Neil Armstrong, Waqar Hameed, Hans de Goede,
Peter Zijlstra, Jakob Hauser, David Laight, Al Viro, linux-iio,
linux-kernel
On Fri, Jul 4, 2025 at 9:54 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 00/80] treewide: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (11 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 38/80] iio: temperature: " Sakari Ailus
@ 2025-07-04 9:03 ` Jonathan Cameron
12 siblings, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-04 9:03 UTC (permalink / raw)
To: Sakari Ailus; +Cc: linux-pm, linux-kernel, Rafael J. Wysocki, linux-iio
On Fri, 4 Jul 2025 10:52:25 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> Hello everyone,
>
> Late last year I posted a set to switch to __pm_runtime_mark_last_busy()
> and gradually get rid of explicit pm_runtime_mark_last_busy() calls in
> drivers, embedding them in the appropriate pm_runtime_*autosuspend*()
> calls. The overall feedback I got at the time was that this is an
> unnecessary intermediate step, and removing the
> pm_runtime_mark_last_busy() calls can be done after adding them to the
> relevant Runtime PM autosuspend related functions. The latter part has
> been done and is present in Rafael's tree at the moment, also see
> <URL:https://lore.kernel.org/linux-pm/CAJZ5v0g7-8UWp6ATOy+=oGdxDaCnfKHBG_+kbiTr+VeuXZsUFQ@mail.gmail.com/>:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> So before merging these, please pull Rafael's tag. My thinking is indeed
> these would be best merged via the respective trees as there's some
> potential for conflicts (there are around 920 call sites modified here).
>
> These patches are on next-20250701.
Hi Sakari,
Great change in general - however...
I'd much of preferred to see a per subsystem series for this rather than
all together. That would have avoided the back reference to this cover letter
in each patch. Also would have provided a subsystem specific cover letter
for people to reply with general comments and tags.
As you note there is no need for these all to land together and the
expectation is they will go through subsystem trees.
Grouping by 'type' of driver is a good step though, so thanks for doing that.
Ah well, I guess I'll cherry-pick the IIO ones from this series.
Jonathan
>
> The changes in these have been generated using the following Coccinelle
> patch:
>
> -----------8<-----------------------------
> @@
> expression E;
> identifier label, rval;
> @@
> - pm_runtime_mark_last_busy(E);
> ...
> (
> label:
> |
> )
> ...
> (
> pm_runtime_put_autosuspend(E);
> |
> pm_runtime_put_sync_autosuspend(E);
> |
> pm_runtime_autosuspend(E);
> |
> pm_request_autosuspend(E);
> |
> (void)pm_runtime_put_autosuspend(E);
> |
> (void)pm_runtime_put_sync_autosuspend(E);
> |
> (void)pm_runtime_autosuspend(E);
> |
> (void)pm_request_autosuspend(E);
> |
> return pm_runtime_put_autosuspend(E);
> |
> return pm_runtime_put_sync_autosuspend(E);
> |
> return pm_runtime_autosuspend(E);
> |
> return pm_request_autosuspend(E);
> |
> rval = pm_runtime_put_autosuspend(E);
> |
> rval = pm_runtime_put_sync_autosuspend(E);
> |
> rval = pm_runtime_autosuspend(E);
> |
> rval = pm_request_autosuspend(E);
> )
> -----------8<-----------------------------
>
> Sakari Ailus (80):
> accel/ivpu: Remove redundant pm_runtime_mark_last_busy() calls
> accel/amdxdna: Remove redundant pm_runtime_mark_last_busy() calls
> Bluetooth: Remove redundant pm_runtime_mark_last_busy() calls
> bus: sunxi-rsb: Remove redundant pm_runtime_mark_last_busy() calls
> hwrng: Remove redundant pm_runtime_mark_last_busy() calls
> clk: imx: Remove redundant pm_runtime_mark_last_busy() calls
> clk: qcom: Remove redundant pm_runtime_mark_last_busy() calls
> crypto: Remove redundant pm_runtime_mark_last_busy() calls
> dmaengine: at_xdmac: Remove redundant pm_runtime_mark_last_busy()
> calls
> dmaengine: pl330: Remove redundant pm_runtime_mark_last_busy() calls
> dmaengine: qcom: Remove redundant pm_runtime_mark_last_busy() calls
> dmaengine: ste_dma40: Remove redundant pm_runtime_mark_last_busy()
> calls
> dmaengine: ti: Remove redundant pm_runtime_mark_last_busy() calls
> dmaengine: zynqmp_dma: Remove redundant pm_runtime_mark_last_busy()
> calls
> gpio: arizona: Remove redundant pm_runtime_mark_last_busy() calls
> drm/amd: Remove redundant pm_runtime_mark_last_busy() calls
> drm/nouveau: Remove redundant pm_runtime_mark_last_busy() calls
> drm/radeon: Remove redundant pm_runtime_mark_last_busy() calls
> drm/panfrost: Remove redundant pm_runtime_mark_last_busy() calls
> drivers: drm: Remove redundant pm_runtime_mark_last_busy() calls
> HSI: omap_ssi_port: Remove redundant pm_runtime_mark_last_busy() calls
> stm class: Remove redundant pm_runtime_mark_last_busy() calls
> i2c: Remove redundant pm_runtime_mark_last_busy() calls
> i3c: master: svc: Remove redundant pm_runtime_mark_last_busy() calls
> i3c: dw: Remove redundant pm_runtime_mark_last_busy() calls
> HID: intel-thc-hid: Remove redundant pm_runtime_mark_last_busy() calls
> iio: accel: Remove redundant pm_runtime_mark_last_busy() calls
> iio: adc: Remove redundant pm_runtime_mark_last_busy() calls
> iio: chemical: Remove redundant pm_runtime_mark_last_busy() calls
> iio: common: Remove redundant pm_runtime_mark_last_busy() calls
> iio: dac: Remove redundant pm_runtime_mark_last_busy() calls
> iio: gyro: Remove redundant pm_runtime_mark_last_busy() calls
> iio: imu: Remove redundant pm_runtime_mark_last_busy() calls
> iio: light: Remove redundant pm_runtime_mark_last_busy() calls
> iio: magnetometer: Remove redundant pm_runtime_mark_last_busy() calls
> iio: pressure: Remove redundant pm_runtime_mark_last_busy() calls
> iio: proximity: Remove redundant pm_runtime_mark_last_busy() calls
> iio: temperature: Remove redundant pm_runtime_mark_last_busy() calls
> Input: omap4-keypad: Remove redundant pm_runtime_mark_last_busy()
> calls
> Input: cs40l50: Remove redundant pm_runtime_mark_last_busy() calls
> media: Remove redundant pm_runtime_mark_last_busy() calls
> mfd: Remove redundant pm_runtime_mark_last_busy() calls
> mei: Remove redundant pm_runtime_mark_last_busy() calls
> mmc: Remove redundant pm_runtime_mark_last_busy() calls
> mtd: rawnand: gpmi: Remove redundant pm_runtime_mark_last_busy() calls
> net: ethernet: Remove redundant pm_runtime_mark_last_busy() calls
> net: ipa: Remove redundant pm_runtime_mark_last_busy() calls
> net: wireless: Remove redundant pm_runtime_mark_last_busy() calls
> net: wwan: Remove redundant pm_runtime_mark_last_busy() calls
> nfc: trf7970a: Remove redundant pm_runtime_mark_last_busy() calls
> PCI/portdrv: Remove redundant pm_runtime_mark_last_busy() calls
> phy: motorola: phy-mapphone-mdm6600: Remove redundant
> pm_runtime_mark_last_busy() calls
> phy: ti: phy-twl4030-usb: Remove redundant pm_runtime_mark_last_busy()
> calls
> power: supply: bq24190: Remove redundant pm_runtime_mark_last_busy()
> calls
> power: supply: twl4030_charger: Remove redundant
> pm_runtime_mark_last_busy() calls
> pwm: img: Remove redundant pm_runtime_mark_last_busy() calls
> regulator: stm32-vrefbuf: Remove redundant pm_runtime_mark_last_busy()
> calls
> remoteproc: omap: Remove redundant pm_runtime_mark_last_busy() calls
> slimbus: Remove redundant pm_runtime_mark_last_busy() calls
> soundwire: Remove redundant pm_runtime_mark_last_busy() calls
> spi: Remove redundant pm_runtime_mark_last_busy() calls
> staging: greybus: Remove redundant pm_runtime_mark_last_busy() calls
> greybus: Remove redundant pm_runtime_mark_last_busy() calls
> media: rkvdec: Remove redundant pm_runtime_mark_last_busy() calls
> thunderbolt: Remove redundant pm_runtime_mark_last_busy() calls
> serial: Remove redundant pm_runtime_mark_last_busy() calls
> usb: Remove redundant pm_runtime_mark_last_busy() calls
> w1: omap-hdq: Remove redundant pm_runtime_mark_last_busy() calls
> ALSA: hda: Remove redundant pm_runtime_mark_last_busy() calls
> ASoC: atmel: Remove redundant pm_runtime_mark_last_busy() calls
> ASoC: codecs: Remove redundant pm_runtime_mark_last_busy() calls
> ASoC: Intel: Remove redundant pm_runtime_mark_last_busy() calls
> ASoC: component: Remove redundant pm_runtime_mark_last_busy() calls
> ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls
> ALSA: intel_hdmi: Remove redundant pm_runtime_mark_last_busy() calls
> soc: apple: mailbox: Remove redundant pm_runtime_mark_last_busy()
> calls
> block: pm: Remove redundant pm_runtime_mark_last_busy() calls
> Input: cyapa - Remove redundant pm_runtime_mark_last_busy() calls
> mei: Remove redundant pm_runtime_mark_last_busy() calls
> scsi: block: pm: Remove redundant pm_runtime_mark_last_busy() calls
>
> block/blk-pm.c | 1 -
> drivers/accel/amdxdna/amdxdna_pci_drv.c | 3 --
> drivers/accel/ivpu/ivpu_job.c | 1 -
> drivers/accel/ivpu/ivpu_pm.c | 2 --
> drivers/bluetooth/btmtksdio.c | 1 -
> drivers/bluetooth/hci_bcm.c | 3 --
> drivers/bluetooth/hci_h5.c | 2 --
> drivers/bluetooth/hci_intel.c | 3 --
> drivers/bus/sunxi-rsb.c | 2 --
> drivers/char/hw_random/atmel-rng.c | 1 -
> drivers/char/hw_random/cctrng.c | 1 -
> drivers/char/hw_random/mtk-rng.c | 1 -
> drivers/char/hw_random/npcm-rng.c | 1 -
> drivers/char/hw_random/omap3-rom-rng.c | 1 -
> drivers/char/hw_random/rockchip-rng.c | 3 --
> drivers/char/hw_random/stm32-rng.c | 1 -
> drivers/clk/imx/clk-imx8qxp-lpcg.c | 1 -
> drivers/clk/imx/clk-scu.c | 1 -
> drivers/clk/qcom/lpassaudiocc-sc7280.c | 2 --
> drivers/clk/qcom/lpasscorecc-sc7180.c | 2 --
> drivers/crypto/ccree/cc_pm.c | 1 -
> drivers/crypto/hisilicon/qm.c | 1 -
> drivers/crypto/omap-aes-gcm.c | 1 -
> drivers/crypto/omap-aes.c | 1 -
> drivers/crypto/omap-des.c | 1 -
> drivers/crypto/omap-sham.c | 1 -
> drivers/crypto/stm32/stm32-cryp.c | 1 -
> drivers/crypto/stm32/stm32-hash.c | 1 -
> drivers/dma/at_xdmac.c | 11 ------
> drivers/dma/pl330.c | 5 ---
> drivers/dma/qcom/bam_dma.c | 5 ---
> drivers/dma/qcom/hidma.c | 9 -----
> drivers/dma/qcom/hidma_dbg.c | 1 -
> drivers/dma/qcom/hidma_mgmt.c | 2 --
> drivers/dma/ste_dma40.c | 8 -----
> drivers/dma/ti/cppi41.c | 5 ---
> drivers/dma/xilinx/zynqmp_dma.c | 2 --
> drivers/gpio/gpio-arizona.c | 2 --
> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 1 -
> .../gpu/drm/amd/amdgpu/amdgpu_connectors.c | 4 ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 25 -------------
> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 --
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 --
> drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 1 -
> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 --
> drivers/gpu/drm/amd/amdgpu/amdgpu_rap.c | 1 -
> drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 1 -
> .../gpu/drm/amd/amdgpu/amdgpu_securedisplay.c | 1 -
> drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 1 -
> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 1 -
> drivers/gpu/drm/amd/pm/amdgpu_pm.c | 1 -
> .../drm/bridge/analogix/analogix_dp_core.c | 2 --
> drivers/gpu/drm/bridge/analogix/anx7625.c | 2 --
> drivers/gpu/drm/bridge/parade-ps8640.c | 2 --
> drivers/gpu/drm/bridge/ti-sn65dsi86.c | 1 -
> drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4 ---
> drivers/gpu/drm/exynos/exynos_drm_fimc.c | 2 --
> drivers/gpu/drm/exynos/exynos_drm_g2d.c | 2 --
> drivers/gpu/drm/exynos/exynos_drm_gsc.c | 2 --
> drivers/gpu/drm/exynos/exynos_drm_rotator.c | 1 -
> drivers/gpu/drm/exynos/exynos_drm_scaler.c | 1 -
> drivers/gpu/drm/i915/intel_runtime_pm.c | 2 --
> drivers/gpu/drm/imx/dcss/dcss-crtc.c | 1 -
> drivers/gpu/drm/lima/lima_sched.c | 1 -
> drivers/gpu/drm/nouveau/dispnv50/disp.c | 2 --
> drivers/gpu/drm/nouveau/nouveau_connector.c | 1 -
> drivers/gpu/drm/nouveau/nouveau_debugfs.c | 1 -
> drivers/gpu/drm/nouveau/nouveau_display.c | 1 -
> drivers/gpu/drm/nouveau/nouveau_drm.c | 4 ---
> drivers/gpu/drm/nouveau/nouveau_gem.c | 3 --
> drivers/gpu/drm/panel/panel-edp.c | 3 --
> .../gpu/drm/panel/panel-samsung-atna33xc20.c | 2 --
> drivers/gpu/drm/panel/panel-simple.c | 2 --
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 2 --
> drivers/gpu/drm/panthor/panthor_sched.c | 2 --
> drivers/gpu/drm/radeon/radeon_acpi.c | 1 -
> drivers/gpu/drm/radeon/radeon_connectors.c | 5 ---
> drivers/gpu/drm/radeon/radeon_display.c | 2 --
> drivers/gpu/drm/radeon/radeon_drv.c | 2 --
> drivers/gpu/drm/radeon/radeon_fbdev.c | 2 --
> drivers/gpu/drm/radeon/radeon_kms.c | 4 ---
> drivers/gpu/drm/tegra/submit.c | 1 -
> drivers/gpu/drm/tidss/tidss_drv.c | 2 --
> drivers/gpu/drm/vc4/vc4_v3d.c | 1 -
> drivers/greybus/bundle.c | 1 -
> drivers/greybus/interface.c | 1 -
> .../intel-quicki2c/pci-quicki2c.c | 2 --
> .../intel-quicki2c/quicki2c-hid.c | 1 -
> .../intel-quickspi/pci-quickspi.c | 2 --
> .../intel-quickspi/quickspi-hid.c | 1 -
> drivers/hsi/controllers/omap_ssi_port.c | 11 ------
> drivers/hwtracing/stm/core.c | 3 --
> drivers/i2c/busses/i2c-amd-mp2.h | 1 -
> drivers/i2c/busses/i2c-at91-core.c | 1 -
> drivers/i2c/busses/i2c-at91-master.c | 1 -
> drivers/i2c/busses/i2c-cadence.c | 1 -
> drivers/i2c/busses/i2c-davinci.c | 2 --
> drivers/i2c/busses/i2c-designware-master.c | 1 -
> drivers/i2c/busses/i2c-hix5hd2.c | 1 -
> drivers/i2c/busses/i2c-i801.c | 1 -
> drivers/i2c/busses/i2c-img-scb.c | 3 --
> drivers/i2c/busses/i2c-imx-lpi2c.c | 4 ---
> drivers/i2c/busses/i2c-imx.c | 3 --
> drivers/i2c/busses/i2c-mv64xxx.c | 1 -
> drivers/i2c/busses/i2c-nvidia-gpu.c | 1 -
> drivers/i2c/busses/i2c-omap.c | 3 --
> drivers/i2c/busses/i2c-qcom-cci.c | 2 --
> drivers/i2c/busses/i2c-qcom-geni.c | 1 -
> drivers/i2c/busses/i2c-qup.c | 3 --
> drivers/i2c/busses/i2c-riic.c | 2 --
> drivers/i2c/busses/i2c-rzv2m.c | 1 -
> drivers/i2c/busses/i2c-sprd.c | 2 --
> drivers/i2c/busses/i2c-stm32f7.c | 5 ---
> drivers/i2c/busses/i2c-xiic.c | 1 -
> drivers/i3c/master/dw-i3c-master.c | 8 -----
> drivers/i3c/master/svc-i3c-master.c | 8 -----
> drivers/iio/accel/bmc150-accel-core.c | 1 -
> drivers/iio/accel/bmi088-accel-core.c | 3 --
> drivers/iio/accel/fxls8962af-core.c | 1 -
> drivers/iio/accel/kxcjk-1013.c | 1 -
> drivers/iio/accel/kxsd9.c | 3 --
> drivers/iio/accel/mma8452.c | 1 -
> drivers/iio/accel/mma9551_core.c | 1 -
> drivers/iio/accel/msa311.c | 6 ----
> drivers/iio/adc/ab8500-gpadc.c | 1 -
> drivers/iio/adc/at91-sama5d2_adc.c | 10 ------
> drivers/iio/adc/imx8qxp-adc.c | 2 --
> drivers/iio/adc/imx93_adc.c | 1 -
> drivers/iio/adc/rcar-gyroadc.c | 1 -
> drivers/iio/adc/rzg2l_adc.c | 3 --
> drivers/iio/adc/stm32-adc-core.c | 1 -
> drivers/iio/adc/stm32-adc.c | 7 ----
> drivers/iio/adc/sun4i-gpadc-iio.c | 2 --
> drivers/iio/adc/ti-ads1015.c | 1 -
> drivers/iio/adc/ti-ads1100.c | 1 -
> drivers/iio/adc/ti-ads1119.c | 2 --
> drivers/iio/chemical/atlas-sensor.c | 2 --
> drivers/iio/chemical/bme680_core.c | 3 --
> .../common/hid-sensors/hid-sensor-trigger.c | 1 -
> drivers/iio/dac/stm32-dac.c | 3 --
> drivers/iio/gyro/bmg160_core.c | 1 -
> drivers/iio/gyro/fxas21002c_core.c | 2 --
> drivers/iio/gyro/mpu3050-core.c | 3 --
> drivers/iio/gyro/mpu3050-i2c.c | 1 -
> .../iio/imu/inv_icm42600/inv_icm42600_accel.c | 5 ---
> .../imu/inv_icm42600/inv_icm42600_buffer.c | 1 -
> .../iio/imu/inv_icm42600/inv_icm42600_gyro.c | 5 ---
> .../iio/imu/inv_icm42600/inv_icm42600_temp.c | 1 -
> drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 6 ----
> drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c | 1 -
> drivers/iio/imu/kmx61.c | 1 -
> drivers/iio/light/apds9306.c | 2 --
> drivers/iio/light/apds9960.c | 1 -
> drivers/iio/light/bh1780.c | 1 -
> drivers/iio/light/gp2ap002.c | 2 --
> drivers/iio/light/isl29028.c | 1 -
> drivers/iio/light/ltrf216a.c | 1 -
> drivers/iio/light/pa12203001.c | 1 -
> drivers/iio/light/rpr0521.c | 1 -
> drivers/iio/light/tsl2583.c | 1 -
> drivers/iio/light/tsl2591.c | 2 --
> drivers/iio/light/us5182d.c | 1 -
> drivers/iio/light/vcnl4000.c | 1 -
> drivers/iio/light/vcnl4035.c | 1 -
> drivers/iio/magnetometer/ak8974.c | 2 --
> drivers/iio/magnetometer/ak8975.c | 1 -
> drivers/iio/magnetometer/als31300.c | 2 --
> drivers/iio/magnetometer/bmc150_magn.c | 1 -
> drivers/iio/magnetometer/tmag5273.c | 2 --
> drivers/iio/magnetometer/yamaha-yas530.c | 2 --
> drivers/iio/pressure/bmp280-core.c | 5 ---
> drivers/iio/pressure/icp10100.c | 1 -
> drivers/iio/pressure/mpl115.c | 2 --
> drivers/iio/pressure/zpa2326.c | 2 --
> .../iio/proximity/pulsedlight-lidar-lite-v2.c | 1 -
> drivers/iio/proximity/srf04.c | 1 -
> drivers/iio/temperature/mlx90614.c | 1 -
> drivers/iio/temperature/mlx90632.c | 1 -
> drivers/iio/temperature/mlx90635.c | 1 -
> drivers/input/keyboard/omap4-keypad.c | 4 ---
> drivers/input/misc/cs40l50-vibra.c | 4 ---
> drivers/input/mouse/cyapa.c | 3 --
> drivers/input/mouse/cyapa_gen5.c | 1 -
> drivers/media/i2c/alvium-csi2.c | 1 -
> drivers/media/i2c/ccs/ccs-core.c | 4 ---
> drivers/media/i2c/dw9768.c | 1 -
> drivers/media/i2c/gc0308.c | 3 --
> drivers/media/i2c/gc2145.c | 3 --
> drivers/media/i2c/imx219.c | 2 --
> drivers/media/i2c/imx283.c | 3 --
> drivers/media/i2c/imx290.c | 3 --
> drivers/media/i2c/imx296.c | 1 -
> drivers/media/i2c/imx415.c | 1 -
> drivers/media/i2c/mt9m114.c | 6 ----
> drivers/media/i2c/ov4689.c | 3 --
> drivers/media/i2c/ov5640.c | 4 ---
> drivers/media/i2c/ov5645.c | 3 --
> drivers/media/i2c/ov64a40.c | 4 ---
> drivers/media/i2c/ov8858.c | 2 --
> drivers/media/i2c/st-mipid02.c | 2 --
> drivers/media/i2c/tc358746.c | 5 ---
> drivers/media/i2c/thp7312.c | 4 ---
> drivers/media/i2c/vd55g1.c | 4 ---
> drivers/media/i2c/vd56g3.c | 4 ---
> drivers/media/i2c/video-i2c.c | 4 ---
> .../chips-media/wave5/wave5-vpu-dec.c | 4 ---
> .../chips-media/wave5/wave5-vpu-enc.c | 5 ---
> .../media/platform/nvidia/tegra-vde/h264.c | 2 --
> .../media/platform/qcom/iris/iris_hfi_queue.c | 1 -
> .../platform/raspberrypi/pisp_be/pisp_be.c | 2 --
> .../media/platform/verisilicon/hantro_drv.c | 1 -
> drivers/media/rc/gpio-ir-recv.c | 1 -
> drivers/mfd/arizona-irq.c | 1 -
> drivers/mfd/cs40l50-core.c | 1 -
> drivers/mfd/cs42l43.c | 1 -
> drivers/misc/mei/client.c | 9 -----
> drivers/misc/mei/interrupt.c | 2 --
> drivers/mmc/core/core.c | 1 -
> drivers/mmc/host/atmel-mci.c | 2 --
> drivers/mmc/host/mmci.c | 1 -
> drivers/mmc/host/omap_hsmmc.c | 3 --
> drivers/mmc/host/sdhci-esdhc-imx.c | 1 -
> drivers/mmc/host/sdhci-msm.c | 1 -
> drivers/mmc/host/sdhci-omap.c | 2 --
> drivers/mmc/host/sdhci-pxav3.c | 2 --
> drivers/mmc/host/sdhci-sprd.c | 1 -
> drivers/mmc/host/sdhci_am654.c | 1 -
> drivers/mmc/host/tmio_mmc_core.c | 1 -
> drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 3 --
> drivers/net/ethernet/cadence/macb_main.c | 5 ---
> drivers/net/ethernet/freescale/fec_main.c | 8 -----
> drivers/net/ethernet/renesas/ravb_main.c | 4 ---
> drivers/net/ethernet/ti/davinci_mdio.c | 7 ----
> drivers/net/ipa/ipa_interrupt.c | 1 -
> drivers/net/ipa/ipa_main.c | 1 -
> drivers/net/ipa/ipa_modem.c | 4 ---
> drivers/net/ipa/ipa_smp2p.c | 2 --
> drivers/net/ipa/ipa_uc.c | 2 --
> drivers/net/wireless/ath/wil6210/pm.c | 1 -
> drivers/net/wireless/ti/wl18xx/debugfs.c | 3 --
> drivers/net/wireless/ti/wlcore/cmd.c | 1 -
> drivers/net/wireless/ti/wlcore/debugfs.c | 11 ------
> drivers/net/wireless/ti/wlcore/main.c | 36 -------------------
> drivers/net/wireless/ti/wlcore/scan.c | 1 -
> drivers/net/wireless/ti/wlcore/sysfs.c | 1 -
> drivers/net/wireless/ti/wlcore/testmode.c | 2 --
> drivers/net/wireless/ti/wlcore/tx.c | 1 -
> drivers/net/wireless/ti/wlcore/vendor_cmd.c | 3 --
> drivers/net/wwan/qcom_bam_dmux.c | 2 --
> drivers/net/wwan/t7xx/t7xx_hif_cldma.c | 3 --
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c | 2 --
> drivers/net/wwan/t7xx/t7xx_hif_dpmaif_tx.c | 2 --
> drivers/nfc/trf7970a.c | 1 -
> drivers/pci/pcie/portdrv.c | 1 -
> drivers/phy/motorola/phy-mapphone-mdm6600.c | 2 --
> drivers/phy/ti/phy-twl4030-usb.c | 3 --
> drivers/power/supply/bq24190_charger.c | 14 --------
> drivers/power/supply/twl4030_charger.c | 1 -
> drivers/pwm/pwm-img.c | 2 --
> drivers/regulator/stm32-vrefbuf.c | 6 ----
> drivers/remoteproc/omap_remoteproc.c | 3 --
> drivers/scsi/scsi_pm.c | 1 -
> drivers/slimbus/core.c | 1 -
> drivers/slimbus/messaging.c | 2 --
> drivers/slimbus/qcom-ctrl.c | 1 -
> drivers/soc/apple/mailbox.c | 1 -
> drivers/soundwire/bus.c | 1 -
> drivers/soundwire/cadence_master.c | 1 -
> drivers/soundwire/qcom.c | 3 --
> drivers/spi/atmel-quadspi.c | 5 ---
> drivers/spi/spi-cadence-quadspi.c | 2 --
> drivers/spi/spi-cadence.c | 1 -
> drivers/spi/spi-fsl-espi.c | 2 --
> drivers/spi/spi-fsl-lpspi.c | 2 --
> drivers/spi/spi-imx.c | 3 --
> drivers/spi/spi-mtk-nor.c | 1 -
> drivers/spi/spi-nxp-fspi.c | 1 -
> drivers/spi/spi-omap2-mcspi.c | 3 --
> drivers/spi/spi-rockchip-sfc.c | 3 --
> drivers/spi/spi-s3c64xx.c | 3 --
> drivers/spi/spi-sprd.c | 1 -
> drivers/spi/spi-stm32-ospi.c | 7 ----
> drivers/spi/spi-stm32-qspi.c | 7 ----
> drivers/spi/spi-stm32.c | 2 --
> drivers/spi/spi-ti-qspi.c | 2 --
> drivers/spi/spi-zynqmp-gqspi.c | 1 -
> drivers/spi/spi.c | 3 --
> drivers/staging/greybus/gbphy.c | 1 -
> drivers/staging/greybus/gbphy.h | 1 -
> drivers/staging/media/rkvdec/rkvdec.c | 1 -
> drivers/thunderbolt/debugfs.c | 11 ------
> drivers/thunderbolt/domain.c | 2 --
> drivers/thunderbolt/icm.c | 7 ----
> drivers/thunderbolt/retimer.c | 2 --
> drivers/thunderbolt/switch.c | 4 ---
> drivers/thunderbolt/tb.c | 9 -----
> drivers/thunderbolt/usb4_port.c | 2 --
> drivers/tty/serial/8250/8250_omap.c | 9 -----
> drivers/tty/serial/8250/8250_port.c | 2 --
> drivers/tty/serial/fsl_lpuart.c | 1 -
> drivers/tty/serial/serial_core.c | 1 -
> drivers/tty/serial/uartlite.c | 2 --
> drivers/tty/serial/xilinx_uartps.c | 1 -
> drivers/usb/cdns3/cdns3-gadget.c | 1 -
> drivers/usb/cdns3/cdnsp-gadget.c | 1 -
> drivers/usb/chipidea/core.c | 1 -
> drivers/usb/chipidea/otg_fsm.c | 1 -
> drivers/usb/dwc3/core.c | 2 --
> drivers/usb/dwc3/dwc3-am62.c | 1 -
> drivers/usb/dwc3/dwc3-imx8mp.c | 1 -
> drivers/usb/dwc3/dwc3-pci.c | 1 -
> drivers/usb/dwc3/dwc3-xilinx.c | 1 -
> drivers/usb/gadget/udc/cdns2/cdns2-gadget.c | 1 -
> drivers/usb/host/xhci-mtk.c | 1 -
> drivers/usb/host/xhci-tegra.c | 1 -
> drivers/usb/misc/apple-mfi-fastcharge.c | 1 -
> drivers/usb/mtu3/mtu3_plat.c | 1 -
> drivers/usb/musb/musb_core.c | 5 ---
> drivers/usb/musb/musb_debugfs.c | 5 ---
> drivers/usb/musb/musb_dsps.c | 1 -
> drivers/usb/musb/musb_gadget.c | 4 ---
> drivers/usb/musb/omap2430.c | 1 -
> drivers/w1/masters/omap_hdq.c | 5 ---
> sound/hda/hdac_device.c | 1 -
> sound/pci/hda/cs35l41_hda.c | 4 ---
> sound/pci/hda/cs35l56_hda.c | 1 -
> sound/pci/hda/tas2781_hda_i2c.c | 3 --
> sound/pci/hda/tas2781_hda_spi.c | 4 ---
> sound/soc/atmel/mchp-spdifrx.c | 6 ----
> sound/soc/codecs/arizona-jack.c | 2 --
> sound/soc/codecs/cs35l41.c | 2 --
> sound/soc/codecs/cs35l45.c | 1 -
> sound/soc/codecs/cs35l56-sdw.c | 1 -
> sound/soc/codecs/cs35l56.c | 1 -
> sound/soc/codecs/cs42l42.c | 1 -
> sound/soc/codecs/cs42l43-jack.c | 5 ---
> sound/soc/codecs/cs42l43.c | 2 --
> sound/soc/codecs/cs48l32.c | 1 -
> sound/soc/codecs/hda.c | 3 --
> sound/soc/codecs/max98363.c | 1 -
> sound/soc/codecs/max98373-sdw.c | 1 -
> sound/soc/codecs/rt1017-sdca-sdw.c | 1 -
> sound/soc/codecs/rt1308-sdw.c | 1 -
> sound/soc/codecs/rt1316-sdw.c | 1 -
> sound/soc/codecs/rt1318-sdw.c | 1 -
> sound/soc/codecs/rt1320-sdw.c | 1 -
> sound/soc/codecs/rt5682-sdw.c | 1 -
> sound/soc/codecs/rt700.c | 2 --
> sound/soc/codecs/rt711-sdca.c | 2 --
> sound/soc/codecs/rt711.c | 2 --
> sound/soc/codecs/rt712-sdca-dmic.c | 1 -
> sound/soc/codecs/rt712-sdca.c | 2 --
> sound/soc/codecs/rt715-sdca.c | 1 -
> sound/soc/codecs/rt715.c | 1 -
> sound/soc/codecs/rt721-sdca.c | 2 --
> sound/soc/codecs/rt722-sdca.c | 2 --
> sound/soc/codecs/rt9123.c | 3 --
> sound/soc/codecs/tas2552.c | 1 -
> sound/soc/codecs/wcd-mbhc-v2.c | 2 --
> sound/soc/codecs/wsa881x.c | 1 -
> sound/soc/codecs/wsa883x.c | 1 -
> sound/soc/codecs/wsa884x.c | 1 -
> sound/soc/intel/atom/sst/sst_pvt.c | 1 -
> sound/soc/intel/avs/core.c | 1 -
> sound/soc/intel/avs/debugfs.c | 2 --
> sound/soc/intel/avs/ipc.c | 1 -
> sound/soc/intel/avs/pcm.c | 1 -
> sound/soc/intel/catpt/pcm.c | 6 ----
> sound/soc/intel/catpt/sysfs.c | 1 -
> sound/soc/soc-component.c | 1 -
> sound/soc/sof/control.c | 1 -
> sound/soc/sof/debug.c | 1 -
> sound/soc/sof/ipc3-dtrace.c | 1 -
> sound/soc/sof/ipc4-loader.c | 1 -
> sound/soc/sof/pcm.c | 1 -
> sound/soc/sof/sof-client-ipc-flood-test.c | 1 -
> .../soc/sof/sof-client-ipc-kernel-injector.c | 1 -
> sound/soc/sof/sof-client-ipc-msg-injector.c | 1 -
> sound/soc/sof/sof-client-probes.c | 3 --
> sound/x86/intel_hdmi_audio.c | 3 --
> 381 files changed, 923 deletions(-)
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
@ 2025-07-04 9:05 ` Jonathan Cameron
2025-07-10 6:46 ` Matti Vaittinen
1 sibling, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-04 9:05 UTC (permalink / raw)
To: Sakari Ailus
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Waqar Hameed, Julien Stephan, Peter Zijlstra, Bo Liu, Greg KH,
Al Viro, Sean Nyekjaer, Marcelo Schmitt, Rayyan Ansari,
Francisco Henriques, Matti Vaittinen, linux-iio, linux-kernel
On Fri, 4 Jul 2025 10:54:18 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/iio/accel/bmc150-accel-core.c | 1 -
> drivers/iio/accel/bmi088-accel-core.c | 3 ---
> drivers/iio/accel/fxls8962af-core.c | 1 -
> drivers/iio/accel/kxcjk-1013.c | 1 -
> drivers/iio/accel/kxsd9.c | 3 ---
> drivers/iio/accel/mma8452.c | 1 -
> drivers/iio/accel/mma9551_core.c | 1 -
> drivers/iio/accel/msa311.c | 6 ------
> 8 files changed, 17 deletions(-)
>
> diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
> index be5fbb0c5d29..f45beae83f8b 100644
> --- a/drivers/iio/accel/bmc150-accel-core.c
> +++ b/drivers/iio/accel/bmc150-accel-core.c
> @@ -335,7 +335,6 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(dev);
> } else {
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> }
See kernel coding style. The drop to one line in each leg means we should drop the {}
> diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c
> index 12598feaa693..8afd151c03ad 100644
> --- a/drivers/iio/accel/fxls8962af-core.c
> +++ b/drivers/iio/accel/fxls8962af-core.c
> @@ -222,7 +222,6 @@ static int fxls8962af_power_off(struct fxls8962af_data *data)
> struct device *dev = regmap_get_device(data->regmap);
> int ret;
>
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> if (ret)
> dev_err(dev, "failed to power off\n");
> diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
> index 6aefe8221296..44d770729186 100644
> --- a/drivers/iio/accel/kxcjk-1013.c
> +++ b/drivers/iio/accel/kxcjk-1013.c
> @@ -637,7 +637,6 @@ static int kxcjk1013_set_power_state(struct kxcjk1013_data *data, bool on)
> if (on)
> ret = pm_runtime_resume_and_get(&data->client->dev);
> else {
> - pm_runtime_mark_last_busy(&data->client->dev);
Likewise here.
> ret = pm_runtime_put_autosuspend(&data->client->dev);
> }
> if (ret < 0) {
> diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
> index aba444a980d9..5863478bab62 100644
> --- a/drivers/iio/accel/mma8452.c
> +++ b/drivers/iio/accel/mma8452.c
> @@ -227,7 +227,6 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(&client->dev);
> } else {
> - pm_runtime_mark_last_busy(&client->dev);
And here.
> ret = pm_runtime_put_autosuspend(&client->dev);
> }
>
> diff --git a/drivers/iio/accel/mma9551_core.c b/drivers/iio/accel/mma9551_core.c
> index 3e7d9b79ed0e..22768f43fd24 100644
> --- a/drivers/iio/accel/mma9551_core.c
> +++ b/drivers/iio/accel/mma9551_core.c
> @@ -672,7 +672,6 @@ int mma9551_set_power_state(struct i2c_client *client, bool on)
> if (on)
> ret = pm_runtime_resume_and_get(&client->dev);
> else {
> - pm_runtime_mark_last_busy(&client->dev);
And here...
> ret = pm_runtime_put_autosuspend(&client->dev);
> }
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 28/80] iio: adc: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 28/80] iio: adc: " Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
@ 2025-07-04 9:09 ` Jonathan Cameron
1 sibling, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-04 9:09 UTC (permalink / raw)
To: Sakari Ailus
Cc: Linus Walleij, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Eugen Hristev, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Cai Huoqing, Haibo Chen, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Marek Vasut,
Geert Uytterhoeven, Magnus Damm, Lad Prabhakar, Maxime Coquelin,
Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Francesco Dolcini, João Paulo Gonçalves,
Jiri Slaby (SUSE), Fabrice Gasnier, Rob Herring (Arm),
Uwe Kleine-König, Mike Looijmans, Olivier Moysan,
Christophe JAILLET, Julien Stephan, linux-arm-kernel, linux-iio,
linux-kernel, imx, linux-renesas-soc, linux-stm32, linux-sunxi
On Fri, 4 Jul 2025 10:54:19 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/iio/adc/ab8500-gpadc.c | 1 -
> drivers/iio/adc/at91-sama5d2_adc.c | 10 ----------
> drivers/iio/adc/imx8qxp-adc.c | 2 --
> drivers/iio/adc/imx93_adc.c | 1 -
> drivers/iio/adc/rcar-gyroadc.c | 1 -
> drivers/iio/adc/rzg2l_adc.c | 3 ---
> drivers/iio/adc/stm32-adc-core.c | 1 -
> drivers/iio/adc/stm32-adc.c | 7 -------
> drivers/iio/adc/sun4i-gpadc-iio.c | 2 --
> drivers/iio/adc/ti-ads1015.c | 1 -
> drivers/iio/adc/ti-ads1100.c | 1 -
> drivers/iio/adc/ti-ads1119.c | 2 --
> 12 files changed, 32 deletions(-)
>
> diff --git a/drivers/iio/adc/ab8500-gpadc.c b/drivers/iio/adc/ab8500-gpadc.c
> index f3b057f92310..8eaa1dd6a89b 100644
> --- a/drivers/iio/adc/ab8500-gpadc.c
> +++ b/drivers/iio/adc/ab8500-gpadc.c
> @@ -607,7 +607,6 @@ static int ab8500_gpadc_read(struct ab8500_gpadc *gpadc,
> }
>
> /* This eventually drops the regulator */
> - pm_runtime_mark_last_busy(gpadc->dev);
> pm_runtime_put_autosuspend(gpadc->dev);
>
> return (high_data << 8) | low_data;
> diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c
> index c3450246730e..67846fefe21a 100644
> --- a/drivers/iio/adc/at91-sama5d2_adc.c
> +++ b/drivers/iio/adc/at91-sama5d2_adc.c
> @@ -896,7 +896,6 @@ static int at91_adc_config_emr(struct at91_adc_state *st,
> emr |= osr | AT91_SAMA5D2_TRACKX(trackx);
> at91_adc_writel(st, EMR, emr);
>
> - pm_runtime_mark_last_busy(st->dev);
> pm_runtime_put_autosuspend(st->dev);
>
> st->oversampling_ratio = oversampling_ratio;
> @@ -971,7 +970,6 @@ static int at91_adc_configure_touch(struct at91_adc_state *st, bool state)
> AT91_SAMA5D2_IER_PEN | AT91_SAMA5D2_IER_NOPEN);
> at91_adc_writel(st, TSMR, 0);
>
> - pm_runtime_mark_last_busy(st->dev);
> pm_runtime_put_autosuspend(st->dev);
> return 0;
> }
> @@ -1143,7 +1141,6 @@ static int at91_adc_configure_trigger(struct iio_trigger *trig, bool state)
> at91_adc_configure_trigger_registers(st, state);
>
> if (!state) {
> - pm_runtime_mark_last_busy(st->dev);
Getting familiar. I'll not comment on other cases but {} should go here.
> pm_runtime_put_autosuspend(st->dev);
> }
Please fix all those up and post a v2 series for IIO.
I'd guess similar are present in other subsystems though so may well
need a v2 as well with the excess brackets dropped.
Jonathan
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 33/80] iio: imu: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 33/80] iio: imu: " Sakari Ailus
@ 2025-07-04 10:26 ` Waqar Hameed
0 siblings, 0 replies; 30+ messages in thread
From: Waqar Hameed @ 2025-07-04 10:26 UTC (permalink / raw)
To: Sakari Ailus
Cc: Jean-Baptiste Maneyrol, Jonathan Cameron, David Lechner,
Nuno Sá, Andy Shevchenko, Javier Carrasco, linux-iio,
linux-kernel
On Fri, Jul 04, 2025 at 10:54 +0300 Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
[...]
> diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c
> index 55c82891e08c..42016d56c852 100644
> --- a/drivers/iio/imu/kmx61.c
> +++ b/drivers/iio/imu/kmx61.c
> @@ -750,7 +750,6 @@ static int kmx61_set_power_state(struct kmx61_data *data, bool on, u8 device)
> if (on) {
> ret = pm_runtime_resume_and_get(&data->client->dev);
> } else {
> - pm_runtime_mark_last_busy(&data->client->dev);
> ret = pm_runtime_put_autosuspend(&data->client->dev);
As Jonathan mentioned in [PATCH 27/80], please run `checkpatch.pl`. It
will tell you that the braces should be eliminated.
> }
> if (ret < 0) {
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 32/80] iio: gyro: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 32/80] iio: gyro: " Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
@ 2025-07-04 15:25 ` Rui Miguel Silva
1 sibling, 0 replies; 30+ messages in thread
From: Rui Miguel Silva @ 2025-07-04 15:25 UTC (permalink / raw)
To: Sakari Ailus, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Rui Miguel Silva, Linus Walleij, Julien Stephan,
Hans de Goede, Waqar Hameed
Cc: linux-iio, linux-kernel
Hi Sakari,
Thanks for the patch
On Fri Jul 4, 2025 at 8:54 AM WEST, Sakari Ailus wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/iio/gyro/bmg160_core.c | 1 -
> drivers/iio/gyro/fxas21002c_core.c | 2 --
> drivers/iio/gyro/mpu3050-core.c | 3 ---
> drivers/iio/gyro/mpu3050-i2c.c | 1 -
> 4 files changed, 7 deletions(-)
>
> diff --git a/drivers/iio/gyro/bmg160_core.c b/drivers/iio/gyro/bmg160_core.c
> index 781d3e96645f..4dbe3c0cc5eb 100644
> --- a/drivers/iio/gyro/bmg160_core.c
> +++ b/drivers/iio/gyro/bmg160_core.c
> @@ -310,7 +310,6 @@ static int bmg160_set_power_state(struct bmg160_data *data, bool on)
> if (on)
> ret = pm_runtime_get_sync(dev);
> else {
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> }
>
> diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas21002c_core.c
> index 754c8a564ba4..a88670207cec 100644
> --- a/drivers/iio/gyro/fxas21002c_core.c
> +++ b/drivers/iio/gyro/fxas21002c_core.c
> @@ -373,8 +373,6 @@ static int fxas21002c_pm_put(struct fxas21002c_data *data)
> {
> struct device *dev = regmap_get_device(data->regmap);
>
> - pm_runtime_mark_last_busy(dev);
> -
> return pm_runtime_put_autosuspend(dev);
> }
LGTM,
Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
Cheers,
Rui
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 38/80] iio: temperature: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 38/80] iio: temperature: " Sakari Ailus
@ 2025-07-04 16:00 ` Crt Mori
2025-07-06 10:25 ` Jonathan Cameron
0 siblings, 1 reply; 30+ messages in thread
From: Crt Mori @ 2025-07-04 16:00 UTC (permalink / raw)
To: Sakari Ailus
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
linux-iio, linux-kernel
If that is the case then:
Acked-by: Crt Mori<cmo@melexis.com>
On Fri, 4 Jul 2025 at 09:54, Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
>
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/iio/temperature/mlx90614.c | 1 -
> drivers/iio/temperature/mlx90632.c | 1 -
> drivers/iio/temperature/mlx90635.c | 1 -
> 3 files changed, 3 deletions(-)
>
> diff --git a/drivers/iio/temperature/mlx90614.c b/drivers/iio/temperature/mlx90614.c
> index 740018d4b3df..8a44a00bfd5e 100644
> --- a/drivers/iio/temperature/mlx90614.c
> +++ b/drivers/iio/temperature/mlx90614.c
> @@ -225,7 +225,6 @@ static void mlx90614_power_put(struct mlx90614_data *data)
> if (!data->wakeup_gpio)
> return;
>
> - pm_runtime_mark_last_busy(&data->client->dev);
> pm_runtime_put_autosuspend(&data->client->dev);
> }
> #else
> diff --git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
> index ae4ea587e7f9..bf689f6143f3 100644
> --- a/drivers/iio/temperature/mlx90632.c
> +++ b/drivers/iio/temperature/mlx90632.c
> @@ -1043,7 +1043,6 @@ static int mlx90632_read_raw(struct iio_dev *indio_dev,
> }
>
> mlx90632_read_raw_pm:
> - pm_runtime_mark_last_busy(&data->client->dev);
> pm_runtime_put_autosuspend(&data->client->dev);
> return ret;
> }
> diff --git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
> index f7f88498ba0e..80d0eb7d2294 100644
> --- a/drivers/iio/temperature/mlx90635.c
> +++ b/drivers/iio/temperature/mlx90635.c
> @@ -749,7 +749,6 @@ static int mlx90635_read_raw(struct iio_dev *indio_dev,
> }
>
> mlx90635_read_raw_pm:
> - pm_runtime_mark_last_busy(&data->client->dev);
> pm_runtime_put_autosuspend(&data->client->dev);
> return ret;
> }
> --
> 2.39.5
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 38/80] iio: temperature: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 16:00 ` Crt Mori
@ 2025-07-06 10:25 ` Jonathan Cameron
2025-07-06 10:26 ` Jonathan Cameron
0 siblings, 1 reply; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-06 10:25 UTC (permalink / raw)
To: Crt Mori
Cc: Sakari Ailus, David Lechner, Nuno Sá, Andy Shevchenko,
linux-iio, linux-kernel
On Fri, 4 Jul 2025 18:00:02 +0200
Crt Mori <cmo@melexis.com> wrote:
> If that is the case then:
> Acked-by: Crt Mori<cmo@melexis.com>
>
>
>
> On Fri, 4 Jul 2025 at 09:54, Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> >
> > 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().
> >
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
No {} issues in here so applied to the testing branch of iio.git.
I'll push it out as togreg later in the week at which point linux-next
will see it.
Jonathan
> > ---
> > The cover letter of the set can be found here
> > <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
> >
> > In brief, this patch depends on PM runtime patches adding marking the last
> > busy timestamp in autosuspend related functions. The patches are here, on
> > rc2:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> > pm-runtime-6.17-rc1
> >
> > drivers/iio/temperature/mlx90614.c | 1 -
> > drivers/iio/temperature/mlx90632.c | 1 -
> > drivers/iio/temperature/mlx90635.c | 1 -
> > 3 files changed, 3 deletions(-)
> >
> > diff --git a/drivers/iio/temperature/mlx90614.c b/drivers/iio/temperature/mlx90614.c
> > index 740018d4b3df..8a44a00bfd5e 100644
> > --- a/drivers/iio/temperature/mlx90614.c
> > +++ b/drivers/iio/temperature/mlx90614.c
> > @@ -225,7 +225,6 @@ static void mlx90614_power_put(struct mlx90614_data *data)
> > if (!data->wakeup_gpio)
> > return;
> >
> > - pm_runtime_mark_last_busy(&data->client->dev);
> > pm_runtime_put_autosuspend(&data->client->dev);
> > }
> > #else
> > diff --git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
> > index ae4ea587e7f9..bf689f6143f3 100644
> > --- a/drivers/iio/temperature/mlx90632.c
> > +++ b/drivers/iio/temperature/mlx90632.c
> > @@ -1043,7 +1043,6 @@ static int mlx90632_read_raw(struct iio_dev *indio_dev,
> > }
> >
> > mlx90632_read_raw_pm:
> > - pm_runtime_mark_last_busy(&data->client->dev);
> > pm_runtime_put_autosuspend(&data->client->dev);
> > return ret;
> > }
> > diff --git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
> > index f7f88498ba0e..80d0eb7d2294 100644
> > --- a/drivers/iio/temperature/mlx90635.c
> > +++ b/drivers/iio/temperature/mlx90635.c
> > @@ -749,7 +749,6 @@ static int mlx90635_read_raw(struct iio_dev *indio_dev,
> > }
> >
> > mlx90635_read_raw_pm:
> > - pm_runtime_mark_last_busy(&data->client->dev);
> > pm_runtime_put_autosuspend(&data->client->dev);
> > return ret;
> > }
> > --
> > 2.39.5
> >
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 38/80] iio: temperature: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-06 10:25 ` Jonathan Cameron
@ 2025-07-06 10:26 ` Jonathan Cameron
2025-07-08 10:52 ` Sakari Ailus
0 siblings, 1 reply; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-06 10:26 UTC (permalink / raw)
To: Crt Mori
Cc: Sakari Ailus, David Lechner, Nuno Sá, Andy Shevchenko,
linux-iio, linux-kernel
On Sun, 6 Jul 2025 11:25:02 +0100
Jonathan Cameron <jic23@kernel.org> wrote:
> On Fri, 4 Jul 2025 18:00:02 +0200
> Crt Mori <cmo@melexis.com> wrote:
>
> > If that is the case then:
> > Acked-by: Crt Mori<cmo@melexis.com>
> >
> >
> >
> > On Fri, 4 Jul 2025 at 09:54, Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> > >
> > > 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().
> > >
> > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> No {} issues in here so applied to the testing branch of iio.git.
> I'll push it out as togreg later in the week at which point linux-next
> will see it.
>
Actually - change of plan. I'll wait on your set with the others fixed
up as I don't want to pull in the pm-runtime change if I'm only going
to have a few of these ready by the end of the cycle. I don't mind merging
that with the whole lot if they are ready though.
Jonathan
> Jonathan
>
> > > ---
> > > The cover letter of the set can be found here
> > > <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
> > >
> > > In brief, this patch depends on PM runtime patches adding marking the last
> > > busy timestamp in autosuspend related functions. The patches are here, on
> > > rc2:
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> > > pm-runtime-6.17-rc1
> > >
> > > drivers/iio/temperature/mlx90614.c | 1 -
> > > drivers/iio/temperature/mlx90632.c | 1 -
> > > drivers/iio/temperature/mlx90635.c | 1 -
> > > 3 files changed, 3 deletions(-)
> > >
> > > diff --git a/drivers/iio/temperature/mlx90614.c b/drivers/iio/temperature/mlx90614.c
> > > index 740018d4b3df..8a44a00bfd5e 100644
> > > --- a/drivers/iio/temperature/mlx90614.c
> > > +++ b/drivers/iio/temperature/mlx90614.c
> > > @@ -225,7 +225,6 @@ static void mlx90614_power_put(struct mlx90614_data *data)
> > > if (!data->wakeup_gpio)
> > > return;
> > >
> > > - pm_runtime_mark_last_busy(&data->client->dev);
> > > pm_runtime_put_autosuspend(&data->client->dev);
> > > }
> > > #else
> > > diff --git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
> > > index ae4ea587e7f9..bf689f6143f3 100644
> > > --- a/drivers/iio/temperature/mlx90632.c
> > > +++ b/drivers/iio/temperature/mlx90632.c
> > > @@ -1043,7 +1043,6 @@ static int mlx90632_read_raw(struct iio_dev *indio_dev,
> > > }
> > >
> > > mlx90632_read_raw_pm:
> > > - pm_runtime_mark_last_busy(&data->client->dev);
> > > pm_runtime_put_autosuspend(&data->client->dev);
> > > return ret;
> > > }
> > > diff --git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
> > > index f7f88498ba0e..80d0eb7d2294 100644
> > > --- a/drivers/iio/temperature/mlx90635.c
> > > +++ b/drivers/iio/temperature/mlx90635.c
> > > @@ -749,7 +749,6 @@ static int mlx90635_read_raw(struct iio_dev *indio_dev,
> > > }
> > >
> > > mlx90635_read_raw_pm:
> > > - pm_runtime_mark_last_busy(&data->client->dev);
> > > pm_runtime_put_autosuspend(&data->client->dev);
> > > return ret;
> > > }
> > > --
> > > 2.39.5
> > >
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 37/80] iio: proximity: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 37/80] iio: proximity: " Sakari Ailus
@ 2025-07-06 10:27 ` Jonathan Cameron
0 siblings, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-06 10:27 UTC (permalink / raw)
To: Sakari Ailus
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Andreas Klinger,
Marcelo Schmitt, linux-iio, linux-kernel
On Fri, 4 Jul 2025 10:54:27 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/iio/proximity/pulsedlight-lidar-lite-v2.c | 1 -
> drivers/iio/proximity/srf04.c | 1 -
> 2 files changed, 2 deletions(-)
>
> diff --git a/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c b/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
> index 1deaf70e92ce..d53a596128f5 100644
> --- a/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
> +++ b/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
> @@ -191,7 +191,6 @@ static int lidar_get_measurement(struct lidar_data *data, u16 *reg)
> }
> ret = -EIO;
> }
> - pm_runtime_mark_last_busy(&client->dev);
> pm_runtime_put_autosuspend(&client->dev);
>
> return ret;
> diff --git a/drivers/iio/proximity/srf04.c b/drivers/iio/proximity/srf04.c
> index b059bac1078b..f2e2c638a2b6 100644
> --- a/drivers/iio/proximity/srf04.c
> +++ b/drivers/iio/proximity/srf04.c
> @@ -118,7 +118,6 @@ static int srf04_read(struct srf04_data *data)
> gpiod_set_value(data->gpiod_trig, 0);
>
> if (data->gpiod_power) {
> - pm_runtime_mark_last_busy(data->dev);
> pm_runtime_put_autosuspend(data->dev);
> }
>
Drop {}
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 35/80] iio: magnetometer: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 35/80] iio: magnetometer: " Sakari Ailus
2025-07-04 8:43 ` Linus Walleij
@ 2025-07-06 10:28 ` Jonathan Cameron
1 sibling, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-06 10:28 UTC (permalink / raw)
To: Sakari Ailus
Cc: Linus Walleij, David Lechner, Nuno Sá, Andy Shevchenko,
Gerald Loacker, Barnabás Czémán,
Krzysztof Kozlowski, Neil Armstrong, Waqar Hameed, Hans de Goede,
Peter Zijlstra, Jakob Hauser, David Laight, Al Viro, linux-iio,
linux-kernel
On Fri, 4 Jul 2025 10:54:25 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> diff --git a/drivers/iio/magnetometer/bmc150_magn.c b/drivers/iio/magnetometer/bmc150_magn.c
> index 761daead5ada..53d860e640a9 100644
> --- a/drivers/iio/magnetometer/bmc150_magn.c
> +++ b/drivers/iio/magnetometer/bmc150_magn.c
> @@ -263,7 +263,6 @@ static int bmc150_magn_set_power_state(struct bmc150_magn_data *data, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(data->dev);
> } else {
> - pm_runtime_mark_last_busy(data->dev);
> ret = pm_runtime_put_autosuspend(data->dev);
> }
>
Drop {} in both legs now neither has multiple lines.
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 34/80] iio: light: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 34/80] iio: light: " Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
@ 2025-07-06 10:31 ` Jonathan Cameron
1 sibling, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-06 10:31 UTC (permalink / raw)
To: Sakari Ailus
Cc: Subhajit Ghosh, David Lechner, Nuno Sá, Andy Shevchenko,
Linus Walleij, Julien Stephan, Waqar Hameed, Abhash Jha,
chuguangqing, Shreeya Patel, Marek Vasut, Al Viro,
Vasileios Amoiridis, Per-Daniel Olsson, Javier Carrasco,
linux-iio, linux-kernel
On Fri, 4 Jul 2025 10:54:24 +0300
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> diff --git a/drivers/iio/light/isl29028.c b/drivers/iio/light/isl29028.c
> index 0e4284823d44..5ff20d423def 100644
> --- a/drivers/iio/light/isl29028.c
> +++ b/drivers/iio/light/isl29028.c
> @@ -341,7 +341,6 @@ static int isl29028_set_pm_runtime_busy(struct isl29028_chip *chip, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(dev);
> } else {
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> }
Drop {}
> diff --git a/drivers/iio/light/pa12203001.c b/drivers/iio/light/pa12203001.c
> index 8885852bef22..93823421f42f 100644
> --- a/drivers/iio/light/pa12203001.c
> +++ b/drivers/iio/light/pa12203001.c
> @@ -189,7 +189,6 @@ static int pa12203001_set_power_state(struct pa12203001_data *data, bool on,
> ret = pm_runtime_resume_and_get(&data->client->dev);
>
Whilst here drop this random blank line.
> } else {
> - pm_runtime_mark_last_busy(&data->client->dev);
> ret = pm_runtime_put_autosuspend(&data->client->dev);
> }
Drop {}
>
> diff --git a/drivers/iio/light/rpr0521.c b/drivers/iio/light/rpr0521.c
> index c50183f07240..15e2cca22e4d 100644
> --- a/drivers/iio/light/rpr0521.c
> +++ b/drivers/iio/light/rpr0521.c
> @@ -361,7 +361,6 @@ static int rpr0521_set_power_state(struct rpr0521_data *data, bool on,
> if (on) {
> ret = pm_runtime_resume_and_get(&data->client->dev);
> } else {
> - pm_runtime_mark_last_busy(&data->client->dev);
> ret = pm_runtime_put_autosuspend(&data->client->dev);
> }
Drop {}
> if (ret < 0) {
> diff --git a/drivers/iio/light/tsl2583.c b/drivers/iio/light/tsl2583.c
> index fc3b0c4226be..d3a4923e5adc 100644
> --- a/drivers/iio/light/tsl2583.c
> +++ b/drivers/iio/light/tsl2583.c
> @@ -646,7 +646,6 @@ static int tsl2583_set_pm_runtime_busy(struct tsl2583_chip *chip, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(&chip->client->dev);
> } else {
> - pm_runtime_mark_last_busy(&chip->client->dev);
> ret = pm_runtime_put_autosuspend(&chip->client->dev);
> }
Drop {}
>
> diff --git a/drivers/iio/light/us5182d.c b/drivers/iio/light/us5182d.c
> index 61a0957317a1..8f0f85e98f3a 100644
> --- a/drivers/iio/light/us5182d.c
> +++ b/drivers/iio/light/us5182d.c
> @@ -369,7 +369,6 @@ static int us5182d_set_power_state(struct us5182d_data *data, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(&data->client->dev);
> } else {
> - pm_runtime_mark_last_busy(&data->client->dev);
> ret = pm_runtime_put_autosuspend(&data->client->dev);
> }
Drop {}
>
> diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
> index 90e7d4421abf..39e2cf20038a 100644
> --- a/drivers/iio/light/vcnl4000.c
> +++ b/drivers/iio/light/vcnl4000.c
> @@ -581,7 +581,6 @@ static int vcnl4000_set_pm_runtime_state(struct vcnl4000_data *data, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(dev);
> } else {
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> }
Drop {}
>
> diff --git a/drivers/iio/light/vcnl4035.c b/drivers/iio/light/vcnl4035.c
> index 01bc99564f98..079fb49bf73b 100644
> --- a/drivers/iio/light/vcnl4035.c
> +++ b/drivers/iio/light/vcnl4035.c
> @@ -147,7 +147,6 @@ static int vcnl4035_set_pm_runtime_state(struct vcnl4035_data *data, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(dev);
> } else {
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> }
Drop {}
>
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 38/80] iio: temperature: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-06 10:26 ` Jonathan Cameron
@ 2025-07-08 10:52 ` Sakari Ailus
0 siblings, 0 replies; 30+ messages in thread
From: Sakari Ailus @ 2025-07-08 10:52 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Crt Mori, David Lechner, Nuno Sá, Andy Shevchenko, linux-iio,
linux-kernel
Hi Jonathan,
On Sun, Jul 06, 2025 at 11:26:31AM +0100, Jonathan Cameron wrote:
> On Sun, 6 Jul 2025 11:25:02 +0100
> Jonathan Cameron <jic23@kernel.org> wrote:
>
> > On Fri, 4 Jul 2025 18:00:02 +0200
> > Crt Mori <cmo@melexis.com> wrote:
> >
> > > If that is the case then:
> > > Acked-by: Crt Mori<cmo@melexis.com>
> > >
> > >
> > >
> > > On Fri, 4 Jul 2025 at 09:54, Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> > > >
> > > > 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().
> > > >
> > > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > No {} issues in here so applied to the testing branch of iio.git.
> > I'll push it out as togreg later in the week at which point linux-next
> > will see it.
> >
> Actually - change of plan. I'll wait on your set with the others fixed
> up as I don't want to pull in the pm-runtime change if I'm only going
> to have a few of these ready by the end of the cycle. I don't mind merging
> that with the whole lot if they are ready though.
Thanks for the review. I'll send v2 of the iio-related patches soonish.
--
Kind regards,
Sakari Ailus
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
2025-07-04 9:05 ` Jonathan Cameron
@ 2025-07-10 6:46 ` Matti Vaittinen
2025-07-13 13:43 ` Jonathan Cameron
1 sibling, 1 reply; 30+ messages in thread
From: Matti Vaittinen @ 2025-07-10 6:46 UTC (permalink / raw)
To: Sakari Ailus, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Waqar Hameed, Julien Stephan, Peter Zijlstra,
Bo Liu, Greg KH, Al Viro, Sean Nyekjaer, Marcelo Schmitt,
Rayyan Ansari, Francisco Henriques
Cc: linux-iio, linux-kernel
On 04/07/2025 10:54, Sakari Ailus wrote:
> 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().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
Looks good to me. Just one comment (to 4 drivers) - but I'm not
insisting it to be addressed :)
> The cover letter of the set can be found here
> <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
>
> In brief, this patch depends on PM runtime patches adding marking the last
> busy timestamp in autosuspend related functions. The patches are here, on
> rc2:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> pm-runtime-6.17-rc1
>
> drivers/iio/accel/bmc150-accel-core.c | 1 -
> drivers/iio/accel/bmi088-accel-core.c | 3 ---
> drivers/iio/accel/fxls8962af-core.c | 1 -
> drivers/iio/accel/kxcjk-1013.c | 1 -
> drivers/iio/accel/kxsd9.c | 3 ---
> drivers/iio/accel/mma8452.c | 1 -
> drivers/iio/accel/mma9551_core.c | 1 -
> drivers/iio/accel/msa311.c | 6 ------
> 8 files changed, 17 deletions(-)
>
> diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
> index be5fbb0c5d29..f45beae83f8b 100644
> --- a/drivers/iio/accel/bmc150-accel-core.c
> +++ b/drivers/iio/accel/bmc150-accel-core.c
> @@ -335,7 +335,6 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(dev);
> } else {
> - pm_runtime_mark_last_busy(dev);
> ret = pm_runtime_put_autosuspend(dev);
> }
>
// snip
> diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
> index 6aefe8221296..44d770729186 100644
> --- a/drivers/iio/accel/kxcjk-1013.c
> +++ b/drivers/iio/accel/kxcjk-1013.c
> @@ -637,7 +637,6 @@ static int kxcjk1013_set_power_state(struct kxcjk1013_data *data, bool on)
> if (on)
> ret = pm_runtime_resume_and_get(&data->client->dev);
> else {
> - pm_runtime_mark_last_busy(&data->client->dev);
> ret = pm_runtime_put_autosuspend(&data->client->dev);
> }
> if (ret < 0) {
//snip
> diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
> index aba444a980d9..5863478bab62 100644
> --- a/drivers/iio/accel/mma8452.c
> +++ b/drivers/iio/accel/mma8452.c
> @@ -227,7 +227,6 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
> if (on) {
> ret = pm_runtime_resume_and_get(&client->dev);
> } else {
> - pm_runtime_mark_last_busy(&client->dev);
> ret = pm_runtime_put_autosuspend(&client->dev);
> }
//snip
>
> diff --git a/drivers/iio/accel/mma9551_core.c b/drivers/iio/accel/mma9551_core.c
> index 3e7d9b79ed0e..22768f43fd24 100644
> --- a/drivers/iio/accel/mma9551_core.c
> +++ b/drivers/iio/accel/mma9551_core.c
> @@ -672,7 +672,6 @@ int mma9551_set_power_state(struct i2c_client *client, bool on)
> if (on)
> ret = pm_runtime_resume_and_get(&client->dev);
> else {
> - pm_runtime_mark_last_busy(&client->dev);
> ret = pm_runtime_put_autosuspend(&client->dev);
> }
>
Do these really warrant a function? (Especially for the mma9551 where
the function is exported). I think it'd be fine to have the
pm_runtime_resume_and_get() and the pm_runtime_put_autosuspend() called
directly without these wrappers.
Anyways, this looks good to me - thanks!
Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>
Yours
-- Matti
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-10 6:46 ` Matti Vaittinen
@ 2025-07-13 13:43 ` Jonathan Cameron
0 siblings, 0 replies; 30+ messages in thread
From: Jonathan Cameron @ 2025-07-13 13:43 UTC (permalink / raw)
To: Matti Vaittinen
Cc: Sakari Ailus, David Lechner, Nuno Sá, Andy Shevchenko,
Waqar Hameed, Julien Stephan, Peter Zijlstra, Bo Liu, Greg KH,
Al Viro, Sean Nyekjaer, Marcelo Schmitt, Rayyan Ansari,
Francisco Henriques, linux-iio, linux-kernel
On Thu, 10 Jul 2025 09:46:12 +0300
Matti Vaittinen <mazziesaccount@gmail.com> wrote:
> On 04/07/2025 10:54, Sakari Ailus wrote:
> > 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().
> >
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > ---
>
> Looks good to me. Just one comment (to 4 drivers) - but I'm not
> insisting it to be addressed :)
>
> > The cover letter of the set can be found here
> > <URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
> >
> > In brief, this patch depends on PM runtime patches adding marking the last
> > busy timestamp in autosuspend related functions. The patches are here, on
> > rc2:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
> > pm-runtime-6.17-rc1
> >
> > drivers/iio/accel/bmc150-accel-core.c | 1 -
> > drivers/iio/accel/bmi088-accel-core.c | 3 ---
> > drivers/iio/accel/fxls8962af-core.c | 1 -
> > drivers/iio/accel/kxcjk-1013.c | 1 -
> > drivers/iio/accel/kxsd9.c | 3 ---
> > drivers/iio/accel/mma8452.c | 1 -
> > drivers/iio/accel/mma9551_core.c | 1 -
> > drivers/iio/accel/msa311.c | 6 ------
> > 8 files changed, 17 deletions(-)
> >
> > diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
> > index be5fbb0c5d29..f45beae83f8b 100644
> > --- a/drivers/iio/accel/bmc150-accel-core.c
> > +++ b/drivers/iio/accel/bmc150-accel-core.c
> > @@ -335,7 +335,6 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on)
> > if (on) {
> > ret = pm_runtime_resume_and_get(dev);
> > } else {
> > - pm_runtime_mark_last_busy(dev);
> > ret = pm_runtime_put_autosuspend(dev);
> > }
> >
>
> // snip
>
> > diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
> > index 6aefe8221296..44d770729186 100644
> > --- a/drivers/iio/accel/kxcjk-1013.c
> > +++ b/drivers/iio/accel/kxcjk-1013.c
> > @@ -637,7 +637,6 @@ static int kxcjk1013_set_power_state(struct kxcjk1013_data *data, bool on)
> > if (on)
> > ret = pm_runtime_resume_and_get(&data->client->dev);
> > else {
> > - pm_runtime_mark_last_busy(&data->client->dev);
> > ret = pm_runtime_put_autosuspend(&data->client->dev);
> > }
> > if (ret < 0) {
>
> //snip
>
> > diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
> > index aba444a980d9..5863478bab62 100644
> > --- a/drivers/iio/accel/mma8452.c
> > +++ b/drivers/iio/accel/mma8452.c
> > @@ -227,7 +227,6 @@ static int mma8452_set_runtime_pm_state(struct i2c_client *client, bool on)
> > if (on) {
> > ret = pm_runtime_resume_and_get(&client->dev);
> > } else {
> > - pm_runtime_mark_last_busy(&client->dev);
> > ret = pm_runtime_put_autosuspend(&client->dev);
> > }
>
> //snip
>
> >
> > diff --git a/drivers/iio/accel/mma9551_core.c b/drivers/iio/accel/mma9551_core.c
> > index 3e7d9b79ed0e..22768f43fd24 100644
> > --- a/drivers/iio/accel/mma9551_core.c
> > +++ b/drivers/iio/accel/mma9551_core.c
> > @@ -672,7 +672,6 @@ int mma9551_set_power_state(struct i2c_client *client, bool on)
> > if (on)
> > ret = pm_runtime_resume_and_get(&client->dev);
> > else {
> > - pm_runtime_mark_last_busy(&client->dev);
> > ret = pm_runtime_put_autosuspend(&client->dev);
> > }
> >
>
> Do these really warrant a function? (Especially for the mma9551 where
> the function is exported). I think it'd be fine to have the
> pm_runtime_resume_and_get() and the pm_runtime_put_autosuspend() called
> directly without these wrappers.
Absolutely agree that they don't. However, I think it may make
sense to clean that up in two jumps. This series just makes the
specific drop of the unnecessary call, next series does the refactor.
That keeps this series tightly focused on one topic.
Jonathan
>
> Anyways, this looks good to me - thanks!
>
> Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>
>
> Yours
> -- Matti
>
>
>
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2025-07-13 13:43 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
2025-07-04 7:54 ` [PATCH 27/80] iio: accel: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
2025-07-04 9:05 ` Jonathan Cameron
2025-07-10 6:46 ` Matti Vaittinen
2025-07-13 13:43 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 28/80] iio: adc: " Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
2025-07-04 9:09 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 29/80] iio: chemical: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 30/80] iio: common: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 31/80] iio: dac: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 32/80] iio: gyro: " Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
2025-07-04 15:25 ` Rui Miguel Silva
2025-07-04 7:54 ` [PATCH 33/80] iio: imu: " Sakari Ailus
2025-07-04 10:26 ` Waqar Hameed
2025-07-04 7:54 ` [PATCH 34/80] iio: light: " Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
2025-07-06 10:31 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 35/80] iio: magnetometer: " Sakari Ailus
2025-07-04 8:43 ` Linus Walleij
2025-07-06 10:28 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 36/80] iio: pressure: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 37/80] iio: proximity: " Sakari Ailus
2025-07-06 10:27 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 38/80] iio: temperature: " Sakari Ailus
2025-07-04 16:00 ` Crt Mori
2025-07-06 10:25 ` Jonathan Cameron
2025-07-06 10:26 ` Jonathan Cameron
2025-07-08 10:52 ` Sakari Ailus
2025-07-04 9:03 ` [PATCH 00/80] treewide: " Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).