OSDN Git Service

watchdog: qcom: Use platform_get_irq_optional() for bark irq
authorSai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Fri, 13 Dec 2019 06:49:34 +0000 (12:19 +0530)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Mon, 27 Jan 2020 14:55:45 +0000 (15:55 +0100)
platform_get_irq() prints an error message when the interrupt
is not available. So on platforms where bark interrupt is
not specified, following error message is observed on SDM845.

[    2.975888] qcom_wdt 17980000.watchdog: IRQ index 0 not found

This is also seen on SC7180, SM8150 SoCs as well.
Fix this by using platform_get_irq_optional() instead.

Fixes: 36375491a4395654 ("watchdog: qcom: support pre-timeout when the bark irq is available")
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20191213064934.4112-1-saiprakash.ranjan@codeaurora.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/qcom-wdt.c

index a494543..eb47fe5 100644 (file)
@@ -246,7 +246,7 @@ static int qcom_wdt_probe(struct platform_device *pdev)
        }
 
        /* check if there is pretimeout support */
-       irq = platform_get_irq(pdev, 0);
+       irq = platform_get_irq_optional(pdev, 0);
        if (irq > 0) {
                ret = devm_request_irq(dev, irq, qcom_wdt_isr,
                                       IRQF_TRIGGER_RISING,