[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