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

From: Sakari Ailus
Date: Tue Jul 09 2024 - 11:26:52 EST


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@xxxxxxxxxxxxxxxx>
> > 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@xxxxxxxxxxxxxxxx>
> > ---
> > 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