On Thu, Jan 28, 2021 at 05:33:38PM +0100, Kurt Kanzenbach wrote:
> 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 <rdun...@infradead.org>
> Signed-off-by: Kurt Kanzenbach <k...@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.
>
> diff --git a/drivers/net/dsa/hirschmann/Kconfig 
> b/drivers/net/dsa/hirschmann/Kconfig
> index e01191107a4b..9ea2c643f8f8 100644
> --- a/drivers/net/dsa/hirschmann/Kconfig
> +++ b/drivers/net/dsa/hirschmann/Kconfig
> @@ -5,6 +5,7 @@ config NET_DSA_HIRSCHMANN_HELLCREEK
>       depends on NET_DSA
>       depends on PTP_1588_CLOCK
>       depends on LEDS_CLASS
> +     depends on NET_SCH_TAPRIO
>       select NET_DSA_TAG_HELLCREEK
>       help
>         This driver adds support for Hirschmann Hellcreek TSN switches.
> --
> 2.20.1
>

Note that for sja1105, Arnd solved it this way. I am still not sure why.

commit 5d294fc483405de9c0913ab744a31e6fa7cb0f40
Author: Arnd Bergmann <a...@arndb.de>
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 <a...@arndb.de>
    Signed-off-by: David S. Miller <da...@davemloft.net>

diff --git a/drivers/net/dsa/sja1105/Kconfig b/drivers/net/dsa/sja1105/Kconfig
index f40b248f0b23..ffac0ea4e8d5 100644
--- a/drivers/net/dsa/sja1105/Kconfig
+++ b/drivers/net/dsa/sja1105/Kconfig
@@ -26,8 +26,8 @@ config NET_DSA_SJA1105_PTP

 config NET_DSA_SJA1105_TAS
        bool "Support for the Time-Aware Scheduler on NXP SJA1105"
-       depends on NET_DSA_SJA1105
-       depends on NET_SCH_TAPRIO
+       depends on NET_DSA_SJA1105 && NET_SCH_TAPRIO
+       depends on NET_SCH_TAPRIO=y || NET_DSA_SJA1105=m
        help
          This enables support for the TTEthernet-based egress scheduling
          engine in the SJA1105 DSA driver, which is controlled using a

Reply via email to