cx231xx: how to disable V4L2 interface?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi linux-media:

For drivers/media/usb/cx231xx, I'd like to add a kernel config option:
CONFIG_VIDEO_CX231XX_V4L2

that allows us to disable the V4L2 interface when only the DVB
interface is needed.

au0828 driver handles this cleanly:
drivers/media/usb/au0828/Makefile
ifeq ($(CONFIG_VIDEO_AU0828_V4L2),y)
  au0828-objs   += au0828-video.o au0828-vbi.o
endif

Trying to do the same in cx231xx driver:
diff --git a/drivers/media/usb/cx231xx/Kconfig
b/drivers/media/usb/cx231xx/Kconfig
index 0cced3e..63d63aa 100644
--- a/drivers/media/usb/cx231xx/Kconfig
+++ b/drivers/media/usb/cx231xx/Kconfig
@@ -39,6 +39,13 @@ config VIDEO_CX231XX_ALSA
          To compile this driver as a module, choose M here: the
          module will be called cx231xx-alsa

+config VIDEO_CX231XX_V4L2
+       bool "Conexant cx231xx V4L2 interface"
+       depends on VIDEO_CX231XX
+       default y
+       ---help---
+         Enable or disable V4L2 interface of cx231xx
+
 config VIDEO_CX231XX_DVB
        tristate "DVB/ATSC Support for Cx231xx based TV cards"
        depends on VIDEO_CX231XX && DVB_CORE

diff --git a/drivers/media/usb/cx231xx/Makefile
b/drivers/media/usb/cx231xx/Makefile
index 52cf769..425d899 100644
--- a/drivers/media/usb/cx231xx/Makefile
+++ b/drivers/media/usb/cx231xx/Makefile
@@ -1,5 +1,6 @@
-cx231xx-y += cx231xx-video.o cx231xx-i2c.o cx231xx-cards.o cx231xx-core.o
-cx231xx-y += cx231xx-avcore.o cx231xx-417.o cx231xx-pcb-cfg.o cx231xx-vbi.o
+cx231xx-y += cx231xx-i2c.o cx231xx-cards.o cx231xx-core.o
+cx231xx-y += cx231xx-avcore.o cx231xx-417.o cx231xx-pcb-cfg.o
+cx231xx-$(CONFIG_VIDEO_CX231XX_V4L2) += cx231xx-video.o cx231xx-vbi.o
 cx231xx-$(CONFIG_VIDEO_CX231XX_RC) += cx231xx-input.o

 cx231xx-alsa-objs := cx231xx-audio.o

and then building with VIDEO_CX231XX_V4L2 unset, the result is:

drivers/built-in.o: In function `cx231xx_release_resources':
(.text+0x3528c9): undefined reference to `cx231xx_release_analog_resources'
drivers/built-in.o: In function `cx231xx_usb_probe':
cx231xx-cards.c:(.text+0x352f56): undefined reference to
`cx231xx_register_analog_devices'
cx231xx-cards.c:(.text+0x352f71): undefined reference to
`cx231xx_release_analog_resources'
cx231xx-cards.c:(.text+0x353429): undefined reference to
`cx231xx_release_analog_resources'
drivers/built-in.o: In function `cx231xx_init_bulk':
(.text+0x3544d8): undefined reference to `video_mux'
drivers/built-in.o:(.rodata+0x7fcc0): undefined reference to `cx231xx_querycap'
drivers/built-in.o:(.rodata+0x7fe98): undefined reference to
`cx231xx_enum_input'
drivers/built-in.o:(.rodata+0x7fea0): undefined reference to `cx231xx_g_input'
drivers/built-in.o:(.rodata+0x7fea8): undefined reference to `cx231xx_s_input'
drivers/built-in.o:(.rodata+0x7ffb8): undefined reference to `cx231xx_g_tuner'
drivers/built-in.o:(.rodata+0x7ffc0): undefined reference to `cx231xx_s_tuner'
drivers/built-in.o:(.rodata+0x7ffc8): undefined reference to
`cx231xx_g_frequency'
drivers/built-in.o:(.rodata+0x7ffd0): undefined reference to
`cx231xx_s_frequency'
make: *** [vmlinux] Error 1

Based on the above, looks like some functions would need to be moved
out from cx231xx-video.c to cx231xx-core.c (?) to accomplish this.

Any suggestions?

-- Petri
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux