Re: [PATCH] platform/x86: int3472: make common part a separate module

From: Arnd Bergmann
Date: Wed May 29 2024 - 10:15:13 EST


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_tps68470o
>
>> + intel_skl_int3472_tps68470o \
>> + 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