Skip to content

Commit 076f32d

Browse files
dlechbroonie
authored andcommitted
spi: axi-spi-engine: use devm_request_irq()
This replaces request_irq() with devm_request_irq() in the AXI SPI Engine driver. This simplifies the error path and removes the need to call free_irq() in the remove function. Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20231117-axi-spi-engine-series-1-v1-6-cc59db999b87@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent e094de1 commit 076f32d

1 file changed

Lines changed: 3 additions & 8 deletions

File tree

drivers/spi/spi-axi-spi-engine.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,8 @@ static int spi_engine_probe(struct platform_device *pdev)
520520
if (ret)
521521
return ret;
522522

523-
ret = request_irq(irq, spi_engine_irq, 0, pdev->name, host);
523+
ret = devm_request_irq(&pdev->dev, irq, spi_engine_irq, 0, pdev->name,
524+
host);
524525
if (ret)
525526
return ret;
526527

@@ -533,24 +534,18 @@ static int spi_engine_probe(struct platform_device *pdev)
533534

534535
ret = spi_register_controller(host);
535536
if (ret)
536-
goto err_free_irq;
537+
return ret;
537538

538539
platform_set_drvdata(pdev, host);
539540

540541
return 0;
541-
err_free_irq:
542-
free_irq(irq, host);
543-
return ret;
544542
}
545543

546544
static void spi_engine_remove(struct platform_device *pdev)
547545
{
548546
struct spi_controller *host = platform_get_drvdata(pdev);
549-
int irq = platform_get_irq(pdev, 0);
550547

551548
spi_unregister_controller(host);
552-
553-
free_irq(irq, host);
554549
}
555550

556551
static const struct of_device_id spi_engine_match_table[] = {

0 commit comments

Comments
 (0)