[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a4f9b322-befd-4727-b4a0-9894685dea76@arm.com>
Date: Tue, 23 Dec 2025 09:53:27 +0000
From: Suzuki K Poulose <suzuki.poulose@....com>
To: "Rafael J. Wysocki" <rafael@...nel.org>,
Linux PM <linux-pm@...r.kernel.org>
Cc: LKML <linux-kernel@...r.kernel.org>, Ulf Hansson
<ulf.hansson@...aro.org>, Brian Norris <briannorris@...omium.org>,
Mike Leach <mike.leach@...aro.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>
Subject: Re: [PATCH v1 17/23] coresight: Discard pm_runtime_put() return
values
On 22/12/2025 20:25, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
>
> Failing a debugfs write due to pm_runtime_put() returning a negative
> value is not particularly useful.
>
> Returning an error code from pm_runtime_put() merely means that it has
> not queued up a work item to check whether or not the device can be
> suspended and there are many perfectly valid situations in which that
> can happen, like after writing "on" to the devices' runtime PM "control"
> attribute in sysfs for one example. It also happens when the kernel
> has been configured with CONFIG_PM unset, in which case
> debug_disable_func() in the coresight driver will always return an
> error.
>
> For this reason, update debug_disable_func() to simply discard the
> return value of pm_runtime_put(), change its return type to void, and
> propagate that change to debug_func_knob_write().
>
> This will facilitate a planned change of the pm_runtime_put() return
> type to void in the future.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> ---
>
> This patch is part of a series, but it doesn't depend on anything else
> in that series. The last patch in the series depends on it.
>
> It can be applied by itself and if you decide to do so, please let me
> know.
>
> Otherwise, an ACK or equivalent will be appreciated, but also the lack
> of specific criticism will be eventually regarded as consent.
Happy for you to pick it with your series.
Acked-by: Suzuki K Poulose <suzuki.poulose@....com>
>
> ---
> drivers/hwtracing/coresight/coresight-cpu-debug.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> @@ -451,10 +451,10 @@ err:
> return ret;
> }
>
> -static int debug_disable_func(void)
> +static void debug_disable_func(void)
> {
> struct debug_drvdata *drvdata;
> - int cpu, ret, err = 0;
> + int cpu;
>
> /*
> * Disable debug power domains, records the error and keep
> @@ -466,12 +466,8 @@ static int debug_disable_func(void)
> if (!drvdata)
> continue;
>
> - ret = pm_runtime_put(drvdata->dev);
> - if (ret < 0)
> - err = ret;
> + pm_runtime_put(drvdata->dev);
> }
> -
> - return err;
> }
>
> static ssize_t debug_func_knob_write(struct file *f,
> @@ -492,7 +488,7 @@ static ssize_t debug_func_knob_write(str
> if (val)
> ret = debug_enable_func();
> else
> - ret = debug_disable_func();
> + debug_disable_func();
>
> if (ret) {
> pr_err("%s: unable to %s debug function: %d\n",
>
>
>
Powered by blists - more mailing lists