[PATCH 2/2] watchdog: at91rm9200 remove mach/ header dependency
Arnd Bergmann
arnd at arndb.de
Fri Oct 31 13:53:03 PDT 2014
On Friday 31 October 2014 21:45:59 Alexandre Belloni wrote:
> 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 <alexandre.belloni at free-electrons.com>
Please list me in the changelog as well, either in free-form or as
Suggested-by.
>
> +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?
Arnd
More information about the linux-arm-kernel
mailing list