[PATCH v3 04/10] ata: pata_platform: Use platform_get_irq_optional() to get the interrupt

From: Lad Prabhakar
Date: Fri Dec 24 2021 - 08:13:29 EST


To be consistent with pata_of_platform driver use
platform_get_irq_optional() instead of
platform_get_resource(pdev, IORESOURCE_IRQ, 0).

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
---
v2-->v3
* New patch
---
drivers/ata/pata_platform.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c
index 29902001e223..2e439b923762 100644
--- a/drivers/ata/pata_platform.c
+++ b/drivers/ata/pata_platform.c
@@ -184,8 +184,9 @@ static int pata_platform_probe(struct platform_device *pdev)
{
struct resource *io_res;
struct resource *ctl_res;
- struct resource *irq_res;
+ struct resource irq_res;
struct pata_platform_info *pp_info = dev_get_platdata(&pdev->dev);
+ int irq;

/*
* Simple resource validation ..
@@ -212,9 +213,15 @@ static int pata_platform_probe(struct platform_device *pdev)
/*
* And the IRQ
*/
- irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+ irq = platform_get_irq_optional(pdev, 0);
+ if (irq < 0 && irq != -ENXIO)
+ return irq;
+ if (irq > 0) {
+ memset(&irq_res, 0x0, sizeof(struct resource));
+ irq_res.start = irq;
+ }

- return __pata_platform_probe(&pdev->dev, io_res, ctl_res, irq_res,
+ return __pata_platform_probe(&pdev->dev, io_res, ctl_res, irq > 0 ? &irq_res : NULL,
pp_info ? pp_info->ioport_shift : 0,
pio_mask, &pata_platform_sht, false);
}
--
2.17.1