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

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


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.

Thanks.

> {
> struct pispbe_dev *pispbe = platform_get_drvdata(pdev);
>
> @@ -1765,8 +1765,6 @@ static int pispbe_remove(struct platform_device *pdev)
> pispbe_runtime_suspend(pispbe->dev);
> pm_runtime_dont_use_autosuspend(pispbe->dev);
> pm_runtime_disable(pispbe->dev);
> -
> - return 0;
> }
>
> static const struct dev_pm_ops pispbe_pm_ops = {

--
Kind regards,

Sakari Ailus