2020-04-15 21:30:55

by Ezequiel Garcia

[permalink] [raw]
Subject: [PATCH] media: Kconfig: Don't expose API options

There is no need to expose API options; instead,
drivers that support a given API are expected to just select it.

Happily, this is currently the case, so simply stop
exposing the options.

Signed-off-by: Ezequiel Garcia <[email protected]>
---
drivers/media/Kconfig | 2 +-
drivers/media/mc/Kconfig | 3 +--
drivers/media/v4l2-core/Kconfig | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index a8def1591352..eef4c6761ffb 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -173,7 +173,7 @@ config VIDEO_DEV
radio devices and by some input devices.

config MEDIA_CONTROLLER
- bool "Media Controller API"
+ bool
default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT
help
Enable the media controller API used to query media devices internal
diff --git a/drivers/media/mc/Kconfig b/drivers/media/mc/Kconfig
index 002a918c4c75..0cdf885ce24d 100644
--- a/drivers/media/mc/Kconfig
+++ b/drivers/media/mc/Kconfig
@@ -2,7 +2,6 @@

#
# Media controller
-# Selectable only for webcam/grabbers, as other drivers don't use it
#

config MEDIA_CONTROLLER_DVB
@@ -14,7 +13,7 @@ config MEDIA_CONTROLLER_DVB
This is currently experimental.

config MEDIA_CONTROLLER_REQUEST_API
- bool "Enable Media controller Request API (EXPERIMENTAL)"
+ bool
depends on MEDIA_CONTROLLER && STAGING_MEDIA
help
DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING.
diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig
index 3fa75352d04c..d034185856bb 100644
--- a/drivers/media/v4l2-core/Kconfig
+++ b/drivers/media/v4l2-core/Kconfig
@@ -17,7 +17,7 @@ config VIDEO_V4L2_I2C
default y

config VIDEO_V4L2_SUBDEV_API
- bool "V4L2 sub-device userspace API"
+ bool
depends on VIDEO_DEV && MEDIA_CONTROLLER
help
Enables the V4L2 sub-device pad-level userspace API used to configure
--
2.26.0.rc2


2020-04-15 21:34:18

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH] media: Kconfig: Don't expose API options

Em Tue, 14 Apr 2020 10:02:10 -0300
Ezequiel Garcia <[email protected]> escreveu:

> There is no need to expose API options; instead,
> drivers that support a given API are expected to just select it.
>
> Happily, this is currently the case, so simply stop
> exposing the options.
>
> Signed-off-by: Ezequiel Garcia <[email protected]>
> ---
> drivers/media/Kconfig | 2 +-
> drivers/media/mc/Kconfig | 3 +--
> drivers/media/v4l2-core/Kconfig | 2 +-
> 3 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
> index a8def1591352..eef4c6761ffb 100644
> --- a/drivers/media/Kconfig
> +++ b/drivers/media/Kconfig
> @@ -173,7 +173,7 @@ config VIDEO_DEV
> radio devices and by some input devices.
>
> config MEDIA_CONTROLLER
> - bool "Media Controller API"
> + bool

This is not true here... non-embedded drivers like DVB and UVC can work
with or without the media controller. For them, the API is experimental.

> default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT
> help
> Enable the media controller API used to query media devices internal
> diff --git a/drivers/media/mc/Kconfig b/drivers/media/mc/Kconfig
> index 002a918c4c75..0cdf885ce24d 100644
> --- a/drivers/media/mc/Kconfig
> +++ b/drivers/media/mc/Kconfig
> @@ -2,7 +2,6 @@
>
> #
> # Media controller
> -# Selectable only for webcam/grabbers, as other drivers don't use it
> #
>
> config MEDIA_CONTROLLER_DVB
> @@ -14,7 +13,7 @@ config MEDIA_CONTROLLER_DVB
> This is currently experimental.
>
> config MEDIA_CONTROLLER_REQUEST_API
> - bool "Enable Media controller Request API (EXPERIMENTAL)"
> + bool

This sounds OK.

The only reason why I didn't make this change is because of the
"EXPERIMENTAL" warning.

At least while this API is considered experimental, it sounds
wise to have a warning.

Perhaps we could apply this hunk, and add something like
this to media/Kconfig:

comment "Please notice that the enabled Media controller Request API is EXPERIMENTAL"
depends on MEDIA_CONTROLLER_REQUEST_API

Regards,
Mauro

> depends on MEDIA_CONTROLLER && STAGING_MEDIA
> help
> DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING.
> diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig
> index 3fa75352d04c..d034185856bb 100644
> --- a/drivers/media/v4l2-core/Kconfig
> +++ b/drivers/media/v4l2-core/Kconfig
> @@ -17,7 +17,7 @@ config VIDEO_V4L2_I2C
> default y
>
> config VIDEO_V4L2_SUBDEV_API
> - bool "V4L2 sub-device userspace API"
> + bool
> depends on VIDEO_DEV && MEDIA_CONTROLLER
> help
> Enables the V4L2 sub-device pad-level userspace API used to configure



Thanks,
Mauro

2020-04-15 21:59:26

by Ezequiel Garcia

[permalink] [raw]
Subject: [PATCH] media: Kconfig: Don't expose the Request API option

The Request API isn't meant to be chosen by users,
but instead should be selected by drivers that want
to support it.

Hantro and Cedrus are already selecting the right options,
so only the test drivers need to be fixed.

Signed-off-by: Ezequiel Garcia <[email protected]>
---
drivers/media/mc/Kconfig | 6 ++++--
drivers/media/test_drivers/Kconfig | 2 ++
drivers/media/test_drivers/vicodec/Kconfig | 2 ++
drivers/media/test_drivers/vivid/Kconfig | 2 ++
4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/media/mc/Kconfig b/drivers/media/mc/Kconfig
index 002a918c4c75..7c9628f37196 100644
--- a/drivers/media/mc/Kconfig
+++ b/drivers/media/mc/Kconfig
@@ -2,7 +2,6 @@

#
# Media controller
-# Selectable only for webcam/grabbers, as other drivers don't use it
#

config MEDIA_CONTROLLER_DVB
@@ -14,7 +13,7 @@ config MEDIA_CONTROLLER_DVB
This is currently experimental.

config MEDIA_CONTROLLER_REQUEST_API
- bool "Enable Media controller Request API (EXPERIMENTAL)"
+ bool
depends on MEDIA_CONTROLLER && STAGING_MEDIA
help
DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING.
@@ -24,3 +23,6 @@ config MEDIA_CONTROLLER_REQUEST_API

There is currently no intention to provide API or ABI stability for
this new API as of yet.
+
+comment "Please notice that the enabled Media controller Request API is EXPERIMENTAL"
+ depends on MEDIA_CONTROLLER_REQUEST_API
diff --git a/drivers/media/test_drivers/Kconfig b/drivers/media/test_drivers/Kconfig
index 9f4a9cfbacc9..d62d974138e4 100644
--- a/drivers/media/test_drivers/Kconfig
+++ b/drivers/media/test_drivers/Kconfig
@@ -17,6 +17,8 @@ config VIDEO_VIM2M
depends on VIDEO_DEV && VIDEO_V4L2
select VIDEOBUF2_VMALLOC
select V4L2_MEM2MEM_DEV
+ select MEDIA_CONTROLLER
+ select MEDIA_CONTROLLER_REQUEST_API
help
This is a virtual test device for the memory-to-memory driver
framework.
diff --git a/drivers/media/test_drivers/vicodec/Kconfig b/drivers/media/test_drivers/vicodec/Kconfig
index 89456665cb16..d77c67810c73 100644
--- a/drivers/media/test_drivers/vicodec/Kconfig
+++ b/drivers/media/test_drivers/vicodec/Kconfig
@@ -4,6 +4,8 @@ config VIDEO_VICODEC
depends on VIDEO_DEV && VIDEO_V4L2
select VIDEOBUF2_VMALLOC
select V4L2_MEM2MEM_DEV
+ select MEDIA_CONTROLLER
+ select MEDIA_CONTROLLER_REQUEST_API
help
Driver for a Virtual Codec

diff --git a/drivers/media/test_drivers/vivid/Kconfig b/drivers/media/test_drivers/vivid/Kconfig
index e2ff06edfa93..c3abde2986b2 100644
--- a/drivers/media/test_drivers/vivid/Kconfig
+++ b/drivers/media/test_drivers/vivid/Kconfig
@@ -11,6 +11,8 @@ config VIDEO_VIVID
select VIDEOBUF2_VMALLOC
select VIDEOBUF2_DMA_CONTIG
select VIDEO_V4L2_TPG
+ select MEDIA_CONTROLLER
+ select MEDIA_CONTROLLER_REQUEST_API
help
Enables a virtual video driver. This driver emulates a webcam,
TV, S-Video and HDMI capture hardware, including VBI support for
--
2.26.0.rc2