From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Sun, 20 Nov 2022 15:55:21 +0200 > On Sat, Nov 19, 2022 at 11:08:17PM +0000, Alexander Lobakin wrote: > > common.o is linked to both intel_skl_int3472_{discrete,tps68470}: > > > > > scripts/Makefile.build:252: ./drivers/platform/x86/intel/int3472/Makefile: > > > common.o is added to multiple modules: intel_skl_int3472_discrete > > > intel_skl_int3472_tps68470 > > > > Although both drivers share one Kconfig option > > (CONFIG_INTEL_SKL_INT3472), it's better to not link one object file > > into several modules (and/or vmlinux). > > Under certain circumstances, such can lead to the situation fixed by > > commit 637a642f5ca5 ("zstd: Fixing mixed module-builtin objects"). > > > > Introduce the new module, intel_skl_int3472_common, to provide the > > functions from common.o to both discrete and tps68470 drivers. This > > adds only 3 exports and doesn't provide any changes to the actual > > code. > > ... > > > +MODULE_IMPORT_NS(INTEL_SKL_INT3472); > > + > > Redundant blank line. You may put it to be last MODULE_*() in the file, if you > think it would be more visible. My intention was that it's not "standard" module info like license or description, rather something like exports or initcalls, that's why I did separate them. But I haven't been using module namespaces a lot previously, so if it should be in one block with the rest MODULE_*(), sure, I'll fix. > > > MODULE_DESCRIPTION("Intel SkyLake INT3472 ACPI Discrete Device Driver"); > > MODULE_AUTHOR("Daniel Scally <djrscally@xxxxxxxxx>"); > > MODULE_LICENSE("GPL v2"); > > ... > > > +MODULE_IMPORT_NS(INTEL_SKL_INT3472); > > + > > MODULE_DESCRIPTION("Intel SkyLake INT3472 ACPI TPS68470 Device Driver"); > > MODULE_AUTHOR("Daniel Scally <djrscally@xxxxxxxxx>"); > > MODULE_LICENSE("GPL v2"); > > Ditto. And the same to all your patches. > > -- > With Best Regards, > Andy Shevchenko Thanks, Olek