drivers/gpu/drm/stm/lvds.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
Hi all,
After merging the drm tree and then some other trees which seem to have
allowed the driver to be built much later in the merge process today's
linux-next build (x86_64 allmodconfig) failed like this:
/tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Werror=incompatible-pointer-types]
1212 | .remove = lvds_remove,
| ^~~~~~~~~~~
/tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: note: (near initialization for 'lvds_platform_driver.<anonymous>.remove')
Caused by commit
6597efcfc53585d5 ("drm/stm: Allow build with COMPILE_TEST=y")
interacting with
aca1cbc1c9860e39 ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver")
0edb555a65d1ef04 ("platform: Make platform_driver::remove() return void")
I have applied the below fixup patch.
From 59a5e11f41e93512ca1a5aed36c1c396d175797d Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Fri, 28 Jun 2024 20:45:16 +0100
Subject: [PATCH] drm: Fix up STM LVDS driver for void remove() conversion
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/gpu/drm/stm/lvds.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c
index bfc8cb13fbc5c..2fa2c81784e97 100644
--- a/drivers/gpu/drm/stm/lvds.c
+++ b/drivers/gpu/drm/stm/lvds.c
@@ -1186,15 +1186,13 @@ static int lvds_probe(struct platform_device *pdev)
return ret;
}
-static int lvds_remove(struct platform_device *pdev)
+static void lvds_remove(struct platform_device *pdev)
{
struct stm_lvds *lvds = platform_get_drvdata(pdev);
lvds_pixel_clk_unregister(lvds);
drm_bridge_remove(&lvds->lvds_bridge);
-
- return 0;
}
static const struct of_device_id lvds_dt_ids[] = {
--
2.39.2
Hi all, On Fri, 28 Jun 2024 20:46:49 +0100 Mark Brown <broonie@kernel.org> wrote: > > After merging the drm tree and then some other trees which seem to have > allowed the driver to be built much later in the merge process today's > linux-next build (x86_64 allmodconfig) failed like this: > > /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Werror=incompatible-pointer-types] > 1212 | .remove = lvds_remove, > | ^~~~~~~~~~~ > /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: note: (near initialization for 'lvds_platform_driver.<anonymous>.remove') > > Caused by commit > > 6597efcfc53585d5 ("drm/stm: Allow build with COMPILE_TEST=y") > > interacting with > > aca1cbc1c9860e39 ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver") > 0edb555a65d1ef04 ("platform: Make platform_driver::remove() return void") > > I have applied the below fixup patch. > > From 59a5e11f41e93512ca1a5aed36c1c396d175797d Mon Sep 17 00:00:00 2001 > From: Mark Brown <broonie@kernel.org> > Date: Fri, 28 Jun 2024 20:45:16 +0100 > Subject: [PATCH] drm: Fix up STM LVDS driver for void remove() conversion > > Signed-off-by: Mark Brown <broonie@kernel.org> > --- > drivers/gpu/drm/stm/lvds.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c > index bfc8cb13fbc5c..2fa2c81784e97 100644 > --- a/drivers/gpu/drm/stm/lvds.c > +++ b/drivers/gpu/drm/stm/lvds.c > @@ -1186,15 +1186,13 @@ static int lvds_probe(struct platform_device *pdev) > return ret; > } > > -static int lvds_remove(struct platform_device *pdev) > +static void lvds_remove(struct platform_device *pdev) > { > struct stm_lvds *lvds = platform_get_drvdata(pdev); > > lvds_pixel_clk_unregister(lvds); > > drm_bridge_remove(&lvds->lvds_bridge); > - > - return 0; > } > > static const struct of_device_id lvds_dt_ids[] = { This is now a conflict between the driver-core tree and Linus' tree. -- Cheers, Stephen Rothwell
Hi, Deep apologies for this mistake. Is there any way that we can help within our scope ? Best regards, Raphaël On 7/24/24 01:11, Stephen Rothwell wrote: > Hi all, > > On Fri, 28 Jun 2024 20:46:49 +0100 Mark Brown <broonie@kernel.org> wrote: >> After merging the drm tree and then some other trees which seem to have >> allowed the driver to be built much later in the merge process today's >> linux-next build (x86_64 allmodconfig) failed like this: >> >> /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Werror=incompatible-pointer-types] >> 1212 | .remove = lvds_remove, >> | ^~~~~~~~~~~ >> /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: note: (near initialization for 'lvds_platform_driver.<anonymous>.remove') >> >> Caused by commit >> >> 6597efcfc53585d5 ("drm/stm: Allow build with COMPILE_TEST=y") >> >> interacting with >> >> aca1cbc1c9860e39 ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver") >> 0edb555a65d1ef04 ("platform: Make platform_driver::remove() return void") >> >> I have applied the below fixup patch. >> >> From 59a5e11f41e93512ca1a5aed36c1c396d175797d Mon Sep 17 00:00:00 2001 >> From: Mark Brown <broonie@kernel.org> >> Date: Fri, 28 Jun 2024 20:45:16 +0100 >> Subject: [PATCH] drm: Fix up STM LVDS driver for void remove() conversion >> >> Signed-off-by: Mark Brown <broonie@kernel.org> >> --- >> drivers/gpu/drm/stm/lvds.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c >> index bfc8cb13fbc5c..2fa2c81784e97 100644 >> --- a/drivers/gpu/drm/stm/lvds.c >> +++ b/drivers/gpu/drm/stm/lvds.c >> @@ -1186,15 +1186,13 @@ static int lvds_probe(struct platform_device *pdev) >> return ret; >> } >> >> -static int lvds_remove(struct platform_device *pdev) >> +static void lvds_remove(struct platform_device *pdev) >> { >> struct stm_lvds *lvds = platform_get_drvdata(pdev); >> >> lvds_pixel_clk_unregister(lvds); >> >> drm_bridge_remove(&lvds->lvds_bridge); >> - >> - return 0; >> } >> >> static const struct of_device_id lvds_dt_ids[] = { > This is now a conflict between the driver-core tree and Linus' tree. >
On Fri, Jun 28, 2024 at 08:46:49PM +0100, Mark Brown wrote: > Hi all, > > After merging the drm tree and then some other trees which seem to have > allowed the driver to be built much later in the merge process today's > linux-next build (x86_64 allmodconfig) failed like this: > > /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Werror=incompatible-pointer-types] > 1212 | .remove = lvds_remove, > | ^~~~~~~~~~~ > /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: note: (near initialization for 'lvds_platform_driver.<anonymous>.remove') > > Caused by commit > > 6597efcfc53585d5 ("drm/stm: Allow build with COMPILE_TEST=y") > > interacting with > > aca1cbc1c9860e39 ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver") > 0edb555a65d1ef04 ("platform: Make platform_driver::remove() return void") > > I have applied the below fixup patch. > > From 59a5e11f41e93512ca1a5aed36c1c396d175797d Mon Sep 17 00:00:00 2001 > From: Mark Brown <broonie@kernel.org> > Date: Fri, 28 Jun 2024 20:45:16 +0100 > Subject: [PATCH] drm: Fix up STM LVDS driver for void remove() conversion > > Signed-off-by: Mark Brown <broonie@kernel.org> > --- > drivers/gpu/drm/stm/lvds.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c > index bfc8cb13fbc5c..2fa2c81784e97 100644 > --- a/drivers/gpu/drm/stm/lvds.c > +++ b/drivers/gpu/drm/stm/lvds.c > @@ -1186,15 +1186,13 @@ static int lvds_probe(struct platform_device *pdev) > return ret; > } > > -static int lvds_remove(struct platform_device *pdev) > +static void lvds_remove(struct platform_device *pdev) > { > struct stm_lvds *lvds = platform_get_drvdata(pdev); > > lvds_pixel_clk_unregister(lvds); > > drm_bridge_remove(&lvds->lvds_bridge); > - > - return 0; > } > > static const struct of_device_id lvds_dt_ids[] = { > -- > 2.39.2 > Looks good, thanks! greg k-h
On 6/30/24 09:26, Greg Kroah-Hartman wrote: > On Fri, Jun 28, 2024 at 08:46:49PM +0100, Mark Brown wrote: >> Hi all, >> >> After merging the drm tree and then some other trees which seem to have >> allowed the driver to be built much later in the merge process today's >> linux-next build (x86_64 allmodconfig) failed like this: >> >> /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Werror=incompatible-pointer-types] >> 1212 | .remove = lvds_remove, >> | ^~~~~~~~~~~ >> /tmp/next/build/drivers/gpu/drm/stm/lvds.c:1212:19: note: (near initialization for 'lvds_platform_driver.<anonymous>.remove') >> >> Caused by commit >> >> 6597efcfc53585d5 ("drm/stm: Allow build with COMPILE_TEST=y") >> >> interacting with >> >> aca1cbc1c9860e39 ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver") >> 0edb555a65d1ef04 ("platform: Make platform_driver::remove() return void") >> >> I have applied the below fixup patch. >> >> From 59a5e11f41e93512ca1a5aed36c1c396d175797d Mon Sep 17 00:00:00 2001 >> From: Mark Brown <broonie@kernel.org> >> Date: Fri, 28 Jun 2024 20:45:16 +0100 >> Subject: [PATCH] drm: Fix up STM LVDS driver for void remove() conversion >> >> Signed-off-by: Mark Brown <broonie@kernel.org> >> --- >> drivers/gpu/drm/stm/lvds.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c >> index bfc8cb13fbc5c..2fa2c81784e97 100644 >> --- a/drivers/gpu/drm/stm/lvds.c >> +++ b/drivers/gpu/drm/stm/lvds.c >> @@ -1186,15 +1186,13 @@ static int lvds_probe(struct platform_device *pdev) >> return ret; >> } >> >> -static int lvds_remove(struct platform_device *pdev) >> +static void lvds_remove(struct platform_device *pdev) >> { >> struct stm_lvds *lvds = platform_get_drvdata(pdev); >> >> lvds_pixel_clk_unregister(lvds); >> >> drm_bridge_remove(&lvds->lvds_bridge); >> - >> - return 0; >> } >> >> static const struct of_device_id lvds_dt_ids[] = { >> -- >> 2.39.2 >> > > Looks good, thanks! > > greg k-h Hi Mark, Many thanks for this fix and all my apologies for having creating this issue. What's next and how can I help? Philippe :-) ps: On my side, I am still trying to understand why I did not "catch" this issue that looks "pretty big".
Hi Philippe, On Mon, 1 Jul 2024 11:41:09 +0200 Philippe CORNU <philippe.cornu@foss.st.com> wrote: > > Many thanks for this fix and all my apologies for having creating this issue. > What's next and how can I help? > Philippe :-) > ps: On my side, I am still trying to understand why I did not "catch" this issue that looks "pretty big". There is nothing for you to do, this fails only when the drm tree is merged with the driver-core tree. -- Cheers, Stephen Rothwell
© 2016 - 2025 Red Hat, Inc.