[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bi3lwgeh5egvd4g6aspwvefibk3cviwuzinvgkmnwy4f3bvua4@nf5a6w77cr7v>
Date: Tue, 4 Jun 2024 10:00:04 +0200
From: Wolfram Sang <wsa+renesas@...g-engineering.com>
To: Arnd Bergmann <arnd@...nel.org>
Cc: Andi Shyti <andi.shyti@...nel.org>, Hans Hu <hanshu@...oxin.com>,
Arnd Bergmann <arnd@...db.de>, Wentong Wu <wentong.wu@...el.com>, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] i2c: viai2c: turn common code into a proper module
On Tue, May 28, 2024 at 02:06:30PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.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@...db.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?
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists