diff mbox series

watchdog: orion: fix platform_get_irq() complaints

Message ID E1iahcN-0000AT-Co@rmk-PC.armlinux.org.uk (mailing list archive)
State Accepted
Headers show
Series watchdog: orion: fix platform_get_irq() complaints | expand

Commit Message

Russell King (Oracle) Nov. 29, 2019, 2:51 p.m. UTC
Fix:

orion_wdt f1020300.watchdog: IRQ index 1 not found

which is caused by platform_get_irq() now complaining when optional
IRQs are not found.  Neither interrupt for orion is required, so
make them both optional.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
 drivers/watchdog/orion_wdt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Russell King (Oracle) Nov. 29, 2019, 2:56 p.m. UTC | #1
On Fri, Nov 29, 2019 at 02:51:35PM +0000, Russell King wrote:
> Fix:
> 
> orion_wdt f1020300.watchdog: IRQ index 1 not found
> 
> which is caused by platform_get_irq() now complaining when optional
> IRQs are not found.  Neither interrupt for orion is required, so
> make them both optional.
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

Note that it's a tad difficult to add an accurate Fixes: tag here
because the commit introducing the error message (7723f4c5ecdb) is
earlier than the commit introducing the functions to work around it.

> ---
>  drivers/watchdog/orion_wdt.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
> index 1cccf8eb1c5d..8e6dfe76f9c9 100644
> --- a/drivers/watchdog/orion_wdt.c
> +++ b/drivers/watchdog/orion_wdt.c
> @@ -602,7 +602,7 @@ static int orion_wdt_probe(struct platform_device *pdev)
>  		set_bit(WDOG_HW_RUNNING, &dev->wdt.status);
>  
>  	/* Request the IRQ only after the watchdog is disabled */
> -	irq = platform_get_irq(pdev, 0);
> +	irq = platform_get_irq_optional(pdev, 0);
>  	if (irq > 0) {
>  		/*
>  		 * Not all supported platforms specify an interrupt for the
> @@ -617,7 +617,7 @@ static int orion_wdt_probe(struct platform_device *pdev)
>  	}
>  
>  	/* Optional 2nd interrupt for pretimeout */
> -	irq = platform_get_irq(pdev, 1);
> +	irq = platform_get_irq_optional(pdev, 1);
>  	if (irq > 0) {
>  		orion_wdt_info.options |= WDIOF_PRETIMEOUT;
>  		ret = devm_request_irq(&pdev->dev, irq, orion_wdt_pre_irq,
> -- 
> 2.20.1
> 
>
Guenter Roeck Nov. 29, 2019, 3:51 p.m. UTC | #2
On 11/29/19 6:51 AM, Russell King wrote:
> Fix:
> 
> orion_wdt f1020300.watchdog: IRQ index 1 not found
> 
> which is caused by platform_get_irq() now complaining when optional
> IRQs are not found.  Neither interrupt for orion is required, so
> make them both optional.
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>   drivers/watchdog/orion_wdt.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
> index 1cccf8eb1c5d..8e6dfe76f9c9 100644
> --- a/drivers/watchdog/orion_wdt.c
> +++ b/drivers/watchdog/orion_wdt.c
> @@ -602,7 +602,7 @@ static int orion_wdt_probe(struct platform_device *pdev)
>   		set_bit(WDOG_HW_RUNNING, &dev->wdt.status);
>   
>   	/* Request the IRQ only after the watchdog is disabled */
> -	irq = platform_get_irq(pdev, 0);
> +	irq = platform_get_irq_optional(pdev, 0);
>   	if (irq > 0) {
>   		/*
>   		 * Not all supported platforms specify an interrupt for the
> @@ -617,7 +617,7 @@ static int orion_wdt_probe(struct platform_device *pdev)
>   	}
>   
>   	/* Optional 2nd interrupt for pretimeout */
> -	irq = platform_get_irq(pdev, 1);
> +	irq = platform_get_irq_optional(pdev, 1);
>   	if (irq > 0) {
>   		orion_wdt_info.options |= WDIOF_PRETIMEOUT;
>   		ret = devm_request_irq(&pdev->dev, irq, orion_wdt_pre_irq,
>
diff mbox series

Patch

diff --git a/drivers/watchdog/orion_wdt.c b/drivers/watchdog/orion_wdt.c
index 1cccf8eb1c5d..8e6dfe76f9c9 100644
--- a/drivers/watchdog/orion_wdt.c
+++ b/drivers/watchdog/orion_wdt.c
@@ -602,7 +602,7 @@  static int orion_wdt_probe(struct platform_device *pdev)
 		set_bit(WDOG_HW_RUNNING, &dev->wdt.status);
 
 	/* Request the IRQ only after the watchdog is disabled */
-	irq = platform_get_irq(pdev, 0);
+	irq = platform_get_irq_optional(pdev, 0);
 	if (irq > 0) {
 		/*
 		 * Not all supported platforms specify an interrupt for the
@@ -617,7 +617,7 @@  static int orion_wdt_probe(struct platform_device *pdev)
 	}
 
 	/* Optional 2nd interrupt for pretimeout */
-	irq = platform_get_irq(pdev, 1);
+	irq = platform_get_irq_optional(pdev, 1);
 	if (irq > 0) {
 		orion_wdt_info.options |= WDIOF_PRETIMEOUT;
 		ret = devm_request_irq(&pdev->dev, irq, orion_wdt_pre_irq,