summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>2022-07-06 13:06:23 +0300
committerMark Brown <broonie@kernel.org>2022-07-06 17:20:47 +0300
commit2e063bb1d4272e7b64ef813566691ea8ea192f9c (patch)
tree8a6151d3ffb16243ef1268b014a741db6802a6ec /drivers/spi
parent6ece49c56965544262523dae4a071ace3db63507 (diff)
downloadlinux-2e063bb1d4272e7b64ef813566691ea8ea192f9c.tar.xz
spi: amd: Make use of devm_spi_alloc_master()
Make use of the devm variant of spi_alloc_master() in order to cleanup and simplify the error handling in the probe function by getting rid of the goto statements. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20220706100626.1234731-3-cristian.ciocaltea@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-amd.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/spi/spi-amd.c b/drivers/spi/spi-amd.c
index efdcbe6c4c26..3dc17a80c55c 100644
--- a/drivers/spi/spi-amd.c
+++ b/drivers/spi/spi-amd.c
@@ -281,10 +281,10 @@ static int amd_spi_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev;
struct spi_master *master;
struct amd_spi *amd_spi;
- int err = 0;
+ int err;
/* Allocate storage for spi_master and driver private data */
- master = spi_alloc_master(dev, sizeof(struct amd_spi));
+ master = devm_spi_alloc_master(dev, sizeof(struct amd_spi));
if (!master) {
dev_err(dev, "Error allocating SPI master\n");
return -ENOMEM;
@@ -295,7 +295,7 @@ static int amd_spi_probe(struct platform_device *pdev)
if (IS_ERR(amd_spi->io_remap_addr)) {
err = PTR_ERR(amd_spi->io_remap_addr);
dev_err(dev, "error %d ioremap of SPI registers failed\n", err);
- goto err_free_master;
+ return err;
}
dev_dbg(dev, "io_remap_address: %p\n", amd_spi->io_remap_addr);
@@ -313,15 +313,8 @@ static int amd_spi_probe(struct platform_device *pdev)
/* Register the controller with SPI framework */
err = devm_spi_register_master(dev, master);
- if (err) {
+ if (err)
dev_err(dev, "error %d registering SPI controller\n", err);
- goto err_free_master;
- }
-
- return 0;
-
-err_free_master:
- spi_master_put(master);
return err;
}