On Monday 28 March 2011, Greg KH wrote: > > > > But how should I then do this? As I understood it I was told that I should > > call an init function, but I was not allowed to add any staging folder > > inclusion in the board config makefile. And now I can't do any extern > > declaration either. I don't really see how I could do it then. > > Why can't you add a staging folder inclusion? You could do that, and > properly set up your .h file so that if the driver is not built, your > code still properly builds and runs. That would work as well, along with the two solutions I suggested. I believe Pär-Gunnar was trying to avoid #ifdefs, and the patch actually contains alternative files implementing cg2900_init_board as a stub when CONFIG_CG2900 is set, so the intent was clearly there: @@ -0,0 +1,18 @@ +# +# Makefile for ST-Ericsson CG2900 connectivity combo controller +# + +ccflags-y := \ + -Idrivers/staging/cg2900/include \ + -Iarch/arm/mach-ux500 + +ifeq ($(CONFIG_CG2900),n) +obj-y += board-mop500-nocg2900.o +export-objs := board-mop500-nocg2900.o +else +obj-$(CONFIG_CG2900) += board-mop500-cg2900.o devices-cg2900.o +export-objs := board-mop500-cg2900.o +endif + I don't think that this works though, because the directory is ignored when CONFIG_CG2900 is not set, and if it did work, it would cause an empty function to be included in every single kernel, not even limited to the ARM architecture. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html