Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: xilinx: Switch to use devm_spi_alloc_master()

Switch to use devm_spi_alloc_master() to simpify error path.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/20220920114615.2681751-1-yangyingliang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Yang Yingliang and committed by
Mark Brown
2d064581 c79ce0a2

+6 -14
+6 -14
drivers/spi/spi-xilinx.c
··· 421 421 return -EINVAL; 422 422 } 423 423 424 - master = spi_alloc_master(&pdev->dev, sizeof(struct xilinx_spi)); 424 + master = devm_spi_alloc_master(&pdev->dev, sizeof(struct xilinx_spi)); 425 425 if (!master) 426 426 return -ENODEV; 427 427 ··· 439 439 440 440 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 441 441 xspi->regs = devm_ioremap_resource(&pdev->dev, res); 442 - if (IS_ERR(xspi->regs)) { 443 - ret = PTR_ERR(xspi->regs); 444 - goto put_master; 445 - } 442 + if (IS_ERR(xspi->regs)) 443 + return PTR_ERR(xspi->regs); 446 444 447 445 master->bus_num = pdev->id; 448 446 master->num_chipselect = num_cs; ··· 470 472 471 473 xspi->irq = platform_get_irq(pdev, 0); 472 474 if (xspi->irq < 0 && xspi->irq != -ENXIO) { 473 - ret = xspi->irq; 474 - goto put_master; 475 + return xspi->irq; 475 476 } else if (xspi->irq >= 0) { 476 477 /* Register for SPI Interrupt */ 477 478 ret = devm_request_irq(&pdev->dev, xspi->irq, xilinx_spi_irq, 0, 478 479 dev_name(&pdev->dev), xspi); 479 480 if (ret) 480 - goto put_master; 481 + return ret; 481 482 } 482 483 483 484 /* SPI controller initializations */ ··· 485 488 ret = spi_bitbang_start(&xspi->bitbang); 486 489 if (ret) { 487 490 dev_err(&pdev->dev, "spi_bitbang_start FAILED\n"); 488 - goto put_master; 491 + return ret; 489 492 } 490 493 491 494 dev_info(&pdev->dev, "at %pR, irq=%d\n", res, xspi->irq); ··· 497 500 498 501 platform_set_drvdata(pdev, master); 499 502 return 0; 500 - 501 - put_master: 502 - spi_master_put(master); 503 - 504 - return ret; 505 503 } 506 504 507 505 static int xilinx_spi_remove(struct platform_device *pdev)