Re: [PATCH] i2c: viai2c: turn common code into a proper module
From: Wolfram Sang
Date: Tue Jun 04 2024 - 04:00:12 EST
On Tue, May 28, 2024 at 02:06:30PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The i2c-viai2c-common.c file is used by two drivers, but is not a proper
> abstraction and can get linked into both modules in the same configuration,
> which results in a warning:
>
> scripts/Makefile.build:236: drivers/i2c/busses/Makefile: i2c-viai2c-common.o is added to multiple modules: i2c-wmt i2c-zhaoxin
>
> The other problems with this include the incorrect use of a __weak function
> when both are built-in, and the fact that the "common" module is sprinked
> with 'if (i2c->plat == ...)' checks that have knowledge about the differences
> between the drivers using it.
>
> Avoid the link time warning by making the common driver a proper module
> with MODULE_LICENCE()/MODULE_AUTHOR() tags, and remove the __weak function
> by slightly rearranging the code.
>
> This adds a little more duplication between the two main drivers, but
> those versions get more readable in the process.
>
> Fixes: a06b80e83011 ("i2c: add zhaoxin i2c controller driver")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Andi, I am tempted to include this in my for-current pull request this
week. Are you okay with this or do you want to review it more closely?
Attachment:
signature.asc
Description: PGP signature