[EXT] Re: [PATCH] net: fec: Keep device numbering consistent with datasheet
Stefan Riedmüller
s.riedmueller at phytec.de
Thu Sep 24 03:11:14 EDT 2020
Hi Andy, David and Andrew,
first of all, thanks for your review. I really appreciate it!
On 24.09.20 08:36, Andy Duan wrote:
> From: David Miller <davem at davemloft.net> Sent: Thursday, September 24, 2020 4:32 AM
>> From: Stefan Riedmueller <s.riedmueller at phytec.de>
>> Date: Wed, 23 Sep 2020 16:25:28 +0200
>>
>>> From: Christian Hemp <c.hemp at phytec.de>
>>>
>>> Make use of device tree alias for device enumeration to keep the
>>> device order consistent with the naming in the datasheet.
>>>
>>> Otherwise for the i.MX 6UL/ULL the ENET1 interface is enumerated as
>>> eth1 and ENET2 as eth0.
>>>
>>> Signed-off-by: Christian Hemp <c.hemp at phytec.de>
>>> Signed-off-by: Stefan Riedmueller <s.riedmueller at phytec.de>
>>
>> Device naming and ordering for networking devices was never, ever,
>> guaranteed.
>>
>> Use udev or similar.
>>
>>> @@ -3691,6 +3692,10 @@ fec_probe(struct platform_device *pdev)
>>>
>>> ndev->max_mtu = PKT_MAXBUF_SIZE - ETH_HLEN - ETH_FCS_LEN;
>>>
>>> + eth_id = of_alias_get_id(pdev->dev.of_node, "ethernet");
>>> + if (eth_id >= 0)
>>> + sprintf(ndev->name, "eth%d", eth_id);
>>
>> You can't ever just write into ndev->name, what if another networking device is
>> already using that name?
>>
>> This change is incorrect on many levels.
>
> David is correct.
>
> For example, imx8DXL has ethernet0 is EQOS TSN, ethernet1 is FEC.
> EQOS TSN is andother driver and is registered early, the dev->name is eth0.
> So the patch will bring conflict in such case.
I was not aware of that conflict, but now that you mention it it makes total
sense.
I wanted to make life a little easier for myself but underestimated the
global context. I will try to find a solution with udev or something similar.
So please drop this patch and sorry for the noise.
Stefan
>
> Andy
>
More information about the linux-arm-kernel
mailing list