On 3/4/19 10:31 AM, Heiner Kallweit wrote: > On 04.03.2019 19:24, Florian Fainelli wrote: >> On 3/4/19 10:18 AM, Heiner Kallweit wrote: >>> On 04.03.2019 15:57, Andrew Lunn wrote: >>>> On Mon, Mar 04, 2019 at 10:16:08PM +0800, Zhangshaokun wrote: >>>>> Hi Andrew, >>>>> >>>>> On 2019/3/4 21:26, Andrew Lunn wrote: >>>>>> On Mon, Mar 04, 2019 at 08:43:01PM +0800, Shaokun Zhang wrote: >>>>>>> When CONFIG_NET_DSA_LEGACY is n, there is a GCC bulid warning: >>>>>>> drivers/net/dsa/mv88e6xxx/chip.c:4623:13: warning: >>>>>>> ‘mv88e6xxx_ports_cmode_init’ defined but not used [-Wunused-function] >>>>>>> static void mv88e6xxx_ports_cmode_init(struct mv88e6xxx_chip *chip) >>>>>>> Let's fix it. >>>>>> >>>>>> Hi Shaokun, Heiner >>>>>> >>>>>> Although this fixes the warning, i suspect there i something wrong >>>>>> with the original patch adding mv88e6390x_port_set_cmode(). It should >>>>>> also be used without CONFIG_NET_DSA_LEGACY. >>>>> >>>>> I checked the commit-id 2a93c1a3651f ("net: dsa: Allow compiling out >>>>> legacy support") by Florian. >>>>> Do you mean that CONFIG_NET_DSA_LEGACY shall be removed completely? :-) >>>> >>>> No, i suspect mv88e6390x_ports_cmode_init() is being called from the >>>> wrong place, or needs to be called from a second location. >>>> >>>> [Goes and looks at the code] >>>> >>>> Yes, it should also be called in mv88e6xxx_probe(). I would call it >>>> just after the call to mv88e6xxx_detect(), so that it is the same as >>>> in mv88e6xxx_drv_probe(). >>>> >>>> There are two ways DSA drivers can be probed. The legacy way, which is >>>> optional, and is slowly getting removed, and the current way. Heiner >>>> is new to DSA and probably missed that, and only handled the legacy >>>> probe method. I also missed checking when i reviewed to patch :-( >>>> >>> Right, I missed that, will submit a fix. >>> >>> I just saw that the Kconfig entry comment for NET_DSA_LEGACY says: >>> "This feature is scheduled for removal in 4.17." >>> >>> Was forgotten to remove it or did somebody scream loud enough >>> "But I depend on it" ? >> >> The intent was to remove it by that kernel version but the 88e6060 >> driver still depends on it, and there appears to be some active users >> that Andrew worked with. >> > I see, thanks. And migrating this driver to the new DSA framework > version isn't possible or not worth the effort?
Andrew is working on it actually. We could have 88E6060 select NET_DSA_LEGACY and drop legacy probing from mv88e6xxx as an in between solution. -- Florian