linux-next: build failure after merge of the input tree

Stephen Rothwell posted 1 patch 3 years, 7 months ago
drivers/input/misc/ibm-panel.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
linux-next: build failure after merge of the input tree
Posted by Stephen Rothwell 3 years, 7 months ago
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
Re: linux-next: build failure after merge of the input tree
Posted by Uwe Kleine-König 3 years, 7 months ago
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/ |
Re: linux-next: build failure after merge of the input tree
Posted by Stephen Rothwell 3 years, 7 months ago
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