2024-02-13 10:17:44

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
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
--
2.39.2



2024-02-14 10:26:01

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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 <[email protected]>
>
> 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 <[email protected]>
> ---
> 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


2024-02-14 10:33:41

by Sakari Ailus

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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/[email protected]/>.

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

>
> Regards,
>
> Hans
>
> On 13/02/2024 10:55, Arnd Bergmann wrote:
> > From: Arnd Bergmann <[email protected]>
> >
> > 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 <[email protected]>
> > ---
> > 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
>

--
Regards,

Sakari Ailus

2024-02-14 10:34:03

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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

2024-02-14 10:54:26

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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/[email protected]/>.
>>
>> 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

2024-02-14 10:58:43

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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

2024-02-14 11:05:52

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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/[email protected]/>.
>
> 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

2024-02-14 12:43:16

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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


2024-02-14 16:06:59

by Sakari Ailus

[permalink] [raw]
Subject: Re: [PATCH] media: v4l: marvell: select CONFIG_V4L2_ASYNC where needed

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 <[email protected]>

--
Sakari Ailus