On Wed, May 29, 2024, at 15:41, Andy Shevchenko wrote: > On Wed, May 29, 2024 at 12:50 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: >> >> From: Arnd Bergmann <arnd@xxxxxxxx> >> >> Linking an object file into multiple modules is not supported >> and causes a W=1 warning: >> >> scripts/Makefile.build:236: drivers/platform/x86/intel/int3472/Makefile: common.o is added to multiple modules: intel_skl_int3472_discrete intel_skl_int3472_tps68470 >> >> Split out the common part here into a separate module to make it >> more reliable. > > ... > >> obj-$(CONFIG_INTEL_SKL_INT3472) += intel_skl_int3472_discrete.o \ >> - intel_skl_int3472_tps68470.o > >> + intel_skl_int3472_tps68470.o \ >> + intel_skl_int3472_common.o > > A nit: Can this be put above instead? I've changed it like this now, is that what you meant? obj-$(CONFIG_INTEL_SKL_INT3472) += intel_skl_int3472_common.o \ intel_skl_int3472_discrete.o \ intel_skl_int3472_tps68470.o \ intel_skl_int3472_common-y += common.o intel_skl_int3472_discrete-y := discrete.o clk_and_regulator.o led.o intel_skl_int3472_tps68470-y := tps68470.o tps68470_board_data.o > ... > >> +EXPORT_SYMBOL_GPL(skl_int3472_get_sensor_adev_and_name); > > Are these namespaced? No, is there any advantage to making them namespaced? It's only a few symbols and they have proper prefixes. Arnd