[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250709164545.3af9f056@jic23-huawei>
Date: Wed, 9 Jul 2025 16:45:45 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: Subhajit Ghosh <subhajit.ghosh@...aklogic.com>, David Lechner
<dlechner@...libre.com>, Nuno Sá <nuno.sa@...log.com>, Andy
Shevchenko <andy@...nel.org>, Linus Walleij <linus.walleij@...aro.org>,
Julien Stephan <jstephan@...libre.com>, Abhash Jha
<abhashkumarjha123@...il.com>, Waqar Hameed <waqar.hameed@...s.com>,
chuguangqing <chuguangqing@...pur.com>, Shreeya Patel
<shreeya.patel@...labora.com>, Marek Vasut <marex@...x.de>, Al Viro
<viro@...iv.linux.org.uk>, Vasileios Amoiridis <vassilisamir@...il.com>,
Per-Daniel Olsson <perdaniel.olsson@...s.com>, Javier Carrasco
<javier.carrasco.cruz@...il.com>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 08/12] iio: light: Remove redundant
pm_runtime_mark_last_busy() calls
On Wed, 9 Jul 2025 02:11:52 +0300
Sakari Ailus <sakari.ailus@...ux.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@...ux.intel.com>
> Reviewed-by: Linus Walleij <linus.walleij@...aro.org>
> ---
> 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 | 11 +++--------
> drivers/iio/light/ltrf216a.c | 1 -
> drivers/iio/light/pa12203001.c | 11 +++--------
> drivers/iio/light/rpr0521.c | 6 ++----
> drivers/iio/light/tsl2583.c | 12 +++---------
> drivers/iio/light/tsl2591.c | 2 --
> drivers/iio/light/us5182d.c | 12 +++---------
> drivers/iio/light/vcnl4000.c | 11 +++--------
> drivers/iio/light/vcnl4035.c | 11 +++--------
> 13 files changed, 20 insertions(+), 63 deletions(-)
>
> diff --git a/drivers/iio/light/isl29028.c b/drivers/iio/light/isl29028.c
> index 0e4284823d44..374bccad9119 100644
> --- a/drivers/iio/light/isl29028.c
> +++ b/drivers/iio/light/isl29028.c
> @@ -336,16 +336,11 @@ static int isl29028_ir_get(struct isl29028_chip *chip, int *ir_data)
> static int isl29028_set_pm_runtime_busy(struct isl29028_chip *chip, bool on)
> {
> struct device *dev = regmap_get_device(chip->regmap);
> - int ret;
>
> - if (on) {
> - ret = pm_runtime_resume_and_get(dev);
> - } else {
> - pm_runtime_mark_last_busy(dev);
> - ret = pm_runtime_put_autosuspend(dev);
> - }
> + if (on)
> + return pm_runtime_resume_and_get(dev);
>
> - return ret;
> + return pm_runtime_put_autosuspend(dev);
> }
This is one that can definitely be squashed down to call sites given
the parameter is always hard coded.
>
> /* Channel IO */
> 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)
Also this one.
> return ret;
> }
> } else {
> - pm_runtime_mark_last_busy(dev);
> pm_runtime_put_autosuspend(dev);
> }
>
> diff --git a/drivers/iio/light/tsl2583.c b/drivers/iio/light/tsl2583.c
> index fc3b0c4226be..8801a491de77 100644
> --- a/drivers/iio/light/tsl2583.c
> +++ b/drivers/iio/light/tsl2583.c
> @@ -641,16 +641,10 @@ static const struct iio_chan_spec tsl2583_channels[] = {
>
> static int tsl2583_set_pm_runtime_busy(struct tsl2583_chip *chip, bool on)
And this one.
> {
> - int ret;
> + if (on)
> + return pm_runtime_resume_and_get(&chip->client->dev);
>
> - 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);
> - }
> -
> - return ret;
> + return pm_runtime_put_autosuspend(&chip->client->dev);
> }
>
> static int tsl2583_read_raw(struct iio_dev *indio_dev,
> diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
> index 90e7d4421abf..7d70bb71b432 100644
> --- a/drivers/iio/light/vcnl4000.c
> +++ b/drivers/iio/light/vcnl4000.c
> @@ -576,16 +576,11 @@ static bool vcnl4010_is_in_periodic_mode(struct vcnl4000_data *data)
> static int vcnl4000_set_pm_runtime_state(struct vcnl4000_data *data, bool on)
And this one.
> {
> struct device *dev = &data->client->dev;
> - int ret;
>
> - if (on) {
> - ret = pm_runtime_resume_and_get(dev);
> - } else {
> - pm_runtime_mark_last_busy(dev);
> - ret = pm_runtime_put_autosuspend(dev);
> - }
> + if (on)
> + return pm_runtime_resume_and_get(dev);
>
> - return ret;
> + return pm_runtime_put_autosuspend(dev);
> }
>
> static int vcnl4040_read_als_it(struct vcnl4000_data *data, int *val, int *val2)
> diff --git a/drivers/iio/light/vcnl4035.c b/drivers/iio/light/vcnl4035.c
> index 01bc99564f98..963747927425 100644
> --- a/drivers/iio/light/vcnl4035.c
> +++ b/drivers/iio/light/vcnl4035.c
> @@ -141,17 +141,12 @@ static const struct iio_trigger_ops vcnl4035_trigger_ops = {
And this one. All as follow up series though to keep this series focused
on just the dropping of the calls.
>
> static int vcnl4035_set_pm_runtime_state(struct vcnl4035_data *data, bool on)
> {
> - int ret;
> struct device *dev = &data->client->dev;
>
> - if (on) {
> - ret = pm_runtime_resume_and_get(dev);
> - } else {
> - pm_runtime_mark_last_busy(dev);
> - ret = pm_runtime_put_autosuspend(dev);
> - }
> + if (on)
> + return pm_runtime_resume_and_get(dev);
>
> - return ret;
> + return pm_runtime_put_autosuspend(dev);
> }
>
> static int vcnl4035_read_info_raw(struct iio_dev *indio_dev,
Powered by blists - more mailing lists