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

Mauro Carvalho Chehab
2024-10-01T11:20:55Z

Em Tue, 1 Oct 2024 13:18:00 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:

> Em Tue, 9 Jul 2024 15:26:36 +0000
> Sakari Ailus <sakari.ailus@linux.intel.com> 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 <sfr@canb.auug.org.au>
> > > > 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 <sfr@canb.auug.org.au>
> > > > ---
> > > > 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