[PATCH 2/2] watchdog: at91rm9200 remove mach/ header dependency
Alexandre Belloni
alexandre.belloni at free-electrons.com
Fri Oct 31 13:59:43 PDT 2014
On 31/10/2014 at 21:53:03 +0100, Arnd Bergmann wrote :
> 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.
Sure, I was thinking about putting your sob there too and forgot...
> >
> > +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
More information about the linux-arm-kernel
mailing list