From: Kurt Kanzenbach <kurt@linutronix.de> Date: 2021-01-28 16:35:22
Add missing dependency to TAPRIO to avoid build failures such as:
|ERROR: modpost: "taprio_offload_get" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
|ERROR: modpost: "taprio_offload_free" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
Fixes: 24dfc6eb39b2 ("net: dsa: hellcreek: Add TAPRIO offloading support")
Reported-by: Randy Dunlap <redacted>
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
---
drivers/net/dsa/hirschmann/Kconfig | 1 +
1 file changed, 1 insertion(+)
Note: It's not against net, because the fixed commit is not in net tree, yet.
From: Vladimir Oltean <olteanv@gmail.com> Date: 2021-01-28 16:39:02
On Thu, Jan 28, 2021 at 05:33:38PM +0100, Kurt Kanzenbach wrote:
quoted hunk
Add missing dependency to TAPRIO to avoid build failures such as:
|ERROR: modpost: "taprio_offload_get" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
|ERROR: modpost: "taprio_offload_free" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
Fixes: 24dfc6eb39b2 ("net: dsa: hellcreek: Add TAPRIO offloading support")
Reported-by: Randy Dunlap <redacted>
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
---
drivers/net/dsa/hirschmann/Kconfig | 1 +
1 file changed, 1 insertion(+)
Note: It's not against net, because the fixed commit is not in net tree, yet.
Note that for sja1105, Arnd solved it this way. I am still not sure why.
commit 5d294fc483405de9c0913ab744a31e6fa7cb0f40
Author: Arnd Bergmann [off-list ref]
Date: Fri Oct 25 09:26:35 2019 +0200
net: dsa: sja1105: improve NET_DSA_SJA1105_TAS dependency
An earlier bugfix introduced a dependency on CONFIG_NET_SCH_TAPRIO,
but this missed the case of NET_SCH_TAPRIO=m and NET_DSA_SJA1105=y,
which still causes a link error:
drivers/net/dsa/sja1105/sja1105_tas.o: In function `sja1105_setup_tc_taprio':
sja1105_tas.c:(.text+0x5c): undefined reference to `taprio_offload_free'
sja1105_tas.c:(.text+0x3b4): undefined reference to `taprio_offload_get'
drivers/net/dsa/sja1105/sja1105_tas.o: In function `sja1105_tas_teardown':
sja1105_tas.c:(.text+0x6ec): undefined reference to `taprio_offload_free'
Change the dependency to only allow selecting the TAS code when it
can link against the taprio code.
Fixes: a8d570de0cc6 ("net: dsa: sja1105: Add dependency for NET_DSA_SJA1105_TAS")
Fixes: 317ab5b86c8e ("net: dsa: sja1105: Configure the Time-Aware Scheduler via tc-taprio offload")
Signed-off-by: Arnd Bergmann [off-list ref]
Signed-off-by: David S. Miller [off-list ref]
On Thu, Jan 28, 2021 at 5:37 PM Vladimir Oltean [off-list ref] wrote:
On Thu, Jan 28, 2021 at 05:33:38PM +0100, Kurt Kanzenbach wrote:
quoted
Add missing dependency to TAPRIO to avoid build failures such as:
|ERROR: modpost: "taprio_offload_get" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
|ERROR: modpost: "taprio_offload_free" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
Fixes: 24dfc6eb39b2 ("net: dsa: hellcreek: Add TAPRIO offloading support")
Reported-by: Randy Dunlap <redacted>
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Note that for sja1105, Arnd solved it this way. I am still not sure why.
commit 5d294fc483405de9c0913ab744a31e6fa7cb0f40
Author: Arnd Bergmann [off-list ref]
Date: Fri Oct 25 09:26:35 2019 +0200
net: dsa: sja1105: improve NET_DSA_SJA1105_TAS dependency
An earlier bugfix introduced a dependency on CONFIG_NET_SCH_TAPRIO,
but this missed the case of NET_SCH_TAPRIO=m and NET_DSA_SJA1105=y,
which still causes a link error:
As I described in this commit, the problem here was that NET_DSA_SJA1105_TAS
is a 'bool' symbol with a dependency on a 'tristate', so you have to prevent
the option from getting enabled when it's part of a driver that gets built into
the kernel but the dependnecy is in a loadable module.
NET_DSA_HIRSCHMANN_HELLCREEK on the other hand is a 'tristate'
symbol itself, so the dependency takes care of it: you cannot set it to =y
when its dependency is =m.
Arnd
From: Randy Dunlap <hidden> Date: 2021-01-28 20:04:59
On 1/28/21 8:33 AM, Kurt Kanzenbach wrote:
quoted hunk
Add missing dependency to TAPRIO to avoid build failures such as:
|ERROR: modpost: "taprio_offload_get" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
|ERROR: modpost: "taprio_offload_free" [drivers/net/dsa/hirschmann/hellcreek_sw.ko] undefined!
Fixes: 24dfc6eb39b2 ("net: dsa: hellcreek: Add TAPRIO offloading support")
Reported-by: Randy Dunlap <redacted>
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
---
drivers/net/dsa/hirschmann/Kconfig | 1 +
1 file changed, 1 insertion(+)
Note: It's not against net, because the fixed commit is not in net tree, yet.
Thanks. This fixes the build errors.
Acked-by: Randy Dunlap <redacted> # build-tested
However, I do see this in the build output when
NET_DSA_HIRSCHMANN_HELLCREEK is disabled:
AR drivers/net/dsa/hirschmann/built-in.a
That is an empty archive file (8 bytes), which is caused by
drivers/net/dsa/Makefile:
obj-y += hirschmann/
Is there some reason that it's not done like this?
This passes my y/m/n testing.
---
From: Randy Dunlap <redacted>
This prevents descending into the net/dsa/hirschmann/ subdirectory
and building an empty archive file:
AR drivers/net/dsa/hirschmann/built-in.a
Signed-off-by: Randy Dunlap <redacted>
---
drivers/net/dsa/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)