Re: linux-next: build failure after merge of the drm-misc tree

Paul Cercueil
2022-04-06T12:55:01Z

Hi Stephen,

Le mer., avril 6 2022 at 10:50:49 +1000, Stephen Rothwell
<sfr@canb.auug.org.au> a écrit :
> Hi all,
>
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/gpu/drm/panel/panel-newvision-nv3052c.c:478:19: error:
> initialization of 'void (*)(struct spi_device *)' from incompatible
> pointer type 'int (*)(struct spi_device *)'
> [-Werror=incompatible-pointer-types]
> 478 | .remove = nv3052c_remove,
> | ^~~~~~~~~~~~~~
> drivers/gpu/drm/panel/panel-newvision-nv3052c.c:478:19: note: (near
> initialization for 'nv3052c_driver.remove')
>
> Caused by commit
>
> 49956b505c53 ("drm/panel: Add panel driver for NewVision NV3052C
> based LCDs")
>
> interacting with commit
>
> 2cbfa2128662 ("spi: make remove callback a void function")
>
> from Linus' tree (merged in v5.18-rc1).
>
> I applied the following merge resolution patch for today.

Sorry about that, my fault.

I compile-tested Christophe's patchset *then* rebased to the latest
drm-misc-next and pushed, should have done the other way around.

-Paul

> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Wed, 6 Apr 2022 10:46:57 +1000
> Subject: [PATCH] fixup for "spi: make remove callback a void function"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> drivers/gpu/drm/panel/panel-newvision-nv3052c.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
> b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
> index 127bcfdb59df..cf078f0d3cd3 100644
> --- a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
> +++ b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
> @@ -416,15 +416,13 @@ static int nv3052c_probe(struct spi_device *spi)
> return 0;
> }
>
> -static int nv3052c_remove(struct spi_device *spi)
> +static void nv3052c_remove(struct spi_device *spi)
> {
> struct nv3052c *priv = spi_get_drvdata(spi);
>
> drm_panel_remove(&priv->panel);
> drm_panel_disable(&priv->panel);
> drm_panel_unprepare(&priv->panel);
> -
> - return 0;
> }
>
> static const struct drm_display_mode ltk035c5444t_modes[] = {
> --
> 2.35.1
>
> --
> Cheers,
> Stephen Rothwell