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

From: Paul Cercueil <[email-masked]>
Date: Wed, 06 Apr 2022 09:56:31 +0100

Hi Stephen,

Le mer., avril 6 2022 at 10:50:49 +1000, Stephen Rothwell 
<[email-masked]> 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 <[email-masked]>
> 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 <[email-masked]>
> ---
>  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