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

Mauro Carvalho Chehab
2024-10-01T11:18:06Z

Em Tue, 9 Jul 2024 15:26:36 +0000
Sakari Ailus <sakari.ailus@linux.intel.com> escreveu:

> 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