drivers/hwmon/emc2305.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
Hi all,
After merging the hwmon-staging tree, today's linux-next build (x86_64
allmodconfig) failed like this:
drivers/hwmon/emc2305.c:615:21: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
615 | .remove = emc2305_remove,
| ^~~~~~~~~~~~~~
drivers/hwmon/emc2305.c:615:21: note: (near initialization for 'emc2305_driver.remove')
Caused by commit
324745b64626 ("hwmon: (emc2305) add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller.")
interacting with commit
ed5c2f5fd10d ("i2c: Make remove callback return void")
from the i2c tree.
From Uwe:
> There is an immutable tag that can be merged into your tree to
> resolve the conflict before you send your changes to Linux at
>
> https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/make_remove_callback_void-immutable
I have applied the following merge fix patch for today.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 31 Aug 2022 09:22:50 +1000
Subject: [PATCH] hwmon: (emc2305) fix up for "i2c: Make remove callback return void"
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/hwmon/emc2305.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/hwmon/emc2305.c b/drivers/hwmon/emc2305.c
index 9f6546ea3d69..df4c5816f661 100644
--- a/drivers/hwmon/emc2305.c
+++ b/drivers/hwmon/emc2305.c
@@ -597,13 +597,12 @@ static int emc2305_probe(struct i2c_client *client, const struct i2c_device_id *
return 0;
}
-static int emc2305_remove(struct i2c_client *client)
+static void emc2305_remove(struct i2c_client *client)
{
struct device *dev = &client->dev;
if (IS_REACHABLE(CONFIG_THERMAL))
emc2305_unset_tz(dev);
- return 0;
}
static struct i2c_driver emc2305_driver = {
--
2.35.1
--
Cheers,
Stephen Rothwell
> -----Original Message-----
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Sent: Wednesday, August 31, 2022 2:30 AM
> To: Guenter Roeck <linux@roeck-us.net>
> Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>; Wolfram Sang
> <wsa@kernel.org>; Michael Shych <michaelsh@nvidia.com>; Linux Kernel
> Mailing List <linux-kernel@vger.kernel.org>; Linux Next Mailing List <linux-
> next@vger.kernel.org>
> Subject: linux-next: build failure after merge of the hwmon-staging tree
>
> Hi all,
>
> After merging the hwmon-staging tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/hwmon/emc2305.c:615:21: error: initialization of 'void (*)(struct
> i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-
> Werror=incompatible-pointer-types]
> 615 | .remove = emc2305_remove,
> | ^~~~~~~~~~~~~~
> drivers/hwmon/emc2305.c:615:21: note: (near initialization for
> 'emc2305_driver.remove')
>
> Caused by commit
>
> 324745b64626 ("hwmon: (emc2305) add support for EMC2301/2/3/5 RPM-
> based PWM Fan Speed Controller.")
>
> interacting with commit
>
> ed5c2f5fd10d ("i2c: Make remove callback return void")
>
> from the i2c tree.
>
> From Uwe:
>
> > There is an immutable tag that can be merged into your tree to resolve
> > the conflict before you send your changes to Linux at
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git
> >i2c/make_remove_callback_void-immutable
>
> I have applied the following merge fix patch for today.
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 31 Aug 2022 09:22:50 +1000
> Subject: [PATCH] hwmon: (emc2305) fix up for "i2c: Make remove callback
> return void"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Michael Shych <michaelsh@nvidia.com>
> ---
> drivers/hwmon/emc2305.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/hwmon/emc2305.c b/drivers/hwmon/emc2305.c index
> 9f6546ea3d69..df4c5816f661 100644
> --- a/drivers/hwmon/emc2305.c
> +++ b/drivers/hwmon/emc2305.c
> @@ -597,13 +597,12 @@ static int emc2305_probe(struct i2c_client *client,
> const struct i2c_device_id *
> return 0;
> }
>
> -static int emc2305_remove(struct i2c_client *client)
> +static void emc2305_remove(struct i2c_client *client)
> {
> struct device *dev = &client->dev;
>
> if (IS_REACHABLE(CONFIG_THERMAL))
> emc2305_unset_tz(dev);
> - return 0;
> }
>
> static struct i2c_driver emc2305_driver = {
> --
> 2.35.1
>
> --
> Cheers,
> Stephen Rothwell
© 2016 - 2026 Red Hat, Inc.