On Monday 14 March 2016 15:37:18 Rafał Miłecki wrote: > On 14 March 2016 at 15:21, Arnd Bergmann <arnd@xxxxxxxx> wrote: > > 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. > > Can you attach your config that triggered this build error? I modified > condition to the: > #if IS_BUILTIN(CONFIG_SSB) && IS_ENABLED(CONFIG_SSB_SPROM) > which I believe should be enough. >From inspection, I think your solution is sufficient to avoid the error. I found the bug while travelling and I'm only now catching up on the submissions, so I must have missed the fact that it was fixed. I looked at the code to see if additional patches had been applied on top, but I did not realize that you had modified the driver in place. > I'm afraid your patch won't allow compiling SPROM driver with BCMA=y > and SSB as a module. Correct. The downside of your approach is that it silently stops the machine from accessing the SSB SPROM when the driver is a module, while still allowing the generic SPROM code to be built, which may be harder to figure out for a user than a missing driver. I don't see a good solution that works either way, so the your latest code looks good enough. Thanks for the quick reply! Arnd