Re: [PATCH -next] net: dsa: mv88e6xxx: Fix build warning when CONFIG_NET_DSA_LEGACY is n

From: Heiner Kallweit
Date: Mon Mar 04 2019 - 13:31:41 EST


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?