On 12/22/2011 06:57 PM, Michal Marek wrote: > Dne 22.12.2011 06:58, Stephen Rothwell napsal(a): >> Hi , >> >> After merging the final tree, today's linux-next build (powerpc >> allyesconfig) failed like this: >> >> drivers/net/wireless/ath/ath6kl/cfg80211.c:27:1: error: expected ')' before 'KBUILD_MODNAME' >> drivers/net/wireless/ath/ath6kl/cfg80211.c:27:1: error: 'KBUILD_MODNAME' undeclared here (not in a function) > [...] >> >> I can't figure out what goes wrong here. On the compile command line, >> KBUILD_MODNAME is not defined, but KBUILD_BASE_NAME is. > > scripts/Makefile.lib says > # Note: It's possible that one object gets potentially linked into more > # than one module. In that case KBUILD_MODNAME will be set to foo_bar, > # where foo and bar are the name of the modules. > > but reality does not match this comment: > modname_flags = $(if $(filter 1,$(words $(modname))),\ > -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") > > But I wonder why you need to link all the object files twice? No particular reason. I just didn't know that it's not allowed. > Usually, drivers have a foo_common.ko and foo_{usb,pci,whatever}.ko that provide > the pci/usb/whatever driver. I have been planning to do the same for ath6kl. I just need to do a bit of interface cleanup before I can cleanly separate the core module. I'll start looking at that next. Kalle -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html