]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spi: sn-f-ospi: Use devm_mutex_init() to simplify code
authorFelix Gu <ustc.gu@gmail.com>
Wed, 18 Mar 2026 16:12:35 +0000 (00:12 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 23 Mar 2026 14:51:59 +0000 (14:51 +0000)
Switch to devm_mutex_init() to handle mutex destruction automatically.
This simplifies the error paths in probe() and removes the need for an
explicit mutex_destroy() in remove() callback.

Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Link: https://patch.msgid.link/20260319-sn-f-v1-2-33a6738d2da8@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-sn-f-ospi.c

index 1f554aa7ca276b7c54e53412f0583bbaf3cdc7ea..3c61c799723bba9cda5e92e6a65797fbf4ba2325 100644 (file)
@@ -642,29 +642,15 @@ static int f_ospi_probe(struct platform_device *pdev)
        if (IS_ERR(ospi->clk))
                return PTR_ERR(ospi->clk);
 
-       mutex_init(&ospi->mlock);
-
-       ret = f_ospi_init(ospi);
+       ret = devm_mutex_init(dev, &ospi->mlock);
        if (ret)
-               goto err_destroy_mutex;
+               return ret;
 
-       ret = devm_spi_register_controller(dev, ctlr);
+       ret = f_ospi_init(ospi);
        if (ret)
-               goto err_destroy_mutex;
-
-       return 0;
-
-err_destroy_mutex:
-       mutex_destroy(&ospi->mlock);
-
-       return ret;
-}
-
-static void f_ospi_remove(struct platform_device *pdev)
-{
-       struct f_ospi *ospi = platform_get_drvdata(pdev);
+               return ret;
 
-       mutex_destroy(&ospi->mlock);
+       return devm_spi_register_controller(dev, ctlr);
 }
 
 static const struct of_device_id f_ospi_dt_ids[] = {
@@ -679,7 +665,6 @@ static struct platform_driver f_ospi_driver = {
                .of_match_table = f_ospi_dt_ids,
        },
        .probe = f_ospi_probe,
-       .remove = f_ospi_remove,
 };
 module_platform_driver(f_ospi_driver);