[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