[PATCH 2/2] watchdog: at91rm9200 remove mach/ header dependency
From: Alexandre Belloni <hidden>
Date: 2014-10-31 20:59:50
Also in:
linux-watchdog, lkml
On 31/10/2014 at 21:53:03 +0100, Arnd Bergmann wrote :
On Friday 31 October 2014 21:45:59 Alexandre Belloni wrote:quoted
Remove the mach/ header dependency by including the necessary macros and taking the appropriate resources from the system timer. Also allow to compile both the at91rm920 and at91sam9 watchdog drivers at the same time. Signed-off-by: Alexandre Belloni <redacted>Please list me in the changelog as well, either in free-form or as Suggested-by.
Sure, I was thinking about putting your sob there too and forgot...
quoted
+static struct of_device_id at91rm9200_st_timer_ids[] = { + { .compatible = "atmel,at91rm9200-st" }, + { /* sentinel */ } +}; + static int at91wdt_probe(struct platform_device *pdev) { + struct resource *regs; + struct resource _regs; int res; if (at91wdt_miscdev.parent) return -EBUSY; at91wdt_miscdev.parent = &pdev->dev; + if (pdev->dev.of_node) { + struct device_node *np; + + np = of_find_matching_node(NULL, at91rm9200_st_timer_ids); + if (!np) + return -ENXIO; + if (of_address_to_resource(np, 0, &_regs)) + return -ENXIO; + regs = &_regs; + } else { + regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); + }What was wrong with my approach of binding the driver to the "atmel,at91rm9200-st" node?
I would enable and start the watchdog on all the rm9200 based platform, something that we probably don't want. -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com