spi: amd: Make use of devm_spi_alloc_master()
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Wed, 6 Jul 2022 10:06:23 +0000 (13:06 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 6 Jul 2022 14:20:47 +0000 (15:20 +0100)
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>
drivers/spi/spi-amd.c

index efdcbe6..3dc17a8 100644 (file)
@@ -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;
 }