Re: [PATCH] Firmware: broadcom sprom: clarifiy SSB dependency
From: Arnd Bergmann
Date: Mon Mar 14 2016 - 11:34:25 EST
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