[PATCH] i2c: viai2c: turn common code into a proper module
Wolfram Sang
wsa+renesas at sang-engineering.com
Tue Jun 4 01:00:04 PDT 2024
On Tue, May 28, 2024 at 02:06:30PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
>
> 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 at arndb.de>
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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20240604/f2b35ea0/attachment.sig>
More information about the linux-arm-kernel
mailing list