]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: spacemit: destroy mutex at driver detach
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 5 Mar 2025 10:27:10 +0000 (11:27 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 14 Mar 2025 10:02:08 +0000 (11:02 +0100)
The mutex initialized in probe() is never cleaned up. Use
devm_mutex_init() to destroy it automatically.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Yixun Lan <dlan@gentoo.org>
Link: https://lore.kernel.org/20250305102710.52762-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/spacemit/pinctrl-k1.c

index a32579d736130c80bd12f0f9d8b3b2f69c428b3d..3e1c194e7961be581571ab95205144618c1057b6 100644 (file)
@@ -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);