On 7/19/22 11:38 AM, Vladimir Oltean wrote: > On Tue, Jul 19, 2022 at 11:28:42AM -0400, Sean Anderson wrote: >> Hi Vladimir, >> >> On 7/19/22 11:25 AM, Vladimir Oltean wrote: >> > Hi Sean, >> > >> > On Mon, Jul 11, 2022 at 12:05:10PM -0400, Sean Anderson wrote: >> >> For a long time, PCSs have been tightly coupled with their MACs. For >> >> this reason, the MAC creates the "phy" or mdio device, and then passes >> >> it to the PCS to initialize. This has a few disadvantages: >> >> >> >> - Each MAC must re-implement the same steps to look up/create a PCS >> >> - The PCS cannot use functions tied to device lifetime, such as devm_*. >> >> - Generally, the PCS does not have easy access to its device tree node >> >> >> >> I'm not sure if these are terribly large disadvantages. In fact, I'm not >> >> sure if this series provides any benefit which could not be achieved >> >> with judicious use of helper functions. In any case, here it is. >> >> >> >> NB: Several (later) patches in this series should not be applied. See >> >> the notes in each commit for details on when they can be applied. >> > >> > Sorry to burst your bubble, but the networking drivers on NXP LS1028A >> > (device tree at arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi, drivers >> > at drivers/net/ethernet/freescale/enetc/ and drivers/net/dsa/ocelot/) >> > do not use the Lynx PCS through a pcs-handle, because the Lynx PCS in >> > fact has no backing OF node there, nor do the internal MDIO buses of the >> > ENETC and of the switch. >> > >> > It seems that I need to point this out explicitly: you need to provide >> > at least a working migration path to your PCS driver model. Currently >> > there isn't one, and as a result, networking is broken on the LS1028A >> > with this patch set. >> > >> >> Please refer to patches 4, 5, and 6. > > I don't understand, could you be more clear? Are you saying that I > shouldn't have applied patch 9 while testing? When would be a good > moment to apply patch 9? I'm saying that patches 4 and 5 [1] provide "...a working migration path to [my] PCS driver model." Since enetc/ocelot do not use devicetree for the PCS, patch 9 should have no effect. That said, if you've tested this on actual hardware, I'm interested in your results. I do not have access to enetc/ocelot hardware, so I was unable to test whether my proposed migration would work. --Sean [1] I listed 6 but it seems like it just has some small hunks which should have been in 5 instead