2019-11-19 02:56:04

by Mao Wenan

[permalink] [raw]
Subject: [PATCH net] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
below errors can be found:
drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'

and warning as below:
WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
Selected by [y]:
NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
&& NET_DSA [=y] && PCI [=y]

This patch add dependency NET_VENDOR_MICROSEMI for NET_DSA_MSCC_FELIX.

Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
Signed-off-by: Mao Wenan <[email protected]>
---
drivers/net/dsa/ocelot/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/dsa/ocelot/Kconfig b/drivers/net/dsa/ocelot/Kconfig
index 0031ca8..61c4ce7 100644
--- a/drivers/net/dsa/ocelot/Kconfig
+++ b/drivers/net/dsa/ocelot/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config NET_DSA_MSCC_FELIX
tristate "Ocelot / Felix Ethernet switch support"
- depends on NET_DSA && PCI
+ depends on NET_DSA && PCI && NET_VENDOR_MICROSEMI
select MSCC_OCELOT_SWITCH
select NET_DSA_TAG_OCELOT
help
--
2.7.4


2019-11-19 23:43:14

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

From: Mao Wenan <[email protected]>
Date: Tue, 19 Nov 2019 10:51:28 +0800

> If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
> below errors can be found:
> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
> felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
> felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'
>
> and warning as below:
> WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
> Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
> NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
> Selected by [y]:
> NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
> && NET_DSA [=y] && PCI [=y]
>
> This patch add dependency NET_VENDOR_MICROSEMI for NET_DSA_MSCC_FELIX.
>
> Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
> Signed-off-by: Mao Wenan <[email protected]>

This seems more like a "select" situation, why in the world should the
user be required to know about NET_VENDOR_MISCROSEMI at all for this
driver?

And NET_VENDOR_MICROSEMI does _NOT_ enable any code at all, you have
to enable the individual drivers guarded by NET_VENDOR_MICROSEMI in order
to resolve the symbols necessary for ocelot.

I'm not applying this, it isn't correct.

Thank you.

2019-11-20 01:29:48

by Mao Wenan

[permalink] [raw]
Subject: Re: [PATCH net] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX



?? 2019/11/20 7:41, David Miller д??:
> From: Mao Wenan <[email protected]>
> Date: Tue, 19 Nov 2019 10:51:28 +0800
>
>> If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
>> below errors can be found:
>> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
>> felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
>> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
>> felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'
>>
>> and warning as below:
>> WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
>> Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
>> NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
>> Selected by [y]:
>> NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
>> && NET_DSA [=y] && PCI [=y]
>>
>> This patch add dependency NET_VENDOR_MICROSEMI for NET_DSA_MSCC_FELIX.
>>
>> Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
>> Signed-off-by: Mao Wenan <[email protected]>
>
> This seems more like a "select" situation, why in the world should the
> user be required to know about NET_VENDOR_MISCROSEMI at all for this
> driver?
thanks.
I will change to 'select' it and send v2.
>
> And NET_VENDOR_MICROSEMI does _NOT_ enable any code at all, you have
> to enable the individual drivers guarded by NET_VENDOR_MICROSEMI in order
> to resolve the symbols necessary for ocelot.
>
> I'm not applying this, it isn't correct.
>
> Thank you.
>
> .
>


2019-11-20 01:50:52

by Mao Wenan

[permalink] [raw]
Subject: [PATCH net v2] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
below errors can be found:
drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'

and warning as below:
WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
Selected by [y]:
NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
&& NET_DSA [=y] && PCI [=y]

This patch is to select NET_VENDOR_MICROSEMI for NET_DSA_MSCC_FELIX.

Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
Signed-off-by: Mao Wenan <[email protected]>
---
v2: modify 'depends on' to 'select'.
drivers/net/dsa/ocelot/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/dsa/ocelot/Kconfig b/drivers/net/dsa/ocelot/Kconfig
index 0031ca8..652604b 100644
--- a/drivers/net/dsa/ocelot/Kconfig
+++ b/drivers/net/dsa/ocelot/Kconfig
@@ -2,6 +2,7 @@
config NET_DSA_MSCC_FELIX
tristate "Ocelot / Felix Ethernet switch support"
depends on NET_DSA && PCI
+ select NET_VENDOR_MICROSEMI
select MSCC_OCELOT_SWITCH
select NET_DSA_TAG_OCELOT
help
--
2.7.4


2019-11-20 02:54:51

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net v2] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

From: Mao Wenan <[email protected]>
Date: Wed, 20 Nov 2019 09:47:22 +0800

> If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
> below errors can be found:
> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
> felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
> felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'
>
> and warning as below:
> WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
> Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
> NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
> Selected by [y]:
> NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
> && NET_DSA [=y] && PCI [=y]
>
> This patch is to select NET_VENDOR_MICROSEMI for NET_DSA_MSCC_FELIX.
>
> Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
> Signed-off-by: Mao Wenan <[email protected]>

You did not read my feedback, read it again please.

2019-11-20 10:15:11

by Mao Wenan

[permalink] [raw]
Subject: Re: [PATCH net v2] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX



?? 2019/11/20 10:53, David Miller д??:
> From: Mao Wenan <[email protected]>
> Date: Wed, 20 Nov 2019 09:47:22 +0800
>
>> If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
>> below errors can be found:
>> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
>> felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
>> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
>> felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'
>>
>> and warning as below:
>> WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
>> Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
>> NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
>> Selected by [y]:
>> NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
>> && NET_DSA [=y] && PCI [=y]
>>
>> This patch is to select NET_VENDOR_MICROSEMI for NET_DSA_MSCC_FELIX.
>>
>> Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
>> Signed-off-by: Mao Wenan <[email protected]>
>
> You did not read my feedback, read it again please.
Sorry for that, do you mean firstly to resolve dependencies according to MSCC_OCELOT_SWITCH,
config MSCC_OCELOT_SWITCH
tristate "Ocelot switch driver"
depends on NET_SWITCHDEV
depends on HAS_IOMEM

after that to select in MSCC_OCELOT_SWITCH in NET_DSA_MSCC_FELIX,
config NET_DSA_MSCC_FELIX
tristate "Ocelot / Felix Ethernet switch support"
depends on NET_DSA && PCI
+ select NET_VENDOR_MICROSEMI
+ depends on NET_SWITCHDEV
+ depends on HAS_IOMEM
select MSCC_OCELOT_SWITCH
select NET_DSA_TAG_OCELOT
help


>
> .
>


2019-11-25 12:47:07

by Mao Wenan

[permalink] [raw]
Subject: [PATCH net v3] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
below errors can be found:
drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'

and warning as below:
WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
Selected by [y]:
NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
&& NET_DSA [=y] && PCI [=y]

This patch is to select NET_VENDOR_MICROSEMI and add dependency
NET_SWITCHDEV, HAS_IOMEM for NET_DSA_MSCC_FELIX.

Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
Signed-off-by: Mao Wenan <[email protected]>
---
v3: add depends on NET_SWITCHDEV and HAS_IOMEM.
v2: modify 'depends on' to 'select'.
drivers/net/dsa/ocelot/Kconfig | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/dsa/ocelot/Kconfig b/drivers/net/dsa/ocelot/Kconfig
index 0031ca814346..1ec2dfbd76ce 100644
--- a/drivers/net/dsa/ocelot/Kconfig
+++ b/drivers/net/dsa/ocelot/Kconfig
@@ -2,6 +2,9 @@
config NET_DSA_MSCC_FELIX
tristate "Ocelot / Felix Ethernet switch support"
depends on NET_DSA && PCI
+ depends on NET_SWITCHDEV
+ depends on HAS_IOMEM
+ select NET_VENDOR_MICROSEMI
select MSCC_OCELOT_SWITCH
select NET_DSA_TAG_OCELOT
help
--
2.20.1

2019-11-25 19:09:46

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net v3] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

From: Mao Wenan <[email protected]>
Date: Mon, 25 Nov 2019 20:41:10 +0800

> + select NET_VENDOR_MICROSEMI

This is never correct.

2019-11-25 19:44:06

by Vladimir Oltean

[permalink] [raw]
Subject: Re: [PATCH net v3] net: dsa: ocelot: add dependency for NET_DSA_MSCC_FELIX

On Mon, 25 Nov 2019 at 14:47, Mao Wenan <[email protected]> wrote:
>
> If CONFIG_NET_DSA_MSCC_FELIX=y, and CONFIG_NET_VENDOR_MICROSEMI=n,
> below errors can be found:
> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_del':
> felix.c:(.text+0x26e): undefined reference to `ocelot_vlan_del'
> drivers/net/dsa/ocelot/felix.o: In function `felix_vlan_add':
> felix.c:(.text+0x352): undefined reference to `ocelot_vlan_add'
>
> and warning as below:
> WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
> Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
> NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
> Selected by [y]:
> NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y]
> && NET_DSA [=y] && PCI [=y]
>
> This patch is to select NET_VENDOR_MICROSEMI and add dependency
> NET_SWITCHDEV, HAS_IOMEM for NET_DSA_MSCC_FELIX.
>
> Fixes: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
> Signed-off-by: Mao Wenan <[email protected]>
> ---

NET_DSA already selects NET_SWITCHDEV
MSCC_OCELOT_SWITCH already selects HAS_IOMEM
As for NET_VENDOR_MICROSEMI, does anyone care what are the results
after Kconfig prints this?

WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
Selected by [y]:
- NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y] &&
NET_DSA [=y] && PCI [=y]

WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
Selected by [y]:
- NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y] &&
NET_DSA [=y] && PCI [=y]

WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH
Depends on [n]: NETDEVICES [=y] && ETHERNET [=y] &&
NET_VENDOR_MICROSEMI [=n] && NET_SWITCHDEV [=y] && HAS_IOMEM [=y]
Selected by [y]:
- NET_DSA_MSCC_FELIX [=y] && NETDEVICES [=y] && HAVE_NET_DSA [=y] &&
NET_DSA [=y] && PCI [=y]

If yes. why?

It's like executing code after return.

> v3: add depends on NET_SWITCHDEV and HAS_IOMEM.
> v2: modify 'depends on' to 'select'.
> drivers/net/dsa/ocelot/Kconfig | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/dsa/ocelot/Kconfig b/drivers/net/dsa/ocelot/Kconfig
> index 0031ca814346..1ec2dfbd76ce 100644
> --- a/drivers/net/dsa/ocelot/Kconfig
> +++ b/drivers/net/dsa/ocelot/Kconfig
> @@ -2,6 +2,9 @@
> config NET_DSA_MSCC_FELIX
> tristate "Ocelot / Felix Ethernet switch support"
> depends on NET_DSA && PCI
> + depends on NET_SWITCHDEV
> + depends on HAS_IOMEM
> + select NET_VENDOR_MICROSEMI
> select MSCC_OCELOT_SWITCH
> select NET_DSA_TAG_OCELOT
> help
> --
> 2.20.1
>

Regards,
-Vladimir