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

Ben Dooks ben.dooks at codethink.co.uk
Tue Jul 31 10:30:00 EDT 2012


On 31/07/12 08:14, Arnaud Patard (Rtp) wrote:
> Ian Molton<ian.molton at codethink.co.uk>  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.

Is this something for all kirkwood devices? I think the best way of
doing this is to give the driver a new device-tree name and having
it set this field in the init sequence.

However we could also do with some of these as dt parameters just in
case people want to try and alter them for their own systems.

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius



More information about the linux-arm-kernel mailing list