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

From: Hans de Goede
Date: Mon Aug 05 2024 - 11:03:32 EST


Hi,

On 5/29/24 11:49 AM, Arnd Bergmann 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.
>
> Fixes: a2f9fbc247ee ("platform/x86: int3472: Split into 2 drivers")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

I've fixed the following checkpatch warning while applying this:

WARNING: Prefer "GPL" over "GPL v2" - see commit bf7fbeeae6db ("module: Cure the MODULE_LICENSE "GPL" vs. "GPL v2" bogosity")

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans



> ---
> drivers/platform/x86/intel/int3472/Makefile | 9 ++++++---
> drivers/platform/x86/intel/int3472/common.c | 7 +++++++
> 2 files changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/x86/intel/int3472/Makefile b/drivers/platform/x86/intel/int3472/Makefile
> index 9f16cb514397..a8aba07bf1dc 100644
> --- a/drivers/platform/x86/intel/int3472/Makefile
> +++ b/drivers/platform/x86/intel/int3472/Makefile
> @@ -1,4 +1,7 @@
> obj-$(CONFIG_INTEL_SKL_INT3472) += intel_skl_int3472_discrete.o \
> - intel_skl_int3472_tps68470.o
> -intel_skl_int3472_discrete-y := discrete.o clk_and_regulator.o led.o common.o
> -intel_skl_int3472_tps68470-y := tps68470.o tps68470_board_data.o common.o
> + intel_skl_int3472_tps68470.o \
> + intel_skl_int3472_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
> +
> +intel_skl_int3472_common-y += common.o
> diff --git a/drivers/platform/x86/intel/int3472/common.c b/drivers/platform/x86/intel/int3472/common.c
> index 9db2bb0bbba4..8e4a782b2c35 100644
> --- a/drivers/platform/x86/intel/int3472/common.c
> +++ b/drivers/platform/x86/intel/int3472/common.c
> @@ -29,6 +29,7 @@ union acpi_object *skl_int3472_get_acpi_buffer(struct acpi_device *adev, char *i
>
> return obj;
> }
> +EXPORT_SYMBOL_GPL(skl_int3472_get_acpi_buffer);
>
> int skl_int3472_fill_cldb(struct acpi_device *adev, struct int3472_cldb *cldb)
> {
> @@ -52,6 +53,7 @@ int skl_int3472_fill_cldb(struct acpi_device *adev, struct int3472_cldb *cldb)
> kfree(obj);
> return ret;
> }
> +EXPORT_SYMBOL_GPL(skl_int3472_fill_cldb);
>
> /* sensor_adev_ret may be NULL, name_ret must not be NULL */
> int skl_int3472_get_sensor_adev_and_name(struct device *dev,
> @@ -80,3 +82,8 @@ int skl_int3472_get_sensor_adev_and_name(struct device *dev,
>
> return ret;
> }
> +EXPORT_SYMBOL_GPL(skl_int3472_get_sensor_adev_and_name);
> +
> +MODULE_DESCRIPTION("Intel SkyLake INT3472 ACPI Device Driver library");
> +MODULE_AUTHOR("Daniel Scally <djrscally@xxxxxxxxx>");
> +MODULE_LICENSE("GPL v2");