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).