The broadcom firmware drvier calls into the ssb SPROM code if that is enabled, but it fails if the SSB code is in a loadable module because the bcm47xx firmware is always built-in: drivers/firmware/built-in.o: In function `bcm47xx_sprom_register_fallbacks': bcm47xx_sprom.c:(.text+0x11c4): undefined reference to `ssb_arch_register_fallback_sprom' This adds a Kconfig dependency to ensure that we cannot turn on the generic sprom support if the ssb sprom is in a module. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- drivers/firmware/broadcom/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/firmware/broadcom/Kconfig b/drivers/firmware/broadcom/Kconfig index 3c7e5b741e37..42f7d9bfb148 100644 --- a/drivers/firmware/broadcom/Kconfig +++ b/drivers/firmware/broadcom/Kconfig @@ -13,6 +13,7 @@ config BCM47XX_NVRAM config BCM47XX_SPROM bool "Broadcom SPROM driver" depends on BCM47XX_NVRAM + depends on SSB=y || SSB=n help Broadcom devices store configuration data in SPROM. Accessing it is specific to the bus host type, e.g. PCI(e) devices have it mapped in -- 2.7.0