Build failures with the brcmfmac driver

Greg KH greg at kroah.com
Thu Sep 23 23:35:52 UTC 2010


On Thu, Sep 23, 2010 at 04:18:47PM -0700, Greg KH wrote:
> Are you all crazy to enable "treat warnings like errors"?

Ok, I've removed that, and the other -W options from the makefiles and
now at least it builds the .o files.

But now I've duplicated the big issue with the way the code is
structured:
	ERROR: "si_pmu_regcontrol" [drivers/staging/brcm80211/brcm80211.ko] undefined!
	ERROR: "bcmsdh_reg_read" [drivers/staging/brcm80211/brcm80211.ko] undefined!
	ERROR: "sb_iscoreup" [drivers/staging/brcm80211/brcm80211.ko] undefined!
	ERROR: "bcmsdh_intr_enable" [drivers/staging/brcm80211/brcm80211.ko] undefined!
	ERROR: "bcmsdh_cfg_write" [drivers/staging/brcm80211/brcm80211.ko] undefined!
	ERROR: "si_pci_down" [drivers/staging/brcm80211/brcm80211.ko] undefined!
	ERROR: "si_pci_fixcfg" [drivers/staging/brcm80211/brcm80211.ko] undefined!

and so on.

It turns out, you are linking .o files that are built with different -D
options, into two different .ko objects right?  Bad things happen as the
code isn't really set up to do this properly.

So, for now, you should change the Kconfig file to only allow the
selection of one of the kernel drivers at once.  Not the "real" fix, but
it should be good enough for the moment.

Unless you have a better idea?

Oh, ideally we will just get rid of the #define mess, but as you have 2
drivers depending on two different set of options, it's not going to be
a simple task unwinding it...

thanks,

greg k-h



More information about the devel mailing list