[PATCHv4] mtd: gpio-nand: add device tree bindings

Artem Bityutskiy dedekind1 at gmail.com
Tue Aug 16 00:28:57 EST 2011


On Tue, 2011-08-09 at 16:12 +0100, Jamie Iles wrote:
> -	res1 = platform_get_resource(dev, IORESOURCE_MEM, 1);
> +	if (!dev->dev.of_node)
> +		res1 = platform_get_resource(dev, IORESOURCE_MEM, 1);
> +	else
> +		res1 = gpio_nand_of_get_io_sync(&dev->dev);
> +
>  	if (res1) {
>  		gpiomtd->io_sync = request_and_remap(res1, 4, "NAND sync", &ret);
>  		if (!gpiomtd->io_sync) {
> @@ -257,7 +362,16 @@ static int __devinit gpio_nand_probe(struct platform_device *dev)
>  		}
>  	}
>  
> -	memcpy(&gpiomtd->plat, dev->dev.platform_data, sizeof(gpiomtd->plat));
> +	if (dev->dev.of_node)
> +		kfree(res1);
> +
> +	if (dev->dev.platform_data)
> +		memcpy(&gpiomtd->plat, dev->dev.platform_data,
> +		       sizeof(gpiomtd->plat));
> +	else
> +		ret = gpio_nand_of_get_config(&dev->dev, &gpiomtd->plat);
> +	if (ret)
> +		goto err_nce;
>  

So with this code you can mix platform data and DT? Say, io_sync may
come from platform data and the rest from the DT? Is this normal
practice?

-- 
Best Regards,
Artem Bityutskiy



More information about the devicetree-discuss mailing list