Unverified Commit a42c9b8b authored by Felix Gu's avatar Felix Gu Committed by Mark Brown
Browse files

spi: sn-f-ospi: Use devm_mutex_init() to simplify code



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: default avatarFelix Gu <ustc.gu@gmail.com>
Link: https://patch.msgid.link/20260319-sn-f-v1-2-33a6738d2da8@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ef3d549e
Loading
Loading
Loading
Loading
+5 −20
Original line number Diff line number Diff line
@@ -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);

	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);