Messages in this thread | | | Date | Wed, 27 Jul 2022 19:38:48 +0300 | From | Vladimir Oltean <> | Subject | Re: [net-next: PATCH v3 6/8] net: core: switch to fwnode_find_net_device_by_node() |
| |
On Wed, Jul 27, 2022 at 05:18:16PM +0200, Marcin Wojtas wrote: > Do you mean a situation analogous to what I addressed in: > [net-next: PATCH v3 4/8] net: mvpp2: initialize port fwnode pointer > ?
Not sure if "analogous" is the right word. My estimation is that the overwhelmingly vast majority of DSA masters can be found by DSA simply due to the SET_NETDEV_DEV() call that the Ethernet drivers need to make anyway. I see that mvpp2 also needed commit c4053ef32208 ("net: mvpp2: initialize port of_node pointer"), but that isn't needed in general, and I can't tell you exactly why it is needed there, I don't know enough about the mvpp2 driver.
> I found indeed a couple of drivers that may require a similar change > (e.g. dpaa2).
There I can tell you why the dpaa2-mac code mangles with net_dev->dev.of_node, but I'd rather not go into an explanation that essentially doesn't matter. The point is that you'd be mistaken to think that only the drivers which touch the net device's ->dev->of_node are the ones that need updating for your series to not cause regressions.
> IMO we have 2 options: > - update these drivers > - add some kind of fallback? If yes, I am wondering about an elegant > solution - maybe add an extra check inside > fwnode_find_parent_dev_match? > > What would you suggest?
Fixing fwnode_find_parent_dev_match(), of course. This change broke DSA on my LS1028A system (master in drivers/net/ethernet/freescale/enetc/) and LS1021A (master in drivers/net/ethernet/freescale/gianfar.c).
| |