Re: [PATCH] pinctrl: spacemit: destroy mutex at driver detach

From: Yixun Lan
Date: Wed Mar 05 2025 - 05:38:59 EST


On 11:27 Wed 05 Mar , Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
>
> The mutex initialized in probe() is never cleaned up. Use
> devm_mutex_init() to destroy it automatically.
>
Reviewed-by: Yixun Lan <dlan@xxxxxxxxxx>

> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> ---
> drivers/pinctrl/spacemit/pinctrl-k1.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c
> index 59fd555ff38d..67e867b04a02 100644
> --- a/drivers/pinctrl/spacemit/pinctrl-k1.c
> +++ b/drivers/pinctrl/spacemit/pinctrl-k1.c
> @@ -9,6 +9,7 @@
> #include <linux/seq_file.h>
> #include <linux/spinlock.h>
> #include <linux/module.h>
> +#include <linux/mutex.h>
>
> #include <linux/pinctrl/pinconf-generic.h>
> #include <linux/pinctrl/pinconf.h>
> @@ -749,7 +750,10 @@ static int spacemit_pinctrl_probe(struct platform_device *pdev)
> pctrl->data = pctrl_data;
> pctrl->dev = dev;
> raw_spin_lock_init(&pctrl->lock);
> - mutex_init(&pctrl->mutex);
> +
> + ret = devm_mutex_init(dev, &pctrl->mutex);
> + if (ret)
> + return ret;
>
> platform_set_drvdata(pdev, pctrl);
>
> --
> 2.45.2
>

--
Yixun Lan (dlan)
Gentoo Linux Developer
GPG Key ID AABEFD55