media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

Message ID 20240213095555.454392-1-arnd@kernel.org (mailing list archive)
State Accepted
Delegated to: Hans Verkuil
Headers
Series media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed |

Commit Message

Arnd Bergmann Feb. 13, 2024, 9:55 a.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

Drivers that call v4l2_async_nf_init() need to select the corresponding
Kconfig symbol:

ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/marvell/cafe_ccic.ko] undefined!
ERROR: modpost: "__v4l2_async_nf_add_i2c" [drivers/media/platform/marvell/cafe_ccic.ko] undefined!
ERROR: modpost: "v4l2_async_nf_unregister" [drivers/media/platform/marvell/mcam-core.ko] undefined!
ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/marvell/mmp_camera.ko] undefined!
ERROR: modpost: "__v4l2_async_nf_add_fwnode_remote" [drivers/media/platform/marvell/mmp_camera.ko] undefined!

I checked all v4l2 drivers to see if anything else has the same
bug, but these two appear to be the only ones.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/media/platform/marvell/Kconfig | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Hans Verkuil Feb. 14, 2024, 10:24 a.m. UTC | #1
Arnd, Sakari,

Is this something that needs to go to v6.8? Or just v6.9?

Do we need a Fixes tag?

Regards,

	Hans

On 13/02/2024 10:55, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Drivers that call v4l2_async_nf_init() need to select the corresponding
> Kconfig symbol:
> 
> ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/marvell/cafe_ccic.ko] undefined!
> ERROR: modpost: "__v4l2_async_nf_add_i2c" [drivers/media/platform/marvell/cafe_ccic.ko] undefined!
> ERROR: modpost: "v4l2_async_nf_unregister" [drivers/media/platform/marvell/mcam-core.ko] undefined!
> ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/marvell/mmp_camera.ko] undefined!
> ERROR: modpost: "__v4l2_async_nf_add_fwnode_remote" [drivers/media/platform/marvell/mmp_camera.ko] undefined!
> 
> I checked all v4l2 drivers to see if anything else has the same
> bug, but these two appear to be the only ones.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/media/platform/marvell/Kconfig | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/platform/marvell/Kconfig b/drivers/media/platform/marvell/Kconfig
> index d6499ffe30e8..d31f4730f2a3 100644
> --- a/drivers/media/platform/marvell/Kconfig
> +++ b/drivers/media/platform/marvell/Kconfig
> @@ -7,6 +7,7 @@ config VIDEO_CAFE_CCIC
>  	depends on V4L_PLATFORM_DRIVERS
>  	depends on PCI && I2C && VIDEO_DEV
>  	depends on COMMON_CLK
> +	select V4L2_ASYNC
>  	select VIDEO_OV7670 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
>  	select VIDEOBUF2_VMALLOC
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -24,6 +25,7 @@ config VIDEO_MMP_CAMERA
>  	depends on COMMON_CLK
>  	select VIDEO_OV7670 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
>  	select I2C_GPIO
> +	select V4L2_ASYNC
>  	select VIDEOBUF2_VMALLOC
>  	select VIDEOBUF2_DMA_CONTIG
>  	select VIDEOBUF2_DMA_SG
  
Arnd Bergmann Feb. 14, 2024, 10:33 a.m. UTC | #2
On Wed, Feb 14, 2024, at 11:24, Hans Verkuil wrote:
> Arnd, Sakari,
>
> Is this something that needs to go to v6.8? Or just v6.9?
>
> Do we need a Fixes tag?
>

I'm not sure, I tried to find out what commit caused it
but could not figure it out short of doing a bisection.

I noticed the problem for the first time on linux-next
this week, but it is likely to have been hiding for a
long time. If anyone wants to bisect it, I've uploaded
my .config to [1], otherwise I'd suggest fixing it for
v6.8 without a backport or further analysis.

     Arnd

[1] https://pastebin.com/fcSLRBL8
  
Sakari Ailus Feb. 14, 2024, 10:33 a.m. UTC | #3
Hi Hans, Arnd,

On Wed, Feb 14, 2024 at 11:24:41AM +0100, Hans Verkuil wrote:
> Arnd, Sakari,
> 
> Is this something that needs to go to v6.8? Or just v6.9?
> 
> Do we need a Fixes tag?

The patch seems to be related to this:
<URL:https://lore.kernel.org/oe-kbuild-all/202402130955.f6uxzdCA-lkp@intel.com/>.

So most likely yes, and Cc: stable, too.

> 
> Regards,
> 
> 	Hans
> 
> On 13/02/2024 10:55, Arnd Bergmann wrote:
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > Drivers that call v4l2_async_nf_init() need to select the corresponding
> > Kconfig symbol:
> > 
> > ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/marvell/cafe_ccic.ko] undefined!
> > ERROR: modpost: "__v4l2_async_nf_add_i2c" [drivers/media/platform/marvell/cafe_ccic.ko] undefined!
> > ERROR: modpost: "v4l2_async_nf_unregister" [drivers/media/platform/marvell/mcam-core.ko] undefined!
> > ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/marvell/mmp_camera.ko] undefined!
> > ERROR: modpost: "__v4l2_async_nf_add_fwnode_remote" [drivers/media/platform/marvell/mmp_camera.ko] undefined!
> > 
> > I checked all v4l2 drivers to see if anything else has the same
> > bug, but these two appear to be the only ones.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> >  drivers/media/platform/marvell/Kconfig | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/media/platform/marvell/Kconfig b/drivers/media/platform/marvell/Kconfig
> > index d6499ffe30e8..d31f4730f2a3 100644
> > --- a/drivers/media/platform/marvell/Kconfig
> > +++ b/drivers/media/platform/marvell/Kconfig
> > @@ -7,6 +7,7 @@ config VIDEO_CAFE_CCIC
> >  	depends on V4L_PLATFORM_DRIVERS
> >  	depends on PCI && I2C && VIDEO_DEV
> >  	depends on COMMON_CLK
> > +	select V4L2_ASYNC
> >  	select VIDEO_OV7670 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
> >  	select VIDEOBUF2_VMALLOC
> >  	select VIDEOBUF2_DMA_CONTIG
> > @@ -24,6 +25,7 @@ config VIDEO_MMP_CAMERA
> >  	depends on COMMON_CLK
> >  	select VIDEO_OV7670 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
> >  	select I2C_GPIO
> > +	select V4L2_ASYNC
> >  	select VIDEOBUF2_VMALLOC
> >  	select VIDEOBUF2_DMA_CONTIG
> >  	select VIDEOBUF2_DMA_SG
>
  
Arnd Bergmann Feb. 14, 2024, 10:48 a.m. UTC | #4
On Wed, Feb 14, 2024, at 11:33, Sakari Ailus wrote:
> Hi Hans, Arnd,
>
> On Wed, Feb 14, 2024 at 11:24:41AM +0100, Hans Verkuil wrote:
>> Arnd, Sakari,
>> 
>> Is this something that needs to go to v6.8? Or just v6.9?
>> 
>> Do we need a Fixes tag?
>
> The patch seems to be related to this:
> <URL:https://lore.kernel.org/oe-kbuild-all/202402130955.f6uxzdCA-lkp@intel.com/>.
>
> So most likely yes, and Cc: stable, too.

Ah, so lkp bisected it to that commit, which means it was
already broken in 6.5, but I'm fairly sure the bug is even
older then, as your commit seems to have only uncovered
an existing problem.

It was definitely working before ff3cc65cadb5 ("media: v4l: async,
fwnode: Improve module organisation") in linux-5.13, but it's not
clear if that is the culprit. It's probably safe to backport
to v5.15 and higher.

    Arnd
  
Hans Verkuil Feb. 14, 2024, 10:54 a.m. UTC | #5
On 14/02/2024 11:48, Arnd Bergmann wrote:
> On Wed, Feb 14, 2024, at 11:33, Sakari Ailus wrote:
>> Hi Hans, Arnd,
>>
>> On Wed, Feb 14, 2024 at 11:24:41AM +0100, Hans Verkuil wrote:
>>> Arnd, Sakari,
>>>
>>> Is this something that needs to go to v6.8? Or just v6.9?
>>>
>>> Do we need a Fixes tag?
>>
>> The patch seems to be related to this:
>> <URL:https://lore.kernel.org/oe-kbuild-all/202402130955.f6uxzdCA-lkp@intel.com/>.
>>
>> So most likely yes, and Cc: stable, too.
> 
> Ah, so lkp bisected it to that commit, which means it was
> already broken in 6.5, but I'm fairly sure the bug is even
> older then, as your commit seems to have only uncovered
> an existing problem.
> 
> It was definitely working before ff3cc65cadb5 ("media: v4l: async,
> fwnode: Improve module organisation") in linux-5.13, but it's not
> clear if that is the culprit. It's probably safe to backport
> to v5.15 and higher.
> 
>     Arnd

If it has been broken for so long, then should we bother with v6.8?

I'm not saying we should, I just like to get your opinion on this.

Regards,

	Hans
  
Arnd Bergmann Feb. 14, 2024, 10:58 a.m. UTC | #6
On Wed, Feb 14, 2024, at 11:54, Hans Verkuil wrote:
> On 14/02/2024 11:48, Arnd Bergmann wrote:
>
>> It was definitely working before ff3cc65cadb5 ("media: v4l: async,
>> fwnode: Improve module organisation") in linux-5.13, but it's not
>> clear if that is the culprit. It's probably safe to backport
>> to v5.15 and higher.
>
>
> If it has been broken for so long, then should we bother with v6.8?
>
> I'm not saying we should, I just like to get your opinion on this.

I don't have a strong opinion either way, there is very little
risk and very little benefit in backporting.

If we apply it to 6.8 at all, I think it should also be in
v5.15+ LTS and vice versa, but only queuing it for 6.9 is
fine with me, too.

     Arnd
  
Hans Verkuil Feb. 14, 2024, 12:42 p.m. UTC | #7
On 14/02/2024 11:58, Arnd Bergmann wrote:
> On Wed, Feb 14, 2024, at 11:54, Hans Verkuil wrote:
>> On 14/02/2024 11:48, Arnd Bergmann wrote:
>>
>>> It was definitely working before ff3cc65cadb5 ("media: v4l: async,
>>> fwnode: Improve module organisation") in linux-5.13, but it's not
>>> clear if that is the culprit. It's probably safe to backport
>>> to v5.15 and higher.
>>
>>
>> If it has been broken for so long, then should we bother with v6.8?
>>
>> I'm not saying we should, I just like to get your opinion on this.
> 
> I don't have a strong opinion either way, there is very little
> risk and very little benefit in backporting.
> 
> If we apply it to 6.8 at all, I think it should also be in
> v5.15+ LTS and vice versa, but only queuing it for 6.9 is
> fine with me, too.

OK, I'll just take this patch as-is for v6.9. I'm preparing a PR
anyway, so I'll include this patch.

Thank you for the quick replies!

	Hans

> 
>      Arnd
  
Sakari Ailus Feb. 14, 2024, 3:03 p.m. UTC | #8
On Wed, Feb 14, 2024 at 01:42:55PM +0100, Hans Verkuil wrote:
> On 14/02/2024 11:58, Arnd Bergmann wrote:
> > On Wed, Feb 14, 2024, at 11:54, Hans Verkuil wrote:
> >> On 14/02/2024 11:48, Arnd Bergmann wrote:
> >>
> >>> It was definitely working before ff3cc65cadb5 ("media: v4l: async,
> >>> fwnode: Improve module organisation") in linux-5.13, but it's not
> >>> clear if that is the culprit. It's probably safe to backport
> >>> to v5.15 and higher.
> >>
> >>
> >> If it has been broken for so long, then should we bother with v6.8?
> >>
> >> I'm not saying we should, I just like to get your opinion on this.
> > 
> > I don't have a strong opinion either way, there is very little
> > risk and very little benefit in backporting.
> > 
> > If we apply it to 6.8 at all, I think it should also be in
> > v5.15+ LTS and vice versa, but only queuing it for 6.9 is
> > fine with me, too.
> 
> OK, I'll just take this patch as-is for v6.9. I'm preparing a PR
> anyway, so I'll include this patch.
> 
> Thank you for the quick replies!

Feel free to add:

Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
  

Patch

diff --git a/drivers/media/platform/marvell/Kconfig b/drivers/media/platform/marvell/Kconfig
index d6499ffe30e8..d31f4730f2a3 100644
--- a/drivers/media/platform/marvell/Kconfig
+++ b/drivers/media/platform/marvell/Kconfig
@@ -7,6 +7,7 @@  config VIDEO_CAFE_CCIC
 	depends on V4L_PLATFORM_DRIVERS
 	depends on PCI && I2C && VIDEO_DEV
 	depends on COMMON_CLK
+	select V4L2_ASYNC
 	select VIDEO_OV7670 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
 	select VIDEOBUF2_VMALLOC
 	select VIDEOBUF2_DMA_CONTIG
@@ -24,6 +25,7 @@  config VIDEO_MMP_CAMERA
 	depends on COMMON_CLK
 	select VIDEO_OV7670 if MEDIA_SUBDRV_AUTOSELECT && VIDEO_CAMERA_SENSOR
 	select I2C_GPIO
+	select V4L2_ASYNC
 	select VIDEOBUF2_VMALLOC
 	select VIDEOBUF2_DMA_CONTIG
 	select VIDEOBUF2_DMA_SG