Re: [PATCH] ARM: mvebu: add Device Tree for the Armada 385 RD board

From: Gregory CLEMENT
Date: Thu Mar 06 2014 - 10:47:59 EST


On 06/03/2014 15:51, Gregory CLEMENT wrote:
> On 06/03/2014 15:46, Andrew Lunn wrote:
>>>>>> I think you can use aliases to get the order correct, independent of
>>>>>> how you list them in DT. That should be a lot safer than assuming
>>>>>> things are instantiated from top to bottom.
>>>>>
>>>>> It sounds interesting, how would you do this?
>>>>
>>>> As there already is in armada-370-xp.dtsi
>>>>
>>>> aliases {
>>>> eth0 = &eth0;
>>>> eth1 = &eth1;
>>>> };
>>>>
>>>>
>>>> eth0: ethernet@70000 {
>>>> }
>>>> eth1: ethernet@74000 {
>>>> }
>>>>
>>>> This at least works for i2c devices. The pdev->id is set using the
>>>> alias number.
>>>
>>> Well I think it doesn't work with ethernet devices because we already do
>>> this in aramda-38x.dtsi:
>>>
>>> aliases {
>>> gpio0 = &gpio0;
>>> gpio1 = &gpio1;
>>> eth0 = &eth0;
>>> eth1 = &eth1;
>>> eth2 = &eth2;
>>> };
>>>
>>> eth1: ethernet@30000 {
>>> }
>>> eth2: ethernet@34000 {
>>> }
>>> eth0: ethernet@70000 {
>>> }
>>
>> Ah, Erm, O.K.
>>
>> It seems to be an i2c thing. Take a look at i2c_add_adapter().
>>
>> if (dev->of_node) {
>> id = of_alias_get_id(dev->of_node, "i2c");
>>
>> You could put something similar into the ethernet driver.
>>
>
>
> Actually even what I did, didn't work as I expected. The order should have been changed in
> the dsi file.
>
> I will have a look on the ethernet driver.

Well the naming is done in __dev_alloc_name() and it depends on
the probe order.

So I really wonder if we should not put the ethernet@70000 before the othe
Ethernet node in the armada-38x.dts file. Otherwise it is very misleading to
have eth0 for the second interface, eth1 for the third one, and eth2 for
the first one.


Thanks,

Gregory

>
>
> Thanks,
>
> Gregory
>
>
>> Andrew
>>
>
>


--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/