Subject: [PATCH 3/6] mv643xx.c: Add basic device tree support.

From: [email-masked] (Arnaud Patard (Rtp))
Date: Tue, 31 Jul 2012 09:14:54 +0200

Ian Molton <[email-masked]> writes:
Hi,

[...]

> @@ -2873,7 +2913,31 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
>  	struct resource *res;
>  	int err;
>  
> -	pd = pdev->dev.platform_data;
> +	if (pdev->dev.of_node) {
> +		struct device_node *np = NULL;
> +
> +		/* when all users of this driver use FDT, we can remove this */
> +		pd = kzalloc(sizeof(*pd), GFP_ATOMIC);
> +		if (!pd) {
> +			dev_dbg(&pdev->dev, "Could not allocate platform data\n");
> +			return -ENOMEM;
> +		}
> +
> +		of_property_read_u32(pdev->dev.of_node,
> +			"port_number", &pd->port_number);
> +		of_property_read_u32(pdev->dev.of_node,
> +			"phy_addr", &pd->phy_addr);

I guess we need something for tx_csum_limit in the device tree too. It's
important for kirkwood and dove.

Arnaud