[PATCH -next v3] usb: musb: Do not check 0 for platform_get_irq_byname()
From: Zhu Wang
Date: Thu Aug 03 2023 - 08:01:16 EST
When platform_get_irq_byname() failed, it may return -EPROBE_DEFER,
-EINVAL or -ENXIO, it is important to propagate the detail upstream, we
cannot override it.
And platform_get_irq_byname() used to return 0 (as both IRQ0 and error
indication), there are several patches fixing the inconsistencies.
Commit ce753ad1549c ("platform: finally disallow IRQ0 in
platform_get_irq() and its ilk") makes sure IRQ0 is not returned.
Signed-off-by: Zhu Wang <wangzhu9@xxxxxxxxxx>
---
Changes in v2:
- Update the commit message, present the reason of replacing the return
value of the probe.
---
Changes in v3:
- Update the commit message, explain in detail why the return value of
platform_get_irq_byname() cannot be override.
---
drivers/usb/musb/musb_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index ecbd3784bec3..b24adb5b399f 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2610,8 +2610,8 @@ static int musb_probe(struct platform_device *pdev)
int irq = platform_get_irq_byname(pdev, "mc");
void __iomem *base;
- if (irq <= 0)
- return -ENODEV;
+ if (irq < 0)
+ return irq;
base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(base))
--
2.17.1