2022-08-26 05:33:08

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the pinctrl tree

Hi all,

After merging the pinctrl tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/pinctrl/pinctrl-cy8c95x0.c:1371:27: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
1371 | .remove = cy8c95x0_remove,
| ^~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-cy8c95x0.c:1371:27: note: (near initialization for 'cy8c95x0_driver.remove')

Caused by commit

e6cbbe42944d ("pinctrl: Add Cypress cy8c95x0 support")

interacting with commit

ed5c2f5fd10d ("i2c: Make remove callback return void")

from the i2c tree.

I have applied the following merge fix patch:

From: Stephen Rothwell <[email protected]>
Date: Fri, 26 Aug 2022 15:20:29 +1000
Subject: [PATCH] pinctrl: fixup for "i2c: Make remove callback return void"

Signed-off-by: Stephen Rothwell <[email protected]>
---
drivers/pinctrl/pinctrl-cy8c95x0.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-cy8c95x0.c b/drivers/pinctrl/pinctrl-cy8c95x0.c
index a29df0920f4f..05791212822e 100644
--- a/drivers/pinctrl/pinctrl-cy8c95x0.c
+++ b/drivers/pinctrl/pinctrl-cy8c95x0.c
@@ -1352,14 +1352,12 @@ static int cy8c95x0_probe(struct i2c_client *client)
return ret;
}

-static int cy8c95x0_remove(struct i2c_client *client)
+static void cy8c95x0_remove(struct i2c_client *client)
{
struct cy8c95x0_pinctrl *chip = i2c_get_clientdata(client);

if (!IS_ERR_OR_NULL(chip->regulator))
regulator_disable(chip->regulator);
-
- return 0;
}

static struct i2c_driver cy8c95x0_driver = {
--
2.35.1

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2022-08-26 09:04:02

by Linus Walleij

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the pinctrl tree

On Fri, Aug 26, 2022 at 7:26 AM Stephen Rothwell <[email protected]> wrote:

> After merging the pinctrl tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
(...)
> Caused by commit
>
> e6cbbe42944d ("pinctrl: Add Cypress cy8c95x0 support")
>
> interacting with commit
>
> ed5c2f5fd10d ("i2c: Make remove callback return void")
>
> from the i2c tree.

How typical, the ideal way to resolve it is if there is an immutable
branch with the
basic changes I can pull in from the i2c tree and apply Stephen's fix on top,
or we can just wait for the merge window and let Torvalds sort it out?

Yours,
Linus Walleij

2022-08-26 11:56:49

by Wolfram Sang

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the pinctrl tree

Hi Linus,

> How typical, the ideal way to resolve it is if there is an immutable
> branch with the > basic changes I can pull in from the i2c tree

It is already there:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/make_remove_callback_void-immutable

Uwe (originator of the series) spread this information. Sorry that it
did not reach you.


Attachments:
(No filename) (374.00 B)
signature.asc (849.00 B)
Download all attachments

2022-08-26 13:30:31

by Linus Walleij

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the pinctrl tree

On Fri, Aug 26, 2022 at 1:20 PM Wolfram Sang <[email protected]> wrote:

> > How typical, the ideal way to resolve it is if there is an immutable
> > branch with the > basic changes I can pull in from the i2c tree
>
> It is already there:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/make_remove_callback_void-immutable

Oh excellent, pulled this in and applied Stephens fixup on top.

> Uwe (originator of the series) spread this information. Sorry that it
> did not reach you.

Don't worry about that, there is no perfect process.

Yours,
Linus Walleij

2022-09-12 14:41:47

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the pinctrl tree

Hello Linus,

On Fri, Aug 26, 2022 at 03:18:25PM +0200, Linus Walleij wrote:
> On Fri, Aug 26, 2022 at 1:20 PM Wolfram Sang <[email protected]> wrote:
>
> > > How typical, the ideal way to resolve it is if there is an immutable
> > > branch with the basic changes I can pull in from the i2c tree
> >
> > It is already there:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/make_remove_callback_void-immutable
>
> Oh excellent, pulled this in and applied Stephens fixup on top.

Ideally you would have squashed the fixup into the merge commit. With
the history as it is now you introduced a commit (i.e. 1681956cb79c
("Merge branch 'i2c/make_remove_callback_void-immutable' of
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into devel"))
that fails to compile the pinctrl-cy8c95x0 driver. Also a better subject
line than "pinctrl: fixup for "i2c: Make remove callback return void""
would be nice, I would have mentioned 'cy8c95x0' at least. (But this is
mood of course if your tree is already stable or you remerge and
squash.)

> > Uwe (originator of the series) spread this information. Sorry that it
> > did not reach you.
>
> Don't worry about that, there is no perfect process.

This commit touches quite a lot of files and subsystems. In the first
revision I added all affected maintainers and lists. vger refused the
mail because the the headers got too long.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (1.58 kB)
signature.asc (499.00 B)
Download all attachments