net: dsa: b53: Fix build with B53_SRAB enabled and B53_SERDES=m
authorArnd Bergmann <>
Thu, 27 Sep 2018 10:02:38 +0000 (12:02 +0200)
committerDavid S. Miller <>
Fri, 28 Sep 2018 17:33:42 +0000 (10:33 -0700)
When B53_SERDES is a loadable module, a built-in srab driver still
cannot reach it, so the previous fix is incomplete:

b53_srab.c:(.text+0x3f4): undefined reference to `b53_serdes_init'
drivers/net/dsa/b53/b53_srab.o:(.rodata+0xe64): undefined reference to `b53_serdes_link_state'
drivers/net/dsa/b53/b53_srab.o:(.rodata+0xe74): undefined reference to `b53_serdes_link_set'
drivers/net/dsa/b53/b53_srab.o:(.rodata+0xe88): undefined reference to `b53_serdes_an_restart'
drivers/net/dsa/b53/b53_srab.o:(.rodata+0xea0): undefined reference to `b53_serdes_phylink_validate'
drivers/net/dsa/b53/b53_srab.o:(.rodata+0xea4): undefined reference to `b53_serdes_config'

Add a Kconfig dependency that forces srab to also be a module
in this case, but allow it to be built-in when serdes is
disabled or built-in.

Fixes: 7a8c7f5c30f9 ("net: dsa: b53: Fix build with B53_SRAB enabled and not B53_SERDES")
Signed-off-by: Arnd Bergmann <>
Acked-by: Florian Fainelli <>
Signed-off-by: David S. Miller <>

index e83ebfa..d324692 100644 (file)
@@ -31,6 +31,7 @@ config B53_MMAP_DRIVER
 config B53_SRAB_DRIVER
        tristate "B53 SRAB connected switch driver"
        depends on B53 && HAS_IOMEM
+       depends on B53_SERDES || !B53_SERDES
        default ARCH_BCM_IPROC
          Select to enable support for memory-mapped Switch Register Access