Re: [PATCH RESEND v5 1/8] reset: Fix devm bulk optional exclusive control getter
From: Philipp Zabel
Date: Wed Jun 29 2022 - 10:03:01 EST
Hi Serge,
On Fr, 2022-06-24 at 17:18 +0300, Serge Semin wrote:
> Most likely due to copy-paste mistake the device managed version of the
> denoted reset control getter has been implemented with invalid semantic,
> which can be immediately spotted by having "WARN_ON(shared && acquired)"
> warning in the system log as soon as the method is called. Anyway let's
> fix it by altering the boolean arguments passed to the
> __devm_reset_control_bulk_get() method from
> - shared = true, optional = false, acquired = true
> to
> + shared = false, optional = true, acquired = true
> That's what they were supposed to be in the first place (see the non-devm
> version of the same method: reset_control_bulk_get_optional_exclusive()).
>
> Fixes: 48d71395896d ("reset: Add reset_control_bulk API")
> Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
>
> ---
>
> Changelog v4:
> - This is a new patch added on v4 lap of the series.
> ---
> include/linux/reset.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/reset.h b/include/linux/reset.h
> index 8a21b5756c3e..514ddf003efc 100644
> --- a/include/linux/reset.h
> +++ b/include/linux/reset.h
> @@ -731,7 +731,7 @@ static inline int __must_check
> devm_reset_control_bulk_get_optional_exclusive(struct device *dev, int num_rstcs,
> struct reset_control_bulk_data *rstcs)
> {
> - return __devm_reset_control_bulk_get(dev, num_rstcs, rstcs, true, false, true);
> + return __devm_reset_control_bulk_get(dev, num_rstcs, rstcs, false, true, true);
> }
You are right, thank you. I'll take this as a sign that the internal
functions should probably switch from collecting ever more boolean
arguments to a flags parameter, similar to enum gpiod_flags.
I'll pick this up separately into the reset/fixes branch.
regards
Philipp