Subject: Re: linux-next: build failure after merge of the driver-core tree

From: Mauro Carvalho Chehab <[email-masked]>
Date: Tue, 1 Oct 2024 13:20:50 +0200

Em Tue, 1 Oct 2024 13:18:00 +0200
Mauro Carvalho Chehab <[email-masked]> escreveu:

> Em Tue, 9 Jul 2024 15:26:36 +0000
> Sakari Ailus <[email-masked]> escreveu:

Please ignore my comment below. I didn't realize I had a filter on my mailbox.
This was solved already a long time ago...

Regards,
Mauro

> 
> > On Tue, Jul 09, 2024 at 03:09:34PM +0000, Sakari Ailus wrote:  
> > > Hi Stephen,
> > > 
> > > Thanks for the patch.
> > > 
> > > On Tue, Jul 09, 2024 at 04:37:15PM +1000, Stephen Rothwell wrote:    
> > > > Hi all,
> > > > 
> > > > After merging the driver-core tree, today's linux-next build (x86_64
> > > > allmodconfig) failed like this:
> > > > 
> > > > drivers/media/platform/raspberrypi/pisp_be/pisp_be.c:1786:27: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Werror=incompatible-pointer-types]
> > > >  1786 |         .remove         = pispbe_remove,
> > > >       |                           ^~~~~~~~~~~~~
> > > > drivers/media/platform/raspberrypi/pisp_be/pisp_be.c:1786:27: note: (near initialization for 'pispbe_pdrv.<anonymous>.remove')
> > > > cc1: all warnings being treated as errors
> > > > 
> > > > Caused by commit
> > > > 
> > > >   0edb555a65d1 ("platform: Make platform_driver::remove() return void")
> > > > 
> > > > interacting withc commit
> > > > 
> > > >   12187bd5d4f8 ("media: raspberrypi: Add support for PiSP BE")
> > > > 
> > > > from the vl4-dvb-next tree.
> > > > 
> > > > I have applied the following fix up patch.
> > > > 
> > > > From: Stephen Rothwell <[email-masked]>
> > > > Date: Tue, 9 Jul 2024 16:03:05 +1000
> > > > Subject: [PATCH] fix up for "platform: Make platform_driver::remove() return void"
> > > > 
> > > > interacting with commit
> > > > 
> > > >   12187bd5d4f8 ("media: raspberrypi: Add support for PiSP BE")
> > > > 
> > > > from the v4l-dvb-next tree.
> > > > 
> > > > Signed-off-by: Stephen Rothwell <[email-masked]>
> > > > ---
> > > >  drivers/media/platform/raspberrypi/pisp_be/pisp_be.c | 4 +---
> > > >  1 file changed, 1 insertion(+), 3 deletions(-)
> > > > 
> > > > diff --git a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> > > > index e74df5b116dc..7596ae1f7de6 100644
> > > > --- a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> > > > +++ b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> > > > @@ -1756,7 +1756,7 @@ static int pispbe_probe(struct platform_device *pdev)
> > > >  	return ret;
> > > >  }
> > > >  
> > > > -static int pispbe_remove(struct platform_device *pdev)
> > > > +static void pispbe_remove(struct platform_device *pdev)    
> > > 
> > > While this approach works when the patch is squashed to commit
> > > 0edb555a65d1, it's better to also use the remove_new op as its return type
> > > won't be changed. That can be merged independently of commit 0edb555a65d1.
> > > 
> > > Feel free to submit v2, I can post a modified patch as well.    
> > 
> > IOW, I'll add this and post v2:
> > 
> > diff --git a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> > index 7596ae1f7de6..65ff2382cffe 100644
> > --- a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> > +++ b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> > @@ -1781,7 +1781,7 @@ MODULE_DEVICE_TABLE(of, pispbe_of_match);
> >  
> >  static struct platform_driver pispbe_pdrv = {
> >         .probe          = pispbe_probe,
> > -       .remove         = pispbe_remove,
> > +       .remove_new     = pispbe_remove,
> >         .driver         = {
> >                 .name   = PISPBE_NAME,
> >                 .of_match_table = pispbe_of_match,
> >   
> 
> Makes sense to me, as it prevents having a patch floating around at
> -next to solve the conflict.
> 
> We can later migrate this one from remove_new to remove for
> 6.13, as the return argument for pispbe_remove is bogus.
> 
> 
> Thanks,
> Mauro

Thanks,
Mauro