This patch selects MEDIA_CONTROLLER for all camera, analog TV and
digital TV drivers and selects VIDEO_V4L2_SUBDEV_API automatically.

This will allow us to simplify drivers that currently have to add
#ifdef CONFIG_MEDIA_CONTROLLER or #ifdef VIDEO_V4L2_SUBDEV_API
to their code, since now this will always be available.

The original intent of allowing these to be configured by the
user was (I think) to save a bit of memory. But as more and more
drivers have a media controller and all regular distros already
enable one or more of those drivers, the memory for the MC code is
there anyway.

Complexity has always been the bane of media drivers, so reducing
complexity at the expense of a bit more memory (which is a rounding
error compared to the amount of video buffer memory needed) is IMHO
a good thing.

Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
---
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 8add62a18293..56eb01cc8bb4 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -31,6 +31,7 @@ comment "Multimedia core support"
 #
 config MEDIA_CAMERA_SUPPORT
        bool "Cameras/video grabbers support"
+       select MEDIA_CONTROLLER
        ---help---
          Enable support for webcams and video grabbers.

@@ -38,6 +39,7 @@ config MEDIA_CAMERA_SUPPORT

 config MEDIA_ANALOG_TV_SUPPORT
        bool "Analog TV support"
+       select MEDIA_CONTROLLER
        ---help---
          Enable analog TV support.

@@ -50,6 +52,7 @@ config MEDIA_ANALOG_TV_SUPPORT

 config MEDIA_DIGITAL_TV_SUPPORT
        bool "Digital TV support"
+       select MEDIA_CONTROLLER
        ---help---
          Enable digital TV support.

@@ -95,7 +98,6 @@ source "drivers/media/cec/Kconfig"

 config MEDIA_CONTROLLER
        bool "Media Controller API"
-       depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || 
MEDIA_DIGITAL_TV_SUPPORT
        ---help---
          Enable the media controller API used to query media devices internal
          topology and configure it dynamically.
@@ -119,16 +121,11 @@ config VIDEO_DEV
        tristate
        depends on MEDIA_SUPPORT
        depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || 
MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
+       select VIDEO_V4L2_SUBDEV_API if MEDIA_CONTROLLER
        default y

 config VIDEO_V4L2_SUBDEV_API
-       bool "V4L2 sub-device userspace API"
-       depends on VIDEO_DEV && MEDIA_CONTROLLER
-       ---help---
-         Enables the V4L2 sub-device pad-level userspace API used to configure
-         video format, size and frame rate between hardware blocks.
-
-         This API is mostly used by camera interfaces in embedded platforms.
+       bool

 source "drivers/media/v4l2-core/Kconfig"

Reply via email to