Re: [PATCH -next] spi: xtensa-xtfpga: Switch to use devm_spi_alloc_master()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 20, 2022 at 4:37 AM Yang Yingliang <yangyingliang@xxxxxxxxxx> wrote:
>
> Switch to use devm_spi_alloc_master() to simpify error path.

Typo: simplify.

> Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
> ---
>  drivers/spi/spi-xtensa-xtfpga.c | 16 +++++-----------
>  1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/spi/spi-xtensa-xtfpga.c b/drivers/spi/spi-xtensa-xtfpga.c
> index fc2b5eb7d614..2fa7608f94cd 100644
> --- a/drivers/spi/spi-xtensa-xtfpga.c
> +++ b/drivers/spi/spi-xtensa-xtfpga.c
> @@ -83,7 +83,7 @@ static int xtfpga_spi_probe(struct platform_device *pdev)
>         int ret;
>         struct spi_master *master;
>
> -       master = spi_alloc_master(&pdev->dev, sizeof(struct xtfpga_spi));
> +       master = devm_spi_alloc_master(&pdev->dev, sizeof(struct xtfpga_spi));
>         if (!master)
>                 return -ENOMEM;
>
> @@ -97,30 +97,24 @@ static int xtfpga_spi_probe(struct platform_device *pdev)
>         xspi->bitbang.chipselect = xtfpga_spi_chipselect;
>         xspi->bitbang.txrx_word[SPI_MODE_0] = xtfpga_spi_txrx_word;
>         xspi->regs = devm_platform_ioremap_resource(pdev, 0);
> -       if (IS_ERR(xspi->regs)) {
> -               ret = PTR_ERR(xspi->regs);
> -               goto err;
> -       }
> +       if (IS_ERR(xspi->regs))
> +               return PTR_ERR(xspi->regs);
>
>         xtfpga_spi_write32(xspi, XTFPGA_SPI_START, 0);
>         usleep_range(1000, 2000);
>         if (xtfpga_spi_read32(xspi, XTFPGA_SPI_BUSY)) {
>                 dev_err(&pdev->dev, "Device stuck in busy state\n");
> -               ret = -EBUSY;
> -               goto err;
> +               return -EBUSY;
>         }
>
>         ret = spi_bitbang_start(&xspi->bitbang);
>         if (ret < 0) {
>                 dev_err(&pdev->dev, "spi_bitbang_start failed\n");
> -               goto err;
> +               return ret;
>         }
>
>         platform_set_drvdata(pdev, master);
>         return 0;
> -err:
> -       spi_master_put(master);
> -       return ret;
>  }
>
>  static int xtfpga_spi_remove(struct platform_device *pdev)

There's a call to spi_master_put in the xtfpga_spi_remove,
IIUC this call must be dropped too.

-- 
Thanks.
-- Max



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux