Re: [PATCH v5] net: dsa: mt7530: fix impossible MDIO address and issue warning

From: Vladimir Oltean
Date: Mon Jul 08 2024 - 09:34:13 EST


On Fri, Jul 05, 2024 at 11:48:40AM +0100, Daniel Golle wrote:
> The MDIO address of the MT7530 and MT7531 switch ICs can be configured
> using bootstrap pins. However, there are only 4 possible options for the
> switch itself: 7, 15, 23 and 31. As in MediaTek's SDK the address of the
> switch is wrongly stated in the device tree as 0 (while in reality it is
> 31), warn the user about such broken device tree and make a good guess
> what was actually intended.
>
> This is necessary to not break compatibility with existing Device Trees
> wrongly declaring the switch to be present at address 0 or 1, as with
> commit 868ff5f4944a ("net: dsa: mt7530-mdio: read PHY address of switch
> from device tree") the address in device tree will be taken into
> account, while before it was hard-coded in the driver to 0x1f
> independently of the value in Device Tree.
>
> Fixes: b8f126a8d543 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
> Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx>
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
> Tested-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
> Reviewed-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx>
> ---

Despite having commented on v3, I am not going to leave a review tag on
this patch. Its contents has nothing to do with DSA, so I have no
technical objections of my own, plus little authority for an ack.
It basically boils down to whether the phylib maintainers are okay with
this use of mdio_device_remove() API from mdio_device drivers
themselves.

I did have a technical concern in v3 about a race between the finishing
of probe() and the call to mdio_device_remove(), which Daniel did not
respond to, but I suspect that __device_driver_lock() from
drivers/base/dd.c will serialize those.