[PATCH 0/5] coresight: Convert to platform remove callback returning void

Suzuki K Poulose suzuki.poulose at arm.com
Thu Apr 25 02:04:48 PDT 2024


Hi Uwe

On 23/04/2024 09:06, Uwe Kleine-König wrote:
> Hello,
> 
> this series converts a few platform drivers below drivers/hwtracing/coresight
> that recently started to implement a .remove() callback to implement
> .remove_new() instead. See commit 5c5a7680e67b ("platform: Provide a remove
> callback that returns no value") for an extended explanation and the eventual
> goal.
> 
> All conversations are trivial, because the driver's .remove() callbacks
> returned zero unconditionally already.
> 
> There are no interdependencies between the five patches, so they could be picked
> up individually if need be. After the merge window leading to v6.10-rc1
> (assuming Linus has >= 10 fingers this cycle :-) I want to switch the prototype
> of struct platform_driver::remove to return void. So please either merge this
> series together with the commits introducing .remove() that currently sit in
> the next branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux.git, or accept me
> sending them together with the patch changing the function's prototype for
> inclusion to Greg's driver-core tree.

Thanks for catching these. I will apply them to coresight next branch.


> 
> Having said that, the patches adding platform driver support for these could be
> improved:
> 
>   - dev_get_drvdata() never returns NULL in these .remove() functions because
>     .probe() called dev_set_drvdata(). For the usage of WARN_ON also see
>     https://lwn.net/Articles/969923/. (That link's content is behind a paywall
>     until May 2, the TLDR is: Don't use WARN_ON().) So the respective checks
>     with the early return could better be dropped IMHO.
> 
>   - IS_ERR_OR_NULL(drvdata->pclk) is never true in .remove(). Also note that
>     IS_ERR_OR_NULL is ugly and gives hardly ever the right condition to check
>     for. Note further that clk == NULL isn't usually a problem, NULL is used as
>     dummy clk returned by clk_get_optional() and all clock API functions handle
>     that just fine. So if at all, better check only for IS_ERR(drvdata->pclk).

Thanks for the suggestions, I will let Anshuman address them.

Kind regards
Suzuki


> 
> Best regards
> Uwe
> 
> Uwe Kleine-König (5):
>    coresight: catu: Convert to platform remove callback returning void
>    coresight: debug: Convert to platform remove callback returning void
>    coresight: stm: Convert to platform remove callback returning void
>    coresight: tmc: Convert to platform remove callback returning void
>    coresight: tpiu: Convert to platform remove callback returning void
> 
>   drivers/hwtracing/coresight/coresight-catu.c      | 7 +++----
>   drivers/hwtracing/coresight/coresight-cpu-debug.c | 7 +++----
>   drivers/hwtracing/coresight/coresight-stm.c       | 7 +++----
>   drivers/hwtracing/coresight/coresight-tmc-core.c  | 7 +++----
>   drivers/hwtracing/coresight/coresight-tpiu.c      | 7 +++----
>   5 files changed, 15 insertions(+), 20 deletions(-)
> 
> base-commit: a59668a9397e7245b26e9be85d23f242ff757ae8




More information about the linux-arm-kernel mailing list