drivers/input/misc/ibm-panel.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
Hi all,
After merging the input tree, today's linux-next build (x86_64
allmodconfig) failed like this:
drivers/input/misc/ibm-panel.c:195:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
195 | .remove = ibm_panel_remove,
| ^~~~~~~~~~~~~~~~
drivers/input/misc/ibm-panel.c:195:19: note: (near initialization for 'ibm_panel_driver.remove')
Caused by commit
95331e91e9da ("Input: Add IBM Operation Panel driver")
interacting with commit
ed5c2f5fd10d ("i2c: Make remove callback return void")
from v6.0-rc1.
I have applied the following merge fix patch for today:
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 17 Aug 2022 09:54:11 +1000
Subject: [PATCH] Input: fix up for "i2c: Make remove callback return void"
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/input/misc/ibm-panel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/input/misc/ibm-panel.c b/drivers/input/misc/ibm-panel.c
index 54c657cd7809..094bcdb568f1 100644
--- a/drivers/input/misc/ibm-panel.c
+++ b/drivers/input/misc/ibm-panel.c
@@ -174,11 +174,9 @@ static int ibm_panel_probe(struct i2c_client *client,
return 0;
}
-static int ibm_panel_remove(struct i2c_client *client)
+static void ibm_panel_remove(struct i2c_client *client)
{
i2c_slave_unregister(client);
-
- return 0;
}
static const struct of_device_id ibm_panel_match[] = {
--
2.35.1
--
Cheers,
Stephen Rothwell
Hello,
On Wed, Aug 17, 2022 at 10:00:07AM +1000, Stephen Rothwell wrote:
> After merging the input tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/input/misc/ibm-panel.c:195:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
> 195 | .remove = ibm_panel_remove,
> | ^~~~~~~~~~~~~~~~
> drivers/input/misc/ibm-panel.c:195:19: note: (near initialization for 'ibm_panel_driver.remove')
>
> Caused by commit
>
> 95331e91e9da ("Input: Add IBM Operation Panel driver")
>
> interacting with commit
>
> ed5c2f5fd10d ("i2c: Make remove callback return void")
>
> from v6.0-rc1.
I was a bit irritated by the "from v6.0-rc1" part and I feared that I
missed a driver in the conversion of the remove callback. But both
commits happen after v6.0-rc1, so everything is fine and as expected.
> I have applied the following merge fix patch for today:
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 17 Aug 2022 09:54:11 +1000
> Subject: [PATCH] Input: fix up for "i2c: Make remove callback return void"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> drivers/input/misc/ibm-panel.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/input/misc/ibm-panel.c b/drivers/input/misc/ibm-panel.c
> index 54c657cd7809..094bcdb568f1 100644
> --- a/drivers/input/misc/ibm-panel.c
> +++ b/drivers/input/misc/ibm-panel.c
> @@ -174,11 +174,9 @@ static int ibm_panel_probe(struct i2c_client *client,
> return 0;
> }
>
> -static int ibm_panel_remove(struct i2c_client *client)
> +static void ibm_panel_remove(struct i2c_client *client)
> {
> i2c_slave_unregister(client);
> -
> - return 0;
> }
That looks right. Wolfram created a tag for the conversion that can be
pulled into the input tree at
https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/make_remove_callback_void-immutable
.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |
Hi all,
On Wed, 17 Aug 2022 10:00:07 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the input tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/input/misc/ibm-panel.c:195:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
> 195 | .remove = ibm_panel_remove,
> | ^~~~~~~~~~~~~~~~
> drivers/input/misc/ibm-panel.c:195:19: note: (near initialization for 'ibm_panel_driver.remove')
>
> Caused by commit
>
> 95331e91e9da ("Input: Add IBM Operation Panel driver")
>
> interacting with commit
>
> ed5c2f5fd10d ("i2c: Make remove callback return void")
>
> from v6.0-rc1.
Actually it is from the i2c tree and not in Linus' tree. Sorry about
that.
--
Cheers,
Stephen Rothwell
© 2016 - 2026 Red Hat, Inc.