On 01/21/2014 05:26 AM, Ezequiel Garcia wrote:
DT-enabled where an irqchip driver for the brigde interrupt controller is
available can handle the watchdog IRQ properly. Therefore, we request
the interruption and add a dummy handler that merely calls panic().

This is done in order to have an initial 'ack' of the interruption,
which clears the watchdog state.

Furthermore, since some platforms don't have such IRQ, this commit
makes the interruption specification optional.

Signed-off-by: Ezequiel Garcia <[email protected]>
---
  .../devicetree/bindings/watchdog/marvel.txt        |  2 ++
  drivers/watchdog/orion_wdt.c                       | 22 +++++++++++++++++++++-
  2 files changed, 23 insertions(+), 1 deletion(-)


[ ... ]

  static int orion_wdt_probe(struct platform_device *pdev)
  {
        struct resource *res;
-       int ret;
+       int ret, irq;

        clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(clk)) {
@@ -131,6 +138,19 @@ static int orion_wdt_probe(struct platform_device *pdev)
        if (!wdt_reg)
                return -ENOMEM;

+       irq = platform_get_irq(pdev, 0);
+       if (irq > 0) {

0 is a valid interrupt number, and platform_get_irq returns an error code on 
errors.
Should be >= 0.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to