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

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

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,

-- 
Sakari Ailus