All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] media: v4l: cadence: add VIDEO_V4L2 dependency
@ 2018-05-30 22:07 Arnd Bergmann
  2018-05-30 22:07 ` [PATCH 2/2] media: v4l: omap: " Arnd Bergmann
  2018-05-31  8:07 ` [PATCH 1/2] media: v4l: cadence: " Maxime Ripard
  0 siblings, 2 replies; 3+ messages in thread
From: Arnd Bergmann @ 2018-05-30 22:07 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Arnd Bergmann, Maxime Ripard, Sakari Ailus, Benoit Parrot,
	Niklas Söderlund, linux-media, linux-kernel

The cadence media drivers can be built-in while the v4l2 core is a loadable
module. This is a mistake and leads to link errors:

drivers/media/v4l2-core/v4l2-fwnode.o: In function `v4l2_async_register_subdev_sensor_common':
v4l2-fwnode.c:(.text+0x12f0): undefined reference to `v4l2_async_subdev_notifier_register'
v4l2-fwnode.c:(.text+0x1304): undefined reference to `v4l2_async_register_subdev'
v4l2-fwnode.c:(.text+0x1318): undefined reference to `v4l2_async_notifier_unregister'
v4l2-fwnode.c:(.text+0x1338): undefined reference to `v4l2_async_notifier_cleanup'
cdns-csi2rx.c:(.text+0x9f8): undefined reference to `v4l2_subdev_init'
cdns-csi2rx.c:(.text+0xa78): undefined reference to `v4l2_async_register_subdev'
drivers/media/platform/cadence/cdns-csi2tx.o: In function `csi2tx_remove':
cdns-csi2tx.c:(.text+0x88): undefined reference to `v4l2_async_unregister_subdev'
drivers/media/platform/cadence/cdns-csi2tx.o: In function `csi2tx_probe':
cdns-csi2tx.c:(.text+0x884): undefined reference to `v4l2_subdev_init'
cdns-csi2tx.c:(.text+0xa9c): undefined reference to `v4l2_async_register_subdev'

An explicit Kconfig dependency on VIDEO_V4L2 avoids the problem.

Fixes: 1fc3b37f34f6 ("media: v4l: cadence: Add Cadence MIPI-CSI2 RX driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/media/platform/cadence/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/platform/cadence/Kconfig b/drivers/media/platform/cadence/Kconfig
index 3bf0f2454384..cf6124da3c54 100644
--- a/drivers/media/platform/cadence/Kconfig
+++ b/drivers/media/platform/cadence/Kconfig
@@ -11,6 +11,7 @@ if VIDEO_CADENCE
 
 config VIDEO_CADENCE_CSI2RX
 	tristate "Cadence MIPI-CSI2 RX Controller"
+	depends on VIDEO_V4L2
 	depends on MEDIA_CONTROLLER
 	depends on VIDEO_V4L2_SUBDEV_API
 	select V4L2_FWNODE
@@ -22,6 +23,7 @@ config VIDEO_CADENCE_CSI2RX
 
 config VIDEO_CADENCE_CSI2TX
 	tristate "Cadence MIPI-CSI2 TX Controller"
+	depends on VIDEO_V4L2
 	depends on MEDIA_CONTROLLER
 	depends on VIDEO_V4L2_SUBDEV_API
 	select V4L2_FWNODE
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] media: v4l: omap: add VIDEO_V4L2 dependency
  2018-05-30 22:07 [PATCH 1/2] media: v4l: cadence: add VIDEO_V4L2 dependency Arnd Bergmann
@ 2018-05-30 22:07 ` Arnd Bergmann
  2018-05-31  8:07 ` [PATCH 1/2] media: v4l: cadence: " Maxime Ripard
  1 sibling, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2018-05-30 22:07 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Arnd Bergmann, linux-media, linux-kernel

The omap media driver can be built-in while the v4l2 core is a loadable
module. This is a mistake and leads to link errors:

drivers/media/platform/omap/omap_vout.o: In function `omap_vout_remove':
omap_vout.c:(.text+0xec): undefined reference to `v4l2_device_unregister'
omap_vout.c:(.text+0x140): undefined reference to `video_device_release'
omap_vout.c:(.text+0x150): undefined reference to `video_unregister_device'
omap_vout.c:(.text+0x15c): undefined reference to `v4l2_ctrl_handler_free'

An explicit Kconfig dependency on VIDEO_V4L2 avoids the problem.
I ran into this problem for the first time today during my randconfig
builds, but could not find what caused it.

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

diff --git a/drivers/media/platform/omap/Kconfig b/drivers/media/platform/omap/Kconfig
index d827b6c285a6..4b5e55d41ad4 100644
--- a/drivers/media/platform/omap/Kconfig
+++ b/drivers/media/platform/omap/Kconfig
@@ -8,6 +8,7 @@ config VIDEO_OMAP2_VOUT
 	depends on MMU
 	depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n)
 	depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST
+	depends on VIDEO_V4L2
 	select VIDEOBUF_GEN
 	select VIDEOBUF_DMA_CONTIG
 	select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] media: v4l: cadence: add VIDEO_V4L2 dependency
  2018-05-30 22:07 [PATCH 1/2] media: v4l: cadence: add VIDEO_V4L2 dependency Arnd Bergmann
  2018-05-30 22:07 ` [PATCH 2/2] media: v4l: omap: " Arnd Bergmann
@ 2018-05-31  8:07 ` Maxime Ripard
  1 sibling, 0 replies; 3+ messages in thread
From: Maxime Ripard @ 2018-05-31  8:07 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Mauro Carvalho Chehab, Sakari Ailus, Benoit Parrot,
	Niklas Söderlund, linux-media, linux-kernel

On Thu, May 31, 2018 at 12:07:10AM +0200, Arnd Bergmann wrote:
> The cadence media drivers can be built-in while the v4l2 core is a loadable
> module. This is a mistake and leads to link errors:
> 
> drivers/media/v4l2-core/v4l2-fwnode.o: In function `v4l2_async_register_subdev_sensor_common':
> v4l2-fwnode.c:(.text+0x12f0): undefined reference to `v4l2_async_subdev_notifier_register'
> v4l2-fwnode.c:(.text+0x1304): undefined reference to `v4l2_async_register_subdev'
> v4l2-fwnode.c:(.text+0x1318): undefined reference to `v4l2_async_notifier_unregister'
> v4l2-fwnode.c:(.text+0x1338): undefined reference to `v4l2_async_notifier_cleanup'
> cdns-csi2rx.c:(.text+0x9f8): undefined reference to `v4l2_subdev_init'
> cdns-csi2rx.c:(.text+0xa78): undefined reference to `v4l2_async_register_subdev'
> drivers/media/platform/cadence/cdns-csi2tx.o: In function `csi2tx_remove':
> cdns-csi2tx.c:(.text+0x88): undefined reference to `v4l2_async_unregister_subdev'
> drivers/media/platform/cadence/cdns-csi2tx.o: In function `csi2tx_probe':
> cdns-csi2tx.c:(.text+0x884): undefined reference to `v4l2_subdev_init'
> cdns-csi2tx.c:(.text+0xa9c): undefined reference to `v4l2_async_register_subdev'
> 
> An explicit Kconfig dependency on VIDEO_V4L2 avoids the problem.
> 
> Fixes: 1fc3b37f34f6 ("media: v4l: cadence: Add Cadence MIPI-CSI2 RX driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>

Thanks!
Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-31  8:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-30 22:07 [PATCH 1/2] media: v4l: cadence: add VIDEO_V4L2 dependency Arnd Bergmann
2018-05-30 22:07 ` [PATCH 2/2] media: v4l: omap: " Arnd Bergmann
2018-05-31  8:07 ` [PATCH 1/2] media: v4l: cadence: " Maxime Ripard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.