linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/20] Reorganize media Kconfig
@ 2020-03-24 13:42 Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 01/20] media: dvb-usb: auto-select CYPRESS_FIRMWARE Mauro Carvalho Chehab
                   ` (22 more replies)
  0 siblings, 23 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Hans Verkuil, Sakari Ailus, Shuah Khan,
	Laurent Pinchart, Stefan Richter, linux1394-devel, Helen Koike

This patch series do lots of reorg at the media Kconfig options.
It also move test drivers from platform dir to a new one.

After this change, the main config is organized on menus, allowing to
select:

	- type of devices selection - the filtering options
	- Media core options - with API and other core stuff
	- Media core extra options
	- Media drivers
	- Media ancillary drivers

The "type of devices" menu has the filtering options for:

	- Cameras and video grabbers
	- Analog TV
	- Digital TV
	- AM/FM radio receivers/transmitters
	- SDR
	- CEC
	- Embeded devices (SoC)
	- Test drivers

This way, one interested only on embedded devices can unselect
everything but "Embedded devices (SoC)" option.

Distros for PC/Laptops can enable everything but 
"Embedded devices (SoC)" and "Test drivers".

Users can select just what they want, without bothering with
hundreds of options that he won't have any clue about their
meanings.

Mauro Carvalho Chehab (20):
  media: dvb-usb: auto-select CYPRESS_FIRMWARE
  media: Kconfig: not all V4L2 platform drivers are for camera
  media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
  media: reorganize the drivers menu options
  media: Kconfig: update the MEDIA_SUPPORT help message
  media: Kconfig: use a sub-menu to select supported devices
  media: Kconfig: add an option to filter in/out the embedded drivers
  media: split test drivers from platform directory
  media: Kconfig: make filtering devices optional
  media: Kconfig: move CEC-specific options to cec/Kconfig
  media: Kconfig: move comment to siano include
  media: Kconfig: move DVB-specific options to dvb-core/Kconfig
  media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
  media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
  media: Kconfig: move media controller core select to main Kconfig
  media: Kconfig: better organize menu items
  media: Kconfig: mode firewire comment to firewire/Kconfig
  media: Kconfig: place all options under a sub-menu
  media: Kconfig: move the position of sub-driver autoselection
  media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering

 drivers/media/Kconfig                         | 216 ++++++++++--------
 drivers/media/cec/Kconfig                     |  10 +
 drivers/media/common/Kconfig                  |   2 +-
 drivers/media/dvb-core/Kconfig                |  26 +++
 drivers/media/firewire/Kconfig                |   5 +-
 drivers/media/mc/Kconfig                      |   9 -
 drivers/media/mmc/Kconfig                     |   1 -
 drivers/media/mmc/siano/Kconfig               |   2 +
 drivers/media/pci/Kconfig                     |  10 +
 drivers/media/platform/Kconfig                |  24 --
 drivers/media/platform/Makefile               |   5 -
 drivers/media/test_drivers/Kconfig            |  28 +++
 drivers/media/test_drivers/Makefile           |   9 +
 .../vicodec/Kconfig                           |   0
 .../vicodec/Makefile                          |   0
 .../vicodec/codec-fwht.c                      |   0
 .../vicodec/codec-fwht.h                      |   0
 .../vicodec/codec-v4l2-fwht.c                 |   0
 .../vicodec/codec-v4l2-fwht.h                 |   0
 .../vicodec/vicodec-core.c                    |   0
 .../media/{platform => test_drivers}/vim2m.c  |   0
 .../{platform => test_drivers}/vimc/Kconfig   |   0
 .../{platform => test_drivers}/vimc/Makefile  |   0
 .../vimc/vimc-capture.c                       |   0
 .../vimc/vimc-common.c                        |   0
 .../vimc/vimc-common.h                        |   0
 .../vimc/vimc-core.c                          |   0
 .../vimc/vimc-debayer.c                       |   0
 .../vimc/vimc-scaler.c                        |   0
 .../vimc/vimc-sensor.c                        |   0
 .../vimc/vimc-streamer.c                      |   0
 .../vimc/vimc-streamer.h                      |   0
 .../{platform => test_drivers}/vivid/Kconfig  |   0
 .../{platform => test_drivers}/vivid/Makefile |   0
 .../vivid/vivid-cec.c                         |   0
 .../vivid/vivid-cec.h                         |   0
 .../vivid/vivid-core.c                        |   0
 .../vivid/vivid-core.h                        |   0
 .../vivid/vivid-ctrls.c                       |   0
 .../vivid/vivid-ctrls.h                       |   0
 .../vivid/vivid-kthread-cap.c                 |   0
 .../vivid/vivid-kthread-cap.h                 |   0
 .../vivid/vivid-kthread-out.c                 |   0
 .../vivid/vivid-kthread-out.h                 |   0
 .../vivid/vivid-kthread-touch.c               |   0
 .../vivid/vivid-kthread-touch.h               |   0
 .../vivid/vivid-meta-cap.c                    |   0
 .../vivid/vivid-meta-cap.h                    |   0
 .../vivid/vivid-meta-out.c                    |   0
 .../vivid/vivid-meta-out.h                    |   0
 .../vivid/vivid-osd.c                         |   0
 .../vivid/vivid-osd.h                         |   0
 .../vivid/vivid-radio-common.c                |   0
 .../vivid/vivid-radio-common.h                |   0
 .../vivid/vivid-radio-rx.c                    |   0
 .../vivid/vivid-radio-rx.h                    |   0
 .../vivid/vivid-radio-tx.c                    |   0
 .../vivid/vivid-radio-tx.h                    |   0
 .../vivid/vivid-rds-gen.c                     |   0
 .../vivid/vivid-rds-gen.h                     |   0
 .../vivid/vivid-sdr-cap.c                     |   0
 .../vivid/vivid-sdr-cap.h                     |   0
 .../vivid/vivid-touch-cap.c                   |   0
 .../vivid/vivid-touch-cap.h                   |   0
 .../vivid/vivid-vbi-cap.c                     |   0
 .../vivid/vivid-vbi-cap.h                     |   0
 .../vivid/vivid-vbi-gen.c                     |   0
 .../vivid/vivid-vbi-gen.h                     |   0
 .../vivid/vivid-vbi-out.c                     |   0
 .../vivid/vivid-vbi-out.h                     |   0
 .../vivid/vivid-vid-cap.c                     |   0
 .../vivid/vivid-vid-cap.h                     |   0
 .../vivid/vivid-vid-common.c                  |   0
 .../vivid/vivid-vid-common.h                  |   0
 .../vivid/vivid-vid-out.c                     |   0
 .../vivid/vivid-vid-out.h                     |   0
 drivers/media/usb/Kconfig                     |   6 +
 drivers/media/usb/dvb-usb/Kconfig             |   1 +
 drivers/media/v4l2-core/Kconfig               |  19 +-
 79 files changed, 222 insertions(+), 151 deletions(-)
 create mode 100644 drivers/media/test_drivers/Kconfig
 create mode 100644 drivers/media/test_drivers/Makefile
 rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
 rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
 rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
 rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)

-- 
2.24.1



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

* [PATCH v2 01/20] media: dvb-usb: auto-select CYPRESS_FIRMWARE
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:42 ` Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 02/20] media: Kconfig: not all V4L2 platform drivers are for camera Mauro Carvalho Chehab
                   ` (21 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

At least some of the supported boards by dvb-usb
driver need to load the cypress firmware, so select
it, as otherwise missing dependencies may popup.

Also, as the cypress firmware load routines are needed
only by the dvb-usb, dvb-usb-v2 and go7007 drivers, and
those all (now) select it, there's no need to ask the
user for manually select it.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/common/Kconfig      | 2 +-
 drivers/media/usb/dvb-usb/Kconfig | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/media/common/Kconfig b/drivers/media/common/Kconfig
index 1990b7f09454..4ea03b7899a8 100644
--- a/drivers/media/common/Kconfig
+++ b/drivers/media/common/Kconfig
@@ -14,7 +14,7 @@ config VIDEO_TVEEPROM
 	depends on I2C
 
 config CYPRESS_FIRMWARE
-	tristate "Cypress firmware helper routines"
+	tristate
 	depends on USB
 
 source "drivers/media/common/videobuf2/Kconfig"
diff --git a/drivers/media/usb/dvb-usb/Kconfig b/drivers/media/usb/dvb-usb/Kconfig
index 1a3e5f965ae4..42334a02cdce 100644
--- a/drivers/media/usb/dvb-usb/Kconfig
+++ b/drivers/media/usb/dvb-usb/Kconfig
@@ -2,6 +2,7 @@
 config DVB_USB
 	tristate "Support for various USB DVB devices"
 	depends on DVB_CORE && USB && I2C && RC_CORE
+	select CYPRESS_FIRMWARE
 	help
 	  By enabling this you will be able to choose the various supported
 	  USB1.1 and USB2.0 DVB devices.
-- 
2.24.1


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

* [PATCH v2 02/20] media: Kconfig: not all V4L2 platform drivers are for camera
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 01/20] media: dvb-usb: auto-select CYPRESS_FIRMWARE Mauro Carvalho Chehab
@ 2020-03-24 13:42 ` Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 03/20] media: pci: move VIDEO_PCI_SKELETON to a different Kconfig Mauro Carvalho Chehab
                   ` (20 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

When the platform drivers got added, they were all part of
complex camera support. This is not the case anymore, as we
now have codecs and other stuff there too.

So, fix the dependencies, in order to not require users to
manually select something that it doesn't make sense.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig          | 3 +--
 drivers/media/platform/Kconfig | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 9dfea5c4b6ab..4af21fa73fcf 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -99,8 +99,7 @@ source "drivers/media/mc/Kconfig"
 config VIDEO_DEV
 	tristate
 	depends on MEDIA_SUPPORT
-	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
-	default y
+	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS
 
 config VIDEO_V4L2_SUBDEV_API
 	bool "V4L2 sub-device userspace API"
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index e01bbb9dd1c1..34f40c2c8c45 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -5,7 +5,6 @@
 
 menuconfig V4L_PLATFORM_DRIVERS
 	bool "V4L platform devices"
-	depends on MEDIA_CAMERA_SUPPORT
 	help
 	  Say Y here to enable support for platform-specific V4L drivers.
 
-- 
2.24.1


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

* [PATCH v2 03/20] media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 01/20] media: dvb-usb: auto-select CYPRESS_FIRMWARE Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 02/20] media: Kconfig: not all V4L2 platform drivers are for camera Mauro Carvalho Chehab
@ 2020-03-24 13:42 ` Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 04/20] media: reorganize the drivers menu options Mauro Carvalho Chehab
                   ` (19 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

The V4L2 PCI skeleton is not part of the V4L2 core. Move it
to appear together with the other PCI drivers, at the end,
as this is something that normal users don't even need to
bother.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/pci/Kconfig       | 10 ++++++++++
 drivers/media/v4l2-core/Kconfig | 10 ----------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/media/pci/Kconfig b/drivers/media/pci/Kconfig
index dcb3719f440e..9336f8446cf0 100644
--- a/drivers/media/pci/Kconfig
+++ b/drivers/media/pci/Kconfig
@@ -56,5 +56,15 @@ endif
 
 source "drivers/media/pci/intel/ipu3/Kconfig"
 
+config VIDEO_PCI_SKELETON
+	tristate "Skeleton PCI V4L2 driver"
+	depends on PCI
+	depends on SAMPLES
+	depends on VIDEO_V4L2 && VIDEOBUF2_CORE
+	depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG
+	help
+	  Enable build of the skeleton PCI driver, used as a reference
+	  when developing new drivers.
+
 endif #MEDIA_PCI_SUPPORT
 endif #PCI
diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig
index 39e3fb30ba0b..26276b257eae 100644
--- a/drivers/media/v4l2-core/Kconfig
+++ b/drivers/media/v4l2-core/Kconfig
@@ -31,16 +31,6 @@ config VIDEO_FIXED_MINOR_RANGES
 
 	  When in doubt, say N.
 
-config VIDEO_PCI_SKELETON
-	tristate "Skeleton PCI V4L2 driver"
-	depends on PCI
-	depends on SAMPLES
-	depends on VIDEO_V4L2 && VIDEOBUF2_CORE
-	depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG
-	help
-	  Enable build of the skeleton PCI driver, used as a reference
-	  when developing new drivers.
-
 # Used by drivers that need tuner.ko
 config VIDEO_TUNER
 	tristate
-- 
2.24.1


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

* [PATCH v2 04/20] media: reorganize the drivers menu options
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (2 preceding siblings ...)
  2020-03-24 13:42 ` [PATCH v2 03/20] media: pci: move VIDEO_PCI_SKELETON to a different Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:42 ` Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 05/20] media: Kconfig: update the MEDIA_SUPPORT help message Mauro Carvalho Chehab
                   ` (18 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

The comments before some of the drivers support look
weird, because their Kconfig have their own "comment"
directive inside it. So, rearrange them to make it
look a little nicer for the ones with are not too
familiar with the media system.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 4af21fa73fcf..586d8931d9fc 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -87,6 +87,8 @@ config MEDIA_CEC_SUPPORT
 	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
 	  adapter that supports HDMI CEC.
 
+comment "Media core options"
+
 source "drivers/media/cec/Kconfig"
 
 source "drivers/media/mc/Kconfig"
@@ -166,17 +168,17 @@ comment "Media drivers"
 
 source "drivers/media/usb/Kconfig"
 source "drivers/media/pci/Kconfig"
+source "drivers/media/radio/Kconfig"
+
+# Common driver options
+source "drivers/media/common/Kconfig"
 source "drivers/media/platform/Kconfig"
 source "drivers/media/mmc/Kconfig"
-source "drivers/media/radio/Kconfig"
 
 comment "Supported FireWire (IEEE 1394) Adapters"
 	depends on DVB_CORE && FIREWIRE
 source "drivers/media/firewire/Kconfig"
 
-# Common driver options
-source "drivers/media/common/Kconfig"
-
 comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
 
 #
-- 
2.24.1


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

* [PATCH v2 05/20] media: Kconfig: update the MEDIA_SUPPORT help message
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (3 preceding siblings ...)
  2020-03-24 13:42 ` [PATCH v2 04/20] media: reorganize the drivers menu options Mauro Carvalho Chehab
@ 2020-03-24 13:42 ` Mauro Carvalho Chehab
  2020-03-24 13:42 ` [PATCH v2 06/20] media: Kconfig: use a sub-menu to select supported devices Mauro Carvalho Chehab
                   ` (17 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

There are more things than just cameras and TV devices on
media. Update the help message accordingly.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 586d8931d9fc..18dea82d76d7 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -18,8 +18,10 @@ menuconfig MEDIA_SUPPORT
 	tristate "Multimedia support"
 	depends on HAS_IOMEM
 	help
-	  If you want to use Webcams, Video grabber devices and/or TV devices
-	  enable this option and other options below.
+	  If you want to use media devices, including Webcams, Video grabber
+	  devices and/or TV devices, V4L2 codecs, etc, enable this option
+	  and other options below.
+
 	  Additional info and docs are available on the web at
 	  <https://linuxtv.org>
 
-- 
2.24.1


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

* [PATCH v2 06/20] media: Kconfig: use a sub-menu to select supported devices
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (4 preceding siblings ...)
  2020-03-24 13:42 ` [PATCH v2 05/20] media: Kconfig: update the MEDIA_SUPPORT help message Mauro Carvalho Chehab
@ 2020-03-24 13:42 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 07/20] media: Kconfig: add an option to filter in/out the embedded drivers Mauro Carvalho Chehab
                   ` (16 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

The media subsystem has hundreds of driver-specific options.
The *_SUPPORT config options work as a sort of filter,
allowing to reduce its complexity for users that won't
want to dig into thousands of options they don't need.

Yet, it the filtering options are becoming large. So, let's
place it on a sub-menu.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig     | 22 +++++++++++++---------
 drivers/media/mmc/Kconfig |  2 +-
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 18dea82d76d7..e266d1afa912 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -25,22 +25,21 @@ menuconfig MEDIA_SUPPORT
 	  Additional info and docs are available on the web at
 	  <https://linuxtv.org>
 
-if MEDIA_SUPPORT
-
-comment "Multimedia core support"
+menu "Types of devices to be supported"
+	depends on MEDIA_SUPPORT
 
 #
 # Multimedia support - automatically enable V4L2 and DVB core
 #
 config MEDIA_CAMERA_SUPPORT
-	bool "Cameras/video grabbers support"
+	bool "Cameras and video grabbers"
 	help
 	  Enable support for webcams and video grabbers.
 
 	  Say Y when you have a webcam or a video capture grabber board.
 
 config MEDIA_ANALOG_TV_SUPPORT
-	bool "Analog TV support"
+	bool "Analog TV"
 	help
 	  Enable analog TV support.
 
@@ -52,7 +51,7 @@ config MEDIA_ANALOG_TV_SUPPORT
 		will disable support for them.
 
 config MEDIA_DIGITAL_TV_SUPPORT
-	bool "Digital TV support"
+	bool "Digital TV"
 	help
 	  Enable digital TV support.
 
@@ -60,7 +59,7 @@ config MEDIA_DIGITAL_TV_SUPPORT
 	  hybrid digital TV and analog TV.
 
 config MEDIA_RADIO_SUPPORT
-	bool "AM/FM radio receivers/transmitters support"
+	bool "AM/FM radio receivers/transmitters"
 	help
 	  Enable AM/FM radio support.
 
@@ -74,7 +73,7 @@ config MEDIA_RADIO_SUPPORT
 		disable support for them.
 
 config MEDIA_SDR_SUPPORT
-	bool "Software defined radio support"
+	bool "Software defined radio"
 	help
 	  Enable software defined radio support.
 
@@ -89,6 +88,10 @@ config MEDIA_CEC_SUPPORT
 	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
 	  adapter that supports HDMI CEC.
 
+endmenu # media support types
+
+if MEDIA_SUPPORT
+
 comment "Media core options"
 
 source "drivers/media/cec/Kconfig"
@@ -177,7 +180,8 @@ source "drivers/media/common/Kconfig"
 source "drivers/media/platform/Kconfig"
 source "drivers/media/mmc/Kconfig"
 
-comment "Supported FireWire (IEEE 1394) Adapters"
+
+comment "FireWire (IEEE 1394) Adapters"
 	depends on DVB_CORE && FIREWIRE
 source "drivers/media/firewire/Kconfig"
 
diff --git a/drivers/media/mmc/Kconfig b/drivers/media/mmc/Kconfig
index de0528c6994a..5217f5bd205e 100644
--- a/drivers/media/mmc/Kconfig
+++ b/drivers/media/mmc/Kconfig
@@ -1,3 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
-comment "Supported MMC/SDIO adapters"
+comment "MMC/SDIO adapters"
 source "drivers/media/mmc/siano/Kconfig"
-- 
2.24.1


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

* [PATCH v2 07/20] media: Kconfig: add an option to filter in/out the embedded drivers
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (5 preceding siblings ...)
  2020-03-24 13:42 ` [PATCH v2 06/20] media: Kconfig: use a sub-menu to select supported devices Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 08/20] media: split test drivers from platform directory Mauro Carvalho Chehab
                   ` (15 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

Most systems don't need support for those, while others only
need those, instead of the others.

So, add an option to filter in/out the SoC specific drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index e266d1afa912..a57e2198b2db 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -88,6 +88,14 @@ config MEDIA_CEC_SUPPORT
 	  Say Y when you have an HDMI receiver, transmitter or a USB CEC
 	  adapter that supports HDMI CEC.
 
+config MEDIA_EMBEDDED_SUPPORT
+	bool "Embedded devices (SoC)"
+	help
+	  Enable support for complex cameras, codecs, and other hardware
+	  found on Embedded hardware (SoC).
+
+	  Say Y when you have a software defined radio device.
+
 endmenu # media support types
 
 if MEDIA_SUPPORT
@@ -177,9 +185,13 @@ source "drivers/media/radio/Kconfig"
 
 # Common driver options
 source "drivers/media/common/Kconfig"
+
+if MEDIA_EMBEDDED_SUPPORT
+
 source "drivers/media/platform/Kconfig"
 source "drivers/media/mmc/Kconfig"
 
+endif # MEDIA_EMBEDDED_SUPPORT
 
 comment "FireWire (IEEE 1394) Adapters"
 	depends on DVB_CORE && FIREWIRE
-- 
2.24.1


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

* [PATCH v2 08/20] media: split test drivers from platform directory
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (6 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 07/20] media: Kconfig: add an option to filter in/out the embedded drivers Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 09/20] media: Kconfig: make filtering devices optional Mauro Carvalho Chehab
                   ` (14 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Hans Verkuil, Helen Koike, Shuah Khan

When the first test device was added (vivi.c), there were just
one file. I was too lazy on that time to create a separate
directory just for it, so I kept it together with platform.

Now, we have vivid, vicodec, vim2m and vimc. Also, a new
virtual driver has been prepared to support DVB API.

So, it is time to solve this mess, by placing test stuff
on a separate directory.

It should be noticed that we also have some skeleton drivers
(for V4L and for DVB). For now, we'll keep them separate,
as they're not really test drivers, but instead, just
examples. The DVB frontend ones will likely be part of a new DVB
test driver. By that time, it should make sense to move them
here as well.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig                         | 12 ++++++++
 drivers/media/platform/Kconfig                | 23 ---------------
 drivers/media/platform/Makefile               |  5 ----
 drivers/media/test_drivers/Kconfig            | 28 +++++++++++++++++++
 drivers/media/test_drivers/Makefile           |  9 ++++++
 .../vicodec/Kconfig                           |  0
 .../vicodec/Makefile                          |  0
 .../vicodec/codec-fwht.c                      |  0
 .../vicodec/codec-fwht.h                      |  0
 .../vicodec/codec-v4l2-fwht.c                 |  0
 .../vicodec/codec-v4l2-fwht.h                 |  0
 .../vicodec/vicodec-core.c                    |  0
 .../media/{platform => test_drivers}/vim2m.c  |  0
 .../{platform => test_drivers}/vimc/Kconfig   |  0
 .../{platform => test_drivers}/vimc/Makefile  |  0
 .../vimc/vimc-capture.c                       |  0
 .../vimc/vimc-common.c                        |  0
 .../vimc/vimc-common.h                        |  0
 .../vimc/vimc-core.c                          |  0
 .../vimc/vimc-debayer.c                       |  0
 .../vimc/vimc-scaler.c                        |  0
 .../vimc/vimc-sensor.c                        |  0
 .../vimc/vimc-streamer.c                      |  0
 .../vimc/vimc-streamer.h                      |  0
 .../{platform => test_drivers}/vivid/Kconfig  |  0
 .../{platform => test_drivers}/vivid/Makefile |  0
 .../vivid/vivid-cec.c                         |  0
 .../vivid/vivid-cec.h                         |  0
 .../vivid/vivid-core.c                        |  0
 .../vivid/vivid-core.h                        |  0
 .../vivid/vivid-ctrls.c                       |  0
 .../vivid/vivid-ctrls.h                       |  0
 .../vivid/vivid-kthread-cap.c                 |  0
 .../vivid/vivid-kthread-cap.h                 |  0
 .../vivid/vivid-kthread-out.c                 |  0
 .../vivid/vivid-kthread-out.h                 |  0
 .../vivid/vivid-kthread-touch.c               |  0
 .../vivid/vivid-kthread-touch.h               |  0
 .../vivid/vivid-meta-cap.c                    |  0
 .../vivid/vivid-meta-cap.h                    |  0
 .../vivid/vivid-meta-out.c                    |  0
 .../vivid/vivid-meta-out.h                    |  0
 .../vivid/vivid-osd.c                         |  0
 .../vivid/vivid-osd.h                         |  0
 .../vivid/vivid-radio-common.c                |  0
 .../vivid/vivid-radio-common.h                |  0
 .../vivid/vivid-radio-rx.c                    |  0
 .../vivid/vivid-radio-rx.h                    |  0
 .../vivid/vivid-radio-tx.c                    |  0
 .../vivid/vivid-radio-tx.h                    |  0
 .../vivid/vivid-rds-gen.c                     |  0
 .../vivid/vivid-rds-gen.h                     |  0
 .../vivid/vivid-sdr-cap.c                     |  0
 .../vivid/vivid-sdr-cap.h                     |  0
 .../vivid/vivid-touch-cap.c                   |  0
 .../vivid/vivid-touch-cap.h                   |  0
 .../vivid/vivid-vbi-cap.c                     |  0
 .../vivid/vivid-vbi-cap.h                     |  0
 .../vivid/vivid-vbi-gen.c                     |  0
 .../vivid/vivid-vbi-gen.h                     |  0
 .../vivid/vivid-vbi-out.c                     |  0
 .../vivid/vivid-vbi-out.h                     |  0
 .../vivid/vivid-vid-cap.c                     |  0
 .../vivid/vivid-vid-cap.h                     |  0
 .../vivid/vivid-vid-common.c                  |  0
 .../vivid/vivid-vid-common.h                  |  0
 .../vivid/vivid-vid-out.c                     |  0
 .../vivid/vivid-vid-out.h                     |  0
 68 files changed, 49 insertions(+), 28 deletions(-)
 create mode 100644 drivers/media/test_drivers/Kconfig
 create mode 100644 drivers/media/test_drivers/Makefile
 rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
 rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
 rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
 rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
 rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
 rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
 rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index a57e2198b2db..4c06728a4ab7 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -96,6 +96,17 @@ config MEDIA_EMBEDDED_SUPPORT
 
 	  Say Y when you have a software defined radio device.
 
+config MEDIA_TEST_SUPPORT
+	bool "Test drivers"
+	help
+	  Those drivers should not be used on production Kernels, but
+	  can be useful on debug ones. It enables several dummy drivers
+	  that simulate a real hardware. Very useful to test userspace
+	  applications and to validate if the subsystem core is doesn't
+	  have regressions.
+
+	  Say Y when you have a software defined radio device.
+
 endmenu # media support types
 
 if MEDIA_SUPPORT
@@ -185,6 +196,7 @@ source "drivers/media/radio/Kconfig"
 
 # Common driver options
 source "drivers/media/common/Kconfig"
+source "drivers/media/test_drivers/Kconfig"
 
 if MEDIA_EMBEDDED_SUPPORT
 
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 34f40c2c8c45..057bccc29a38 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -531,29 +531,6 @@ config VIDEO_TI_SC
 config VIDEO_TI_CSC
 	tristate
 
-menuconfig V4L_TEST_DRIVERS
-	bool "Media test drivers"
-	depends on MEDIA_CAMERA_SUPPORT
-
-if V4L_TEST_DRIVERS
-
-source "drivers/media/platform/vimc/Kconfig"
-
-source "drivers/media/platform/vivid/Kconfig"
-
-config VIDEO_VIM2M
-	tristate "Virtual Memory-to-Memory Driver"
-	depends on VIDEO_DEV && VIDEO_V4L2
-	select VIDEOBUF2_VMALLOC
-	select V4L2_MEM2MEM_DEV
-	help
-	  This is a virtual test device for the memory-to-memory driver
-	  framework.
-
-source "drivers/media/platform/vicodec/Kconfig"
-
-endif #V4L_TEST_DRIVERS
-
 menuconfig DVB_PLATFORM_DRIVERS
 	bool "DVB platform devices"
 	depends on MEDIA_DIGITAL_TV_SUPPORT
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
index d13db96e3015..a0194ef1211f 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
@@ -14,11 +14,6 @@ obj-$(CONFIG_VIDEO_PXA27x)	+= pxa_camera.o
 
 obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o
 
-obj-$(CONFIG_VIDEO_VIMC)		+= vimc/
-obj-$(CONFIG_VIDEO_VIVID)		+= vivid/
-obj-$(CONFIG_VIDEO_VIM2M)		+= vim2m.o
-obj-$(CONFIG_VIDEO_VICODEC)		+= vicodec/
-
 obj-y	+= ti-vpe/
 
 obj-$(CONFIG_VIDEO_MX2_EMMAPRP)		+= mx2_emmaprp.o
diff --git a/drivers/media/test_drivers/Kconfig b/drivers/media/test_drivers/Kconfig
new file mode 100644
index 000000000000..258a4d36c0d3
--- /dev/null
+++ b/drivers/media/test_drivers/Kconfig
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+if MEDIA_TEST_SUPPORT
+
+menuconfig V4L_TEST_DRIVERS
+	bool "V4L test drivers"
+	depends on MEDIA_CAMERA_SUPPORT
+
+if V4L_TEST_DRIVERS
+
+source "drivers/media/test_drivers/vimc/Kconfig"
+
+source "drivers/media/test_drivers/vivid/Kconfig"
+
+config VIDEO_VIM2M
+	tristate "Virtual Memory-to-Memory Driver"
+	depends on VIDEO_DEV && VIDEO_V4L2
+	select VIDEOBUF2_VMALLOC
+	select V4L2_MEM2MEM_DEV
+	help
+	  This is a virtual test device for the memory-to-memory driver
+	  framework.
+
+source "drivers/media/test_drivers/vicodec/Kconfig"
+
+endif #V4L_TEST_DRIVERS
+
+endif #MEDIA_TEST_SUPPORT
diff --git a/drivers/media/test_drivers/Makefile b/drivers/media/test_drivers/Makefile
new file mode 100644
index 000000000000..74410d3a9f2d
--- /dev/null
+++ b/drivers/media/test_drivers/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Makefile for the test drivers.
+#
+
+obj-$(CONFIG_VIDEO_VIMC)		+= vimc/
+obj-$(CONFIG_VIDEO_VIVID)		+= vivid/
+obj-$(CONFIG_VIDEO_VIM2M)		+= vim2m.o
+obj-$(CONFIG_VIDEO_VICODEC)		+= vicodec/
diff --git a/drivers/media/platform/vicodec/Kconfig b/drivers/media/test_drivers/vicodec/Kconfig
similarity index 100%
rename from drivers/media/platform/vicodec/Kconfig
rename to drivers/media/test_drivers/vicodec/Kconfig
diff --git a/drivers/media/platform/vicodec/Makefile b/drivers/media/test_drivers/vicodec/Makefile
similarity index 100%
rename from drivers/media/platform/vicodec/Makefile
rename to drivers/media/test_drivers/vicodec/Makefile
diff --git a/drivers/media/platform/vicodec/codec-fwht.c b/drivers/media/test_drivers/vicodec/codec-fwht.c
similarity index 100%
rename from drivers/media/platform/vicodec/codec-fwht.c
rename to drivers/media/test_drivers/vicodec/codec-fwht.c
diff --git a/drivers/media/platform/vicodec/codec-fwht.h b/drivers/media/test_drivers/vicodec/codec-fwht.h
similarity index 100%
rename from drivers/media/platform/vicodec/codec-fwht.h
rename to drivers/media/test_drivers/vicodec/codec-fwht.h
diff --git a/drivers/media/platform/vicodec/codec-v4l2-fwht.c b/drivers/media/test_drivers/vicodec/codec-v4l2-fwht.c
similarity index 100%
rename from drivers/media/platform/vicodec/codec-v4l2-fwht.c
rename to drivers/media/test_drivers/vicodec/codec-v4l2-fwht.c
diff --git a/drivers/media/platform/vicodec/codec-v4l2-fwht.h b/drivers/media/test_drivers/vicodec/codec-v4l2-fwht.h
similarity index 100%
rename from drivers/media/platform/vicodec/codec-v4l2-fwht.h
rename to drivers/media/test_drivers/vicodec/codec-v4l2-fwht.h
diff --git a/drivers/media/platform/vicodec/vicodec-core.c b/drivers/media/test_drivers/vicodec/vicodec-core.c
similarity index 100%
rename from drivers/media/platform/vicodec/vicodec-core.c
rename to drivers/media/test_drivers/vicodec/vicodec-core.c
diff --git a/drivers/media/platform/vim2m.c b/drivers/media/test_drivers/vim2m.c
similarity index 100%
rename from drivers/media/platform/vim2m.c
rename to drivers/media/test_drivers/vim2m.c
diff --git a/drivers/media/platform/vimc/Kconfig b/drivers/media/test_drivers/vimc/Kconfig
similarity index 100%
rename from drivers/media/platform/vimc/Kconfig
rename to drivers/media/test_drivers/vimc/Kconfig
diff --git a/drivers/media/platform/vimc/Makefile b/drivers/media/test_drivers/vimc/Makefile
similarity index 100%
rename from drivers/media/platform/vimc/Makefile
rename to drivers/media/test_drivers/vimc/Makefile
diff --git a/drivers/media/platform/vimc/vimc-capture.c b/drivers/media/test_drivers/vimc/vimc-capture.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-capture.c
rename to drivers/media/test_drivers/vimc/vimc-capture.c
diff --git a/drivers/media/platform/vimc/vimc-common.c b/drivers/media/test_drivers/vimc/vimc-common.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-common.c
rename to drivers/media/test_drivers/vimc/vimc-common.c
diff --git a/drivers/media/platform/vimc/vimc-common.h b/drivers/media/test_drivers/vimc/vimc-common.h
similarity index 100%
rename from drivers/media/platform/vimc/vimc-common.h
rename to drivers/media/test_drivers/vimc/vimc-common.h
diff --git a/drivers/media/platform/vimc/vimc-core.c b/drivers/media/test_drivers/vimc/vimc-core.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-core.c
rename to drivers/media/test_drivers/vimc/vimc-core.c
diff --git a/drivers/media/platform/vimc/vimc-debayer.c b/drivers/media/test_drivers/vimc/vimc-debayer.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-debayer.c
rename to drivers/media/test_drivers/vimc/vimc-debayer.c
diff --git a/drivers/media/platform/vimc/vimc-scaler.c b/drivers/media/test_drivers/vimc/vimc-scaler.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-scaler.c
rename to drivers/media/test_drivers/vimc/vimc-scaler.c
diff --git a/drivers/media/platform/vimc/vimc-sensor.c b/drivers/media/test_drivers/vimc/vimc-sensor.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-sensor.c
rename to drivers/media/test_drivers/vimc/vimc-sensor.c
diff --git a/drivers/media/platform/vimc/vimc-streamer.c b/drivers/media/test_drivers/vimc/vimc-streamer.c
similarity index 100%
rename from drivers/media/platform/vimc/vimc-streamer.c
rename to drivers/media/test_drivers/vimc/vimc-streamer.c
diff --git a/drivers/media/platform/vimc/vimc-streamer.h b/drivers/media/test_drivers/vimc/vimc-streamer.h
similarity index 100%
rename from drivers/media/platform/vimc/vimc-streamer.h
rename to drivers/media/test_drivers/vimc/vimc-streamer.h
diff --git a/drivers/media/platform/vivid/Kconfig b/drivers/media/test_drivers/vivid/Kconfig
similarity index 100%
rename from drivers/media/platform/vivid/Kconfig
rename to drivers/media/test_drivers/vivid/Kconfig
diff --git a/drivers/media/platform/vivid/Makefile b/drivers/media/test_drivers/vivid/Makefile
similarity index 100%
rename from drivers/media/platform/vivid/Makefile
rename to drivers/media/test_drivers/vivid/Makefile
diff --git a/drivers/media/platform/vivid/vivid-cec.c b/drivers/media/test_drivers/vivid/vivid-cec.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-cec.c
rename to drivers/media/test_drivers/vivid/vivid-cec.c
diff --git a/drivers/media/platform/vivid/vivid-cec.h b/drivers/media/test_drivers/vivid/vivid-cec.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-cec.h
rename to drivers/media/test_drivers/vivid/vivid-cec.h
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/test_drivers/vivid/vivid-core.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-core.c
rename to drivers/media/test_drivers/vivid/vivid-core.c
diff --git a/drivers/media/platform/vivid/vivid-core.h b/drivers/media/test_drivers/vivid/vivid-core.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-core.h
rename to drivers/media/test_drivers/vivid/vivid-core.h
diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/test_drivers/vivid/vivid-ctrls.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-ctrls.c
rename to drivers/media/test_drivers/vivid/vivid-ctrls.c
diff --git a/drivers/media/platform/vivid/vivid-ctrls.h b/drivers/media/test_drivers/vivid/vivid-ctrls.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-ctrls.h
rename to drivers/media/test_drivers/vivid/vivid-ctrls.h
diff --git a/drivers/media/platform/vivid/vivid-kthread-cap.c b/drivers/media/test_drivers/vivid/vivid-kthread-cap.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-kthread-cap.c
rename to drivers/media/test_drivers/vivid/vivid-kthread-cap.c
diff --git a/drivers/media/platform/vivid/vivid-kthread-cap.h b/drivers/media/test_drivers/vivid/vivid-kthread-cap.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-kthread-cap.h
rename to drivers/media/test_drivers/vivid/vivid-kthread-cap.h
diff --git a/drivers/media/platform/vivid/vivid-kthread-out.c b/drivers/media/test_drivers/vivid/vivid-kthread-out.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-kthread-out.c
rename to drivers/media/test_drivers/vivid/vivid-kthread-out.c
diff --git a/drivers/media/platform/vivid/vivid-kthread-out.h b/drivers/media/test_drivers/vivid/vivid-kthread-out.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-kthread-out.h
rename to drivers/media/test_drivers/vivid/vivid-kthread-out.h
diff --git a/drivers/media/platform/vivid/vivid-kthread-touch.c b/drivers/media/test_drivers/vivid/vivid-kthread-touch.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-kthread-touch.c
rename to drivers/media/test_drivers/vivid/vivid-kthread-touch.c
diff --git a/drivers/media/platform/vivid/vivid-kthread-touch.h b/drivers/media/test_drivers/vivid/vivid-kthread-touch.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-kthread-touch.h
rename to drivers/media/test_drivers/vivid/vivid-kthread-touch.h
diff --git a/drivers/media/platform/vivid/vivid-meta-cap.c b/drivers/media/test_drivers/vivid/vivid-meta-cap.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-meta-cap.c
rename to drivers/media/test_drivers/vivid/vivid-meta-cap.c
diff --git a/drivers/media/platform/vivid/vivid-meta-cap.h b/drivers/media/test_drivers/vivid/vivid-meta-cap.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-meta-cap.h
rename to drivers/media/test_drivers/vivid/vivid-meta-cap.h
diff --git a/drivers/media/platform/vivid/vivid-meta-out.c b/drivers/media/test_drivers/vivid/vivid-meta-out.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-meta-out.c
rename to drivers/media/test_drivers/vivid/vivid-meta-out.c
diff --git a/drivers/media/platform/vivid/vivid-meta-out.h b/drivers/media/test_drivers/vivid/vivid-meta-out.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-meta-out.h
rename to drivers/media/test_drivers/vivid/vivid-meta-out.h
diff --git a/drivers/media/platform/vivid/vivid-osd.c b/drivers/media/test_drivers/vivid/vivid-osd.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-osd.c
rename to drivers/media/test_drivers/vivid/vivid-osd.c
diff --git a/drivers/media/platform/vivid/vivid-osd.h b/drivers/media/test_drivers/vivid/vivid-osd.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-osd.h
rename to drivers/media/test_drivers/vivid/vivid-osd.h
diff --git a/drivers/media/platform/vivid/vivid-radio-common.c b/drivers/media/test_drivers/vivid/vivid-radio-common.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-radio-common.c
rename to drivers/media/test_drivers/vivid/vivid-radio-common.c
diff --git a/drivers/media/platform/vivid/vivid-radio-common.h b/drivers/media/test_drivers/vivid/vivid-radio-common.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-radio-common.h
rename to drivers/media/test_drivers/vivid/vivid-radio-common.h
diff --git a/drivers/media/platform/vivid/vivid-radio-rx.c b/drivers/media/test_drivers/vivid/vivid-radio-rx.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-radio-rx.c
rename to drivers/media/test_drivers/vivid/vivid-radio-rx.c
diff --git a/drivers/media/platform/vivid/vivid-radio-rx.h b/drivers/media/test_drivers/vivid/vivid-radio-rx.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-radio-rx.h
rename to drivers/media/test_drivers/vivid/vivid-radio-rx.h
diff --git a/drivers/media/platform/vivid/vivid-radio-tx.c b/drivers/media/test_drivers/vivid/vivid-radio-tx.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-radio-tx.c
rename to drivers/media/test_drivers/vivid/vivid-radio-tx.c
diff --git a/drivers/media/platform/vivid/vivid-radio-tx.h b/drivers/media/test_drivers/vivid/vivid-radio-tx.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-radio-tx.h
rename to drivers/media/test_drivers/vivid/vivid-radio-tx.h
diff --git a/drivers/media/platform/vivid/vivid-rds-gen.c b/drivers/media/test_drivers/vivid/vivid-rds-gen.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-rds-gen.c
rename to drivers/media/test_drivers/vivid/vivid-rds-gen.c
diff --git a/drivers/media/platform/vivid/vivid-rds-gen.h b/drivers/media/test_drivers/vivid/vivid-rds-gen.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-rds-gen.h
rename to drivers/media/test_drivers/vivid/vivid-rds-gen.h
diff --git a/drivers/media/platform/vivid/vivid-sdr-cap.c b/drivers/media/test_drivers/vivid/vivid-sdr-cap.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-sdr-cap.c
rename to drivers/media/test_drivers/vivid/vivid-sdr-cap.c
diff --git a/drivers/media/platform/vivid/vivid-sdr-cap.h b/drivers/media/test_drivers/vivid/vivid-sdr-cap.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-sdr-cap.h
rename to drivers/media/test_drivers/vivid/vivid-sdr-cap.h
diff --git a/drivers/media/platform/vivid/vivid-touch-cap.c b/drivers/media/test_drivers/vivid/vivid-touch-cap.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-touch-cap.c
rename to drivers/media/test_drivers/vivid/vivid-touch-cap.c
diff --git a/drivers/media/platform/vivid/vivid-touch-cap.h b/drivers/media/test_drivers/vivid/vivid-touch-cap.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-touch-cap.h
rename to drivers/media/test_drivers/vivid/vivid-touch-cap.h
diff --git a/drivers/media/platform/vivid/vivid-vbi-cap.c b/drivers/media/test_drivers/vivid/vivid-vbi-cap.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vbi-cap.c
rename to drivers/media/test_drivers/vivid/vivid-vbi-cap.c
diff --git a/drivers/media/platform/vivid/vivid-vbi-cap.h b/drivers/media/test_drivers/vivid/vivid-vbi-cap.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vbi-cap.h
rename to drivers/media/test_drivers/vivid/vivid-vbi-cap.h
diff --git a/drivers/media/platform/vivid/vivid-vbi-gen.c b/drivers/media/test_drivers/vivid/vivid-vbi-gen.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vbi-gen.c
rename to drivers/media/test_drivers/vivid/vivid-vbi-gen.c
diff --git a/drivers/media/platform/vivid/vivid-vbi-gen.h b/drivers/media/test_drivers/vivid/vivid-vbi-gen.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vbi-gen.h
rename to drivers/media/test_drivers/vivid/vivid-vbi-gen.h
diff --git a/drivers/media/platform/vivid/vivid-vbi-out.c b/drivers/media/test_drivers/vivid/vivid-vbi-out.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vbi-out.c
rename to drivers/media/test_drivers/vivid/vivid-vbi-out.c
diff --git a/drivers/media/platform/vivid/vivid-vbi-out.h b/drivers/media/test_drivers/vivid/vivid-vbi-out.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vbi-out.h
rename to drivers/media/test_drivers/vivid/vivid-vbi-out.h
diff --git a/drivers/media/platform/vivid/vivid-vid-cap.c b/drivers/media/test_drivers/vivid/vivid-vid-cap.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vid-cap.c
rename to drivers/media/test_drivers/vivid/vivid-vid-cap.c
diff --git a/drivers/media/platform/vivid/vivid-vid-cap.h b/drivers/media/test_drivers/vivid/vivid-vid-cap.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vid-cap.h
rename to drivers/media/test_drivers/vivid/vivid-vid-cap.h
diff --git a/drivers/media/platform/vivid/vivid-vid-common.c b/drivers/media/test_drivers/vivid/vivid-vid-common.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vid-common.c
rename to drivers/media/test_drivers/vivid/vivid-vid-common.c
diff --git a/drivers/media/platform/vivid/vivid-vid-common.h b/drivers/media/test_drivers/vivid/vivid-vid-common.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vid-common.h
rename to drivers/media/test_drivers/vivid/vivid-vid-common.h
diff --git a/drivers/media/platform/vivid/vivid-vid-out.c b/drivers/media/test_drivers/vivid/vivid-vid-out.c
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vid-out.c
rename to drivers/media/test_drivers/vivid/vivid-vid-out.c
diff --git a/drivers/media/platform/vivid/vivid-vid-out.h b/drivers/media/test_drivers/vivid/vivid-vid-out.h
similarity index 100%
rename from drivers/media/platform/vivid/vivid-vid-out.h
rename to drivers/media/test_drivers/vivid/vivid-vid-out.h
-- 
2.24.1


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

* [PATCH v2 09/20] media: Kconfig: make filtering devices optional
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (7 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 08/20] media: split test drivers from platform directory Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 10/20] media: Kconfig: move CEC-specific options to cec/Kconfig Mauro Carvalho Chehab
                   ` (13 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

The per-device option selection is a feature that some
developers love, while others hate...

So, let's make both happy by making it optional.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 4c06728a4ab7..e372029ac41f 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -25,14 +25,32 @@ menuconfig MEDIA_SUPPORT
 	  Additional info and docs are available on the web at
 	  <https://linuxtv.org>
 
-menu "Types of devices to be supported"
+if MEDIA_SUPPORT
+
+config MEDIA_SUPPORT_FILTER
+	bool "Filter devices by their types"
 	depends on MEDIA_SUPPORT
+	help
+	   Configuring the media subsystem can be complex, as there are
+	   hundreds of drivers and other config options.
+
+	   This menu offers option that will help the Kernel's config
+	   system to hide drivers that are out of the scope of the
+	   user needs, and disabling core support for unused APIs.
+
+	   If not selected, all non-optional media core functionality
+	   needed to support media drivers will be enabled. Also, all
+	   media device drivers should be shown.
+
+menu "Media device types"
+	visible if MEDIA_SUPPORT_FILTER
 
 #
 # Multimedia support - automatically enable V4L2 and DVB core
 #
 config MEDIA_CAMERA_SUPPORT
 	bool "Cameras and video grabbers"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable support for webcams and video grabbers.
 
@@ -40,6 +58,7 @@ config MEDIA_CAMERA_SUPPORT
 
 config MEDIA_ANALOG_TV_SUPPORT
 	bool "Analog TV"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable analog TV support.
 
@@ -52,6 +71,7 @@ config MEDIA_ANALOG_TV_SUPPORT
 
 config MEDIA_DIGITAL_TV_SUPPORT
 	bool "Digital TV"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable digital TV support.
 
@@ -60,6 +80,7 @@ config MEDIA_DIGITAL_TV_SUPPORT
 
 config MEDIA_RADIO_SUPPORT
 	bool "AM/FM radio receivers/transmitters"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable AM/FM radio support.
 
@@ -74,6 +95,7 @@ config MEDIA_RADIO_SUPPORT
 
 config MEDIA_SDR_SUPPORT
 	bool "Software defined radio"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable software defined radio support.
 
@@ -81,6 +103,7 @@ config MEDIA_SDR_SUPPORT
 
 config MEDIA_CEC_SUPPORT
 	bool "HDMI CEC support"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable support for HDMI CEC (Consumer Electronics Control),
 	  which is an optional HDMI feature.
@@ -90,6 +113,7 @@ config MEDIA_CEC_SUPPORT
 
 config MEDIA_EMBEDDED_SUPPORT
 	bool "Embedded devices (SoC)"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Enable support for complex cameras, codecs, and other hardware
 	  found on Embedded hardware (SoC).
@@ -98,6 +122,7 @@ config MEDIA_EMBEDDED_SUPPORT
 
 config MEDIA_TEST_SUPPORT
 	bool "Test drivers"
+	default y if !MEDIA_SUPPORT_FILTER
 	help
 	  Those drivers should not be used on production Kernels, but
 	  can be useful on debug ones. It enables several dummy drivers
@@ -106,10 +131,7 @@ config MEDIA_TEST_SUPPORT
 	  have regressions.
 
 	  Say Y when you have a software defined radio device.
-
-endmenu # media support types
-
-if MEDIA_SUPPORT
+endmenu # media device types
 
 comment "Media core options"
 
-- 
2.24.1


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

* [PATCH v2 10/20] media: Kconfig: move CEC-specific options to cec/Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (8 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 09/20] media: Kconfig: make filtering devices optional Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 11/20] media: Kconfig: move comment to siano include Mauro Carvalho Chehab
                   ` (12 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Hans Verkuil

There's no need to have the CEC definitions inside the
media Kconfig, as the Kconfig parser doesn't require
symbols to be declared before their usages.

With that, the main Kconfig menu becomes cleaner.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig     |  9 ---------
 drivers/media/cec/Kconfig | 10 ++++++++++
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index e372029ac41f..2f4360faed03 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -3,15 +3,6 @@
 # Multimedia device configuration
 #
 
-config CEC_CORE
-	tristate
-
-config CEC_NOTIFIER
-	bool
-
-config CEC_PIN
-	bool
-
 source "drivers/media/rc/Kconfig"
 
 menuconfig MEDIA_SUPPORT
diff --git a/drivers/media/cec/Kconfig b/drivers/media/cec/Kconfig
index c01919713ab9..31417feaa213 100644
--- a/drivers/media/cec/Kconfig
+++ b/drivers/media/cec/Kconfig
@@ -1,4 +1,14 @@
 # SPDX-License-Identifier: GPL-2.0-only
+
+config CEC_CORE
+	tristate
+
+config CEC_NOTIFIER
+	bool
+
+config CEC_PIN
+	bool
+
 config MEDIA_CEC_RC
 	bool "HDMI CEC RC integration"
 	depends on CEC_CORE && RC_CORE
-- 
2.24.1


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

* [PATCH v2 11/20] media: Kconfig: move comment to siano include
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (9 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 10/20] media: Kconfig: move CEC-specific options to cec/Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 12/20] media: Kconfig: move DVB-specific options to dvb-core/Kconfig Mauro Carvalho Chehab
                   ` (11 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

Showing this comment without showing the Siano mmc option
is very weird! Place the option together, and make it
visible only when showing Siano configuration.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/mmc/Kconfig       | 1 -
 drivers/media/mmc/siano/Kconfig | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/media/mmc/Kconfig b/drivers/media/mmc/Kconfig
index 5217f5bd205e..75aa6de08d53 100644
--- a/drivers/media/mmc/Kconfig
+++ b/drivers/media/mmc/Kconfig
@@ -1,3 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
-comment "MMC/SDIO adapters"
 source "drivers/media/mmc/siano/Kconfig"
diff --git a/drivers/media/mmc/siano/Kconfig b/drivers/media/mmc/siano/Kconfig
index 1919f6fea8b1..570696019a9e 100644
--- a/drivers/media/mmc/siano/Kconfig
+++ b/drivers/media/mmc/siano/Kconfig
@@ -2,6 +2,8 @@
 #
 # Siano Mobile Silicon Digital TV device configuration
 #
+comment "MMC/SDIO DVB adapters"
+	depends on DVB_CORE && HAS_DMA && MMC
 
 config SMS_SDIO_DRV
 	tristate "Siano SMS1xxx based MDTV via SDIO interface"
-- 
2.24.1


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

* [PATCH v2 12/20] media: Kconfig: move DVB-specific options to dvb-core/Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (10 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 11/20] media: Kconfig: move comment to siano include Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 13/20] media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig Mauro Carvalho Chehab
                   ` (10 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

In order to cleanup the main media Kconfig, move the DVB-core
specific options to dvb-core/Kconfig.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig          | 21 ---------------------
 drivers/media/dvb-core/Kconfig | 26 ++++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 2f4360faed03..44aceb5e5b63 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -164,31 +164,10 @@ config DVB_CORE
 	default y
 	select CRC32
 
-config DVB_MMAP
-	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
-	depends on DVB_CORE
-	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
-	select VIDEOBUF2_VMALLOC
 	help
-	  This option enables DVB experimental memory-mapped API, which
-	  reduces the number of context switches to read DVB buffers, as
-	  the buffers can use mmap() syscalls.
 
-	  Support for it is experimental. Use with care. If unsure,
-	  say N.
 
-config DVB_NET
-	bool "DVB Network Support"
-	default (NET && INET)
-	depends on NET && INET && DVB_CORE
-	help
-	  This option enables DVB Network Support which is a part of the DVB
-	  standard. It is used, for example, by automatic firmware updates used
-	  on Set-Top-Boxes. It can also be used to access the Internet via the
-	  DVB card, if the network provider supports it.
 
-	  You may want to disable the network support on embedded devices. If
-	  unsure say Y.
 
 # This Kconfig option is used by both PCI and USB drivers
 config TTPCI_EEPROM
diff --git a/drivers/media/dvb-core/Kconfig b/drivers/media/dvb-core/Kconfig
index 90e038d5ffd9..0f8e53692b86 100644
--- a/drivers/media/dvb-core/Kconfig
+++ b/drivers/media/dvb-core/Kconfig
@@ -3,6 +3,32 @@
 # DVB device configuration
 #
 
+config DVB_MMAP
+	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
+	depends on DVB_CORE
+	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
+	select VIDEOBUF2_VMALLOC
+	help
+	  This option enables DVB experimental memory-mapped API, which
+	  reduces the number of context switches to read DVB buffers, as
+	  the buffers can use mmap() syscalls.
+
+	  Support for it is experimental. Use with care. If unsure,
+	  say N.
+
+config DVB_NET
+	bool "DVB Network Support"
+	default (NET && INET)
+	depends on NET && INET && DVB_CORE
+	help
+	  This option enables DVB Network Support which is a part of the DVB
+	  standard. It is used, for example, by automatic firmware updates used
+	  on Set-Top-Boxes. It can also be used to access the Internet via the
+	  DVB card, if the network provider supports it.
+
+	  You may want to disable the network support on embedded devices. If
+	  unsure say Y.
+
 config DVB_MAX_ADAPTERS
 	int "maximum number of DVB/ATSC adapters"
 	depends on DVB_CORE
-- 
2.24.1


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

* [PATCH v2 13/20] media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (11 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 12/20] media: Kconfig: move DVB-specific options to dvb-core/Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 14/20] media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var Mauro Carvalho Chehab
                   ` (9 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

This option is part of V4L2 API extra functionality set.
Move it to be at the v4l2-core/Kconfig, where it belongs,
cleaning the main Kconfig file.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig           | 9 ---------
 drivers/media/v4l2-core/Kconfig | 9 +++++++++
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 44aceb5e5b63..d6fb8411a8de 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -140,15 +140,6 @@ config VIDEO_DEV
 	depends on MEDIA_SUPPORT
 	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS
 
-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.
-
 source "drivers/media/v4l2-core/Kconfig"
 
 #
diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig
index 26276b257eae..33aa7fe571f8 100644
--- a/drivers/media/v4l2-core/Kconfig
+++ b/drivers/media/v4l2-core/Kconfig
@@ -16,6 +16,15 @@ config VIDEO_V4L2_I2C
 	depends on I2C && VIDEO_V4L2
 	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.
+
 config VIDEO_ADV_DEBUG
 	bool "Enable advanced debug functionality on V4L2 drivers"
 	help
-- 
2.24.1


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

* [PATCH v2 14/20] media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (12 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 13/20] media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 15/20] media: Kconfig: move media controller core select to main Kconfig Mauro Carvalho Chehab
                   ` (8 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

This option is used only by av7110 and by an USB driver. As
the av7110 is the first DVB hardware, hardly found those
days, let's opt to place it at usb/Kconfig, as the driver
with needs it might have a longer lifetime.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig     | 8 --------
 drivers/media/usb/Kconfig | 6 ++++++
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index d6fb8411a8de..54daeba339b7 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -157,14 +157,6 @@ config DVB_CORE
 
 	help
 
-
-
-
-# This Kconfig option is used by both PCI and USB drivers
-config TTPCI_EEPROM
-	tristate
-	depends on I2C
-
 source "drivers/media/dvb-core/Kconfig"
 
 comment "Media drivers"
diff --git a/drivers/media/usb/Kconfig b/drivers/media/usb/Kconfig
index e678d3d11467..bf08393e38d1 100644
--- a/drivers/media/usb/Kconfig
+++ b/drivers/media/usb/Kconfig
@@ -1,4 +1,10 @@
 # SPDX-License-Identifier: GPL-2.0-only
+
+# This Kconfig option is also used by the legacy av7110 driver
+config TTPCI_EEPROM
+	tristate
+	depends on I2C
+
 if USB && MEDIA_SUPPORT
 
 menuconfig MEDIA_USB_SUPPORT
-- 
2.24.1


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

* [PATCH v2 15/20] media: Kconfig: move media controller core select to main Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (13 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 14/20] media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 16/20] media: Kconfig: better organize menu items Mauro Carvalho Chehab
                   ` (7 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Sakari Ailus, Laurent Pinchart

Let's place the main API selections at the media/Kconfig file,
as this way we can better organize things.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig    | 9 +++++++++
 drivers/media/mc/Kconfig | 9 ---------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 54daeba339b7..86cf4f12a70d 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -140,6 +140,15 @@ config VIDEO_DEV
 	depends on MEDIA_SUPPORT
 	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS
 
+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.
+
+	  This API is mostly used by camera interfaces in embedded platforms.
+
 source "drivers/media/v4l2-core/Kconfig"
 
 #
diff --git a/drivers/media/mc/Kconfig b/drivers/media/mc/Kconfig
index 3b9795cfcb36..b3579d6c9e32 100644
--- a/drivers/media/mc/Kconfig
+++ b/drivers/media/mc/Kconfig
@@ -3,15 +3,6 @@
 #	Selectable only for webcam/grabbers, as other drivers don't use it
 #
 
-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.
-
-	  This API is mostly used by camera interfaces in embedded platforms.
-
 config MEDIA_CONTROLLER_DVB
 	bool "Enable Media controller for DVB (EXPERIMENTAL)"
 	depends on MEDIA_CONTROLLER && DVB_CORE
-- 
2.24.1


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

* [PATCH v2 16/20] media: Kconfig: better organize menu items
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (14 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 15/20] media: Kconfig: move media controller core select to main Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 17/20] media: Kconfig: mode firewire comment to firewire/Kconfig Mauro Carvalho Chehab
                   ` (6 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

Place all API specific bits together

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 86cf4f12a70d..7d4088cfe3ef 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -126,10 +126,6 @@ endmenu # media device types
 
 comment "Media core options"
 
-source "drivers/media/cec/Kconfig"
-
-source "drivers/media/mc/Kconfig"
-
 #
 # Video4Linux support
 #	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
@@ -149,8 +145,6 @@ config MEDIA_CONTROLLER
 
 	  This API is mostly used by camera interfaces in embedded platforms.
 
-source "drivers/media/v4l2-core/Kconfig"
-
 #
 # DVB Core
 #	Only enables if one of DTV is selected
@@ -166,7 +160,10 @@ config DVB_CORE
 
 	help
 
+source "drivers/media/v4l2-core/Kconfig"
+source "drivers/media/mc/Kconfig"
 source "drivers/media/dvb-core/Kconfig"
+source "drivers/media/cec/Kconfig"
 
 comment "Media drivers"
 
-- 
2.24.1


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

* [PATCH v2 17/20] media: Kconfig: mode firewire comment to firewire/Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (15 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 16/20] media: Kconfig: better organize menu items Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 18/20] media: Kconfig: place all options under a sub-menu Mauro Carvalho Chehab
                   ` (5 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Stefan Richter, linux1394-devel

This comment should only be visible if the DVB_FIREDTV
config will show.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig          | 2 --
 drivers/media/firewire/Kconfig | 5 ++++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 7d4088cfe3ef..026a1151273c 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -186,8 +186,6 @@ source "drivers/media/mmc/Kconfig"
 
 endif # MEDIA_EMBEDDED_SUPPORT
 
-comment "FireWire (IEEE 1394) Adapters"
-	depends on DVB_CORE && FIREWIRE
 source "drivers/media/firewire/Kconfig"
 
 comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
diff --git a/drivers/media/firewire/Kconfig b/drivers/media/firewire/Kconfig
index e7837da5905b..0c1f326f581f 100644
--- a/drivers/media/firewire/Kconfig
+++ b/drivers/media/firewire/Kconfig
@@ -1,7 +1,9 @@
 # SPDX-License-Identifier: GPL-2.0-only
+if DVB_CORE && FIREWIRE
+comment "FireWire (IEEE 1394) Adapters"
+
 config DVB_FIREDTV
 	tristate "FireDTV and FloppyDTV"
-	depends on DVB_CORE && FIREWIRE
 	help
 	  Support for DVB receivers from Digital Everywhere
 	  which are connected via IEEE 1394 (FireWire).
@@ -18,3 +20,4 @@ config DVB_FIREDTV_INPUT
 	def_bool INPUT = y || (INPUT = m && DVB_FIREDTV = m)
 
 endif # DVB_FIREDTV
+endif # DVB_CORE && FIREWIRE
-- 
2.24.1


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

* [PATCH v2 18/20] media: Kconfig: place all options under a sub-menu
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (16 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 17/20] media: Kconfig: mode firewire comment to firewire/Kconfig Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 19/20] media: Kconfig: move the position of sub-driver autoselection Mauro Carvalho Chehab
                   ` (4 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

That should make easier for people setting the media
subsystem config options, as they'll be split by the
type of functionality that will be enabled.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 43 ++++++++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 19 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 026a1151273c..6c55d20458ee 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -124,48 +124,49 @@ config MEDIA_TEST_SUPPORT
 	  Say Y when you have a software defined radio device.
 endmenu # media device types
 
-comment "Media core options"
-
-#
-# Video4Linux support
-#	Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
-#
+menu "Media core support"
+	visible if !MEDIA_SUPPORT_FILTER
 
 config VIDEO_DEV
-	tristate
+	tristate "Video4Linux core"
 	depends on MEDIA_SUPPORT
 	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS
+	help
+	  Enables the V4L2 API, used by cameras, analog TV, video grabbers,
+	  radio devices and by some input devices.
 
 config MEDIA_CONTROLLER
 	bool "Media Controller API"
-	depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
+	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_EMBEDDED_SUPPORT
 	help
 	  Enable the media controller API used to query media devices internal
 	  topology and configure it dynamically.
 
 	  This API is mostly used by camera interfaces in embedded platforms.
 
-#
-# DVB Core
-#	Only enables if one of DTV is selected
-#
-
 config DVB_CORE
-	tristate
+	tristate "Digital TV core"
 	depends on MEDIA_SUPPORT
-	depends on MEDIA_DIGITAL_TV_SUPPORT
+	default MEDIA_DIGITAL_TV_SUPPORT
 	depends on (I2C || I2C=n)
-	default y
 	select CRC32
-
 	help
+	  Enables the DVB API, used by Digital TV devices. Supports several
+	  standards, including DVB, ATSC, ISDB and CMDB.
 
+endmenu # Media core support
+
+#
+# Extra per-media API core functionality
+
+menu "Media core additional options"
 source "drivers/media/v4l2-core/Kconfig"
 source "drivers/media/mc/Kconfig"
 source "drivers/media/dvb-core/Kconfig"
 source "drivers/media/cec/Kconfig"
+endmenu
 
-comment "Media drivers"
+menu "Media drivers"
 
 #
 # V4L platform/mem2mem drivers
@@ -188,7 +189,9 @@ endif # MEDIA_EMBEDDED_SUPPORT
 
 source "drivers/media/firewire/Kconfig"
 
-comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
+endmenu
+
+menu "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
 
 #
 # Ancillary drivers (tuners, i2c, spi, frontends)
@@ -233,4 +236,6 @@ source "drivers/media/spi/Kconfig"
 source "drivers/media/tuners/Kconfig"
 source "drivers/media/dvb-frontends/Kconfig"
 
+endmenu
+
 endif # MEDIA_SUPPORT
-- 
2.24.1


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

* [PATCH v2 19/20] media: Kconfig: move the position of sub-driver autoselection
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (17 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 18/20] media: Kconfig: place all options under a sub-menu Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:43 ` [PATCH v2 20/20] media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering Mauro Carvalho Chehab
                   ` (3 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

Let's place the sub-driver-autoselection option just below
the device filtering one, as it also controls a filter menu,
with is not even visible if !EXPERT && !EMBEDDED.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 50 +++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 6c55d20458ee..81259287ffa3 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -33,6 +33,28 @@ config MEDIA_SUPPORT_FILTER
 	   needed to support media drivers will be enabled. Also, all
 	   media device drivers should be shown.
 
+config MEDIA_SUBDRV_AUTOSELECT
+	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
+	depends on HAS_IOMEM
+	select I2C
+	select I2C_MUX
+	default y if MEDIA_SUPPORT_FILTER
+	help
+	  By default, a media driver auto-selects all possible ancillary
+	  devices such as tuners, sensors, video encoders/decoders and
+	  frontends, that are used by any of the supported devices.
+
+	  This is generally the right thing to do, except when there
+	  are strict constraints with regards to the kernel size,
+	  like on embedded systems.
+
+	  Use this option with care, as deselecting ancillary drivers which
+	  are, in fact, necessary will result in the lack of the needed
+	  functionality for your device (it may not tune or may not have
+	  the needed demodulators).
+
+	  If unsure say Y.
+
 menu "Media device types"
 	visible if MEDIA_SUPPORT_FILTER
 
@@ -191,40 +213,18 @@ source "drivers/media/firewire/Kconfig"
 
 endmenu
 
-menu "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
-
 #
 # Ancillary drivers (tuners, i2c, spi, frontends)
 #
 
-config MEDIA_SUBDRV_AUTOSELECT
-	bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
-	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
-	depends on HAS_IOMEM
-	select I2C
-	select I2C_MUX
-	default y if !EMBEDDED
-	help
-	  By default, a media driver auto-selects all possible ancillary
-	  devices such as tuners, sensors, video encoders/decoders and
-	  frontends, that are used by any of the supported devices.
-
-	  This is generally the right thing to do, except when there
-	  are strict constraints with regards to the kernel size,
-	  like on embedded systems.
-
-	  Use this option with care, as deselecting ancillary drivers which
-	  are, in fact, necessary will result in the lack of the needed
-	  functionality for your device (it may not tune or may not have
-	  the needed demodulators).
-
-	  If unsure say Y.
-
 config MEDIA_HIDE_ANCILLARY_SUBDRV
 	bool
 	depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
 	default y
 
+menu "Media ancillary drivers"
+	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
+
 config MEDIA_ATTACH
 	bool
 	depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
-- 
2.24.1


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

* [PATCH v2 20/20] media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (18 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 19/20] media: Kconfig: move the position of sub-driver autoselection Mauro Carvalho Chehab
@ 2020-03-24 13:43 ` Mauro Carvalho Chehab
  2020-03-24 13:53 ` [PATCH v2 00/20] Reorganize media Kconfig Laurent Pinchart
                   ` (2 subsequent siblings)
  22 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, Ezequiel Garcia

Advanced and embedded users know what to do, so, by default,
they will likely want to be able to open the entire set of
Kconfig media options.

Normal "poor" users usually needs more help when setting
stuff, so let's open an more simplified version to them by
default.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 81259287ffa3..ef71cc03c1c5 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -21,6 +21,7 @@ if MEDIA_SUPPORT
 config MEDIA_SUPPORT_FILTER
 	bool "Filter devices by their types"
 	depends on MEDIA_SUPPORT
+	default y if !EMBEDDED && !EXPERT
 	help
 	   Configuring the media subsystem can be complex, as there are
 	   hundreds of drivers and other config options.
-- 
2.24.1


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

* Re: [PATCH v2 00/20] Reorganize media Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (19 preceding siblings ...)
  2020-03-24 13:43 ` [PATCH v2 20/20] media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering Mauro Carvalho Chehab
@ 2020-03-24 13:53 ` Laurent Pinchart
  2020-03-24 14:02   ` Mauro Carvalho Chehab
  2020-03-24 13:58 ` Hans Verkuil
  2020-04-16  9:51 ` David Hildenbrand
  22 siblings, 1 reply; 26+ messages in thread
From: Laurent Pinchart @ 2020-03-24 13:53 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Linux Doc Mailing List, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Hans Verkuil, Sakari Ailus, Shuah Khan,
	Stefan Richter, linux1394-devel, Helen Koike

Hi Mauro,

Thank you for the patches.

On Tue, Mar 24, 2020 at 02:42:53PM +0100, Mauro Carvalho Chehab wrote:
> This patch series do lots of reorg at the media Kconfig options.
> It also move test drivers from platform dir to a new one.
> 
> After this change, the main config is organized on menus, allowing to
> select:
> 
> 	- type of devices selection - the filtering options
> 	- Media core options - with API and other core stuff
> 	- Media core extra options
> 	- Media drivers
> 	- Media ancillary drivers
> 
> The "type of devices" menu has the filtering options for:
> 
> 	- Cameras and video grabbers
> 	- Analog TV
> 	- Digital TV
> 	- AM/FM radio receivers/transmitters
> 	- SDR
> 	- CEC
> 	- Embeded devices (SoC)
> 	- Test drivers
> 
> This way, one interested only on embedded devices can unselect
> everything but "Embedded devices (SoC)" option.
> 
> Distros for PC/Laptops can enable everything but 
> "Embedded devices (SoC)" and "Test drivers".

How about a device such as the Intel IPU3 ? It's a SoC, and is present
in laptops. Unlike the physical interface which is a fairly well defined
way to categorize devices, creating artificial classes will always leave
some devices without a home. We could have a capture card that supports
both analog and digital TV. A digital TV capture card with an HDMI input
can have a CEC device. Lots of combinations are possible.

> Users can select just what they want, without bothering with
> hundreds of options that he won't have any clue about their
> meanings.
> 
> Mauro Carvalho Chehab (20):
>   media: dvb-usb: auto-select CYPRESS_FIRMWARE
>   media: Kconfig: not all V4L2 platform drivers are for camera
>   media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
>   media: reorganize the drivers menu options
>   media: Kconfig: update the MEDIA_SUPPORT help message
>   media: Kconfig: use a sub-menu to select supported devices
>   media: Kconfig: add an option to filter in/out the embedded drivers
>   media: split test drivers from platform directory
>   media: Kconfig: make filtering devices optional
>   media: Kconfig: move CEC-specific options to cec/Kconfig
>   media: Kconfig: move comment to siano include
>   media: Kconfig: move DVB-specific options to dvb-core/Kconfig
>   media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
>   media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
>   media: Kconfig: move media controller core select to main Kconfig
>   media: Kconfig: better organize menu items
>   media: Kconfig: mode firewire comment to firewire/Kconfig
>   media: Kconfig: place all options under a sub-menu
>   media: Kconfig: move the position of sub-driver autoselection
>   media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
> 
>  drivers/media/Kconfig                         | 216 ++++++++++--------
>  drivers/media/cec/Kconfig                     |  10 +
>  drivers/media/common/Kconfig                  |   2 +-
>  drivers/media/dvb-core/Kconfig                |  26 +++
>  drivers/media/firewire/Kconfig                |   5 +-
>  drivers/media/mc/Kconfig                      |   9 -
>  drivers/media/mmc/Kconfig                     |   1 -
>  drivers/media/mmc/siano/Kconfig               |   2 +
>  drivers/media/pci/Kconfig                     |  10 +
>  drivers/media/platform/Kconfig                |  24 --
>  drivers/media/platform/Makefile               |   5 -
>  drivers/media/test_drivers/Kconfig            |  28 +++
>  drivers/media/test_drivers/Makefile           |   9 +
>  .../vicodec/Kconfig                           |   0
>  .../vicodec/Makefile                          |   0
>  .../vicodec/codec-fwht.c                      |   0
>  .../vicodec/codec-fwht.h                      |   0
>  .../vicodec/codec-v4l2-fwht.c                 |   0
>  .../vicodec/codec-v4l2-fwht.h                 |   0
>  .../vicodec/vicodec-core.c                    |   0
>  .../media/{platform => test_drivers}/vim2m.c  |   0
>  .../{platform => test_drivers}/vimc/Kconfig   |   0
>  .../{platform => test_drivers}/vimc/Makefile  |   0
>  .../vimc/vimc-capture.c                       |   0
>  .../vimc/vimc-common.c                        |   0
>  .../vimc/vimc-common.h                        |   0
>  .../vimc/vimc-core.c                          |   0
>  .../vimc/vimc-debayer.c                       |   0
>  .../vimc/vimc-scaler.c                        |   0
>  .../vimc/vimc-sensor.c                        |   0
>  .../vimc/vimc-streamer.c                      |   0
>  .../vimc/vimc-streamer.h                      |   0
>  .../{platform => test_drivers}/vivid/Kconfig  |   0
>  .../{platform => test_drivers}/vivid/Makefile |   0
>  .../vivid/vivid-cec.c                         |   0
>  .../vivid/vivid-cec.h                         |   0
>  .../vivid/vivid-core.c                        |   0
>  .../vivid/vivid-core.h                        |   0
>  .../vivid/vivid-ctrls.c                       |   0
>  .../vivid/vivid-ctrls.h                       |   0
>  .../vivid/vivid-kthread-cap.c                 |   0
>  .../vivid/vivid-kthread-cap.h                 |   0
>  .../vivid/vivid-kthread-out.c                 |   0
>  .../vivid/vivid-kthread-out.h                 |   0
>  .../vivid/vivid-kthread-touch.c               |   0
>  .../vivid/vivid-kthread-touch.h               |   0
>  .../vivid/vivid-meta-cap.c                    |   0
>  .../vivid/vivid-meta-cap.h                    |   0
>  .../vivid/vivid-meta-out.c                    |   0
>  .../vivid/vivid-meta-out.h                    |   0
>  .../vivid/vivid-osd.c                         |   0
>  .../vivid/vivid-osd.h                         |   0
>  .../vivid/vivid-radio-common.c                |   0
>  .../vivid/vivid-radio-common.h                |   0
>  .../vivid/vivid-radio-rx.c                    |   0
>  .../vivid/vivid-radio-rx.h                    |   0
>  .../vivid/vivid-radio-tx.c                    |   0
>  .../vivid/vivid-radio-tx.h                    |   0
>  .../vivid/vivid-rds-gen.c                     |   0
>  .../vivid/vivid-rds-gen.h                     |   0
>  .../vivid/vivid-sdr-cap.c                     |   0
>  .../vivid/vivid-sdr-cap.h                     |   0
>  .../vivid/vivid-touch-cap.c                   |   0
>  .../vivid/vivid-touch-cap.h                   |   0
>  .../vivid/vivid-vbi-cap.c                     |   0
>  .../vivid/vivid-vbi-cap.h                     |   0
>  .../vivid/vivid-vbi-gen.c                     |   0
>  .../vivid/vivid-vbi-gen.h                     |   0
>  .../vivid/vivid-vbi-out.c                     |   0
>  .../vivid/vivid-vbi-out.h                     |   0
>  .../vivid/vivid-vid-cap.c                     |   0
>  .../vivid/vivid-vid-cap.h                     |   0
>  .../vivid/vivid-vid-common.c                  |   0
>  .../vivid/vivid-vid-common.h                  |   0
>  .../vivid/vivid-vid-out.c                     |   0
>  .../vivid/vivid-vid-out.h                     |   0
>  drivers/media/usb/Kconfig                     |   6 +
>  drivers/media/usb/dvb-usb/Kconfig             |   1 +
>  drivers/media/v4l2-core/Kconfig               |  19 +-
>  79 files changed, 222 insertions(+), 151 deletions(-)
>  create mode 100644 drivers/media/test_drivers/Kconfig
>  create mode 100644 drivers/media/test_drivers/Makefile
>  rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
>  rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH v2 00/20] Reorganize media Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (20 preceding siblings ...)
  2020-03-24 13:53 ` [PATCH v2 00/20] Reorganize media Kconfig Laurent Pinchart
@ 2020-03-24 13:58 ` Hans Verkuil
  2020-03-24 14:27   ` Mauro Carvalho Chehab
  2020-04-16  9:51 ` David Hildenbrand
  22 siblings, 1 reply; 26+ messages in thread
From: Hans Verkuil @ 2020-03-24 13:58 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Doc Mailing List
  Cc: linux-kernel, Jonathan Corbet, Ezequiel Garcia, Sakari Ailus,
	Shuah Khan, Laurent Pinchart, Stefan Richter, linux1394-devel,
	Helen Koike

On 3/24/20 2:42 PM, Mauro Carvalho Chehab wrote:
> This patch series do lots of reorg at the media Kconfig options.
> It also move test drivers from platform dir to a new one.

You sent this to linux-doc, but you probably meant linux-media.

Can you repost?

Regards,

	Hans

> 
> After this change, the main config is organized on menus, allowing to
> select:
> 
> 	- type of devices selection - the filtering options
> 	- Media core options - with API and other core stuff
> 	- Media core extra options
> 	- Media drivers
> 	- Media ancillary drivers
> 
> The "type of devices" menu has the filtering options for:
> 
> 	- Cameras and video grabbers
> 	- Analog TV
> 	- Digital TV
> 	- AM/FM radio receivers/transmitters
> 	- SDR
> 	- CEC
> 	- Embeded devices (SoC)
> 	- Test drivers
> 
> This way, one interested only on embedded devices can unselect
> everything but "Embedded devices (SoC)" option.
> 
> Distros for PC/Laptops can enable everything but 
> "Embedded devices (SoC)" and "Test drivers".
> 
> Users can select just what they want, without bothering with
> hundreds of options that he won't have any clue about their
> meanings.
> 
> Mauro Carvalho Chehab (20):
>   media: dvb-usb: auto-select CYPRESS_FIRMWARE
>   media: Kconfig: not all V4L2 platform drivers are for camera
>   media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
>   media: reorganize the drivers menu options
>   media: Kconfig: update the MEDIA_SUPPORT help message
>   media: Kconfig: use a sub-menu to select supported devices
>   media: Kconfig: add an option to filter in/out the embedded drivers
>   media: split test drivers from platform directory
>   media: Kconfig: make filtering devices optional
>   media: Kconfig: move CEC-specific options to cec/Kconfig
>   media: Kconfig: move comment to siano include
>   media: Kconfig: move DVB-specific options to dvb-core/Kconfig
>   media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
>   media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
>   media: Kconfig: move media controller core select to main Kconfig
>   media: Kconfig: better organize menu items
>   media: Kconfig: mode firewire comment to firewire/Kconfig
>   media: Kconfig: place all options under a sub-menu
>   media: Kconfig: move the position of sub-driver autoselection
>   media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
> 
>  drivers/media/Kconfig                         | 216 ++++++++++--------
>  drivers/media/cec/Kconfig                     |  10 +
>  drivers/media/common/Kconfig                  |   2 +-
>  drivers/media/dvb-core/Kconfig                |  26 +++
>  drivers/media/firewire/Kconfig                |   5 +-
>  drivers/media/mc/Kconfig                      |   9 -
>  drivers/media/mmc/Kconfig                     |   1 -
>  drivers/media/mmc/siano/Kconfig               |   2 +
>  drivers/media/pci/Kconfig                     |  10 +
>  drivers/media/platform/Kconfig                |  24 --
>  drivers/media/platform/Makefile               |   5 -
>  drivers/media/test_drivers/Kconfig            |  28 +++
>  drivers/media/test_drivers/Makefile           |   9 +
>  .../vicodec/Kconfig                           |   0
>  .../vicodec/Makefile                          |   0
>  .../vicodec/codec-fwht.c                      |   0
>  .../vicodec/codec-fwht.h                      |   0
>  .../vicodec/codec-v4l2-fwht.c                 |   0
>  .../vicodec/codec-v4l2-fwht.h                 |   0
>  .../vicodec/vicodec-core.c                    |   0
>  .../media/{platform => test_drivers}/vim2m.c  |   0
>  .../{platform => test_drivers}/vimc/Kconfig   |   0
>  .../{platform => test_drivers}/vimc/Makefile  |   0
>  .../vimc/vimc-capture.c                       |   0
>  .../vimc/vimc-common.c                        |   0
>  .../vimc/vimc-common.h                        |   0
>  .../vimc/vimc-core.c                          |   0
>  .../vimc/vimc-debayer.c                       |   0
>  .../vimc/vimc-scaler.c                        |   0
>  .../vimc/vimc-sensor.c                        |   0
>  .../vimc/vimc-streamer.c                      |   0
>  .../vimc/vimc-streamer.h                      |   0
>  .../{platform => test_drivers}/vivid/Kconfig  |   0
>  .../{platform => test_drivers}/vivid/Makefile |   0
>  .../vivid/vivid-cec.c                         |   0
>  .../vivid/vivid-cec.h                         |   0
>  .../vivid/vivid-core.c                        |   0
>  .../vivid/vivid-core.h                        |   0
>  .../vivid/vivid-ctrls.c                       |   0
>  .../vivid/vivid-ctrls.h                       |   0
>  .../vivid/vivid-kthread-cap.c                 |   0
>  .../vivid/vivid-kthread-cap.h                 |   0
>  .../vivid/vivid-kthread-out.c                 |   0
>  .../vivid/vivid-kthread-out.h                 |   0
>  .../vivid/vivid-kthread-touch.c               |   0
>  .../vivid/vivid-kthread-touch.h               |   0
>  .../vivid/vivid-meta-cap.c                    |   0
>  .../vivid/vivid-meta-cap.h                    |   0
>  .../vivid/vivid-meta-out.c                    |   0
>  .../vivid/vivid-meta-out.h                    |   0
>  .../vivid/vivid-osd.c                         |   0
>  .../vivid/vivid-osd.h                         |   0
>  .../vivid/vivid-radio-common.c                |   0
>  .../vivid/vivid-radio-common.h                |   0
>  .../vivid/vivid-radio-rx.c                    |   0
>  .../vivid/vivid-radio-rx.h                    |   0
>  .../vivid/vivid-radio-tx.c                    |   0
>  .../vivid/vivid-radio-tx.h                    |   0
>  .../vivid/vivid-rds-gen.c                     |   0
>  .../vivid/vivid-rds-gen.h                     |   0
>  .../vivid/vivid-sdr-cap.c                     |   0
>  .../vivid/vivid-sdr-cap.h                     |   0
>  .../vivid/vivid-touch-cap.c                   |   0
>  .../vivid/vivid-touch-cap.h                   |   0
>  .../vivid/vivid-vbi-cap.c                     |   0
>  .../vivid/vivid-vbi-cap.h                     |   0
>  .../vivid/vivid-vbi-gen.c                     |   0
>  .../vivid/vivid-vbi-gen.h                     |   0
>  .../vivid/vivid-vbi-out.c                     |   0
>  .../vivid/vivid-vbi-out.h                     |   0
>  .../vivid/vivid-vid-cap.c                     |   0
>  .../vivid/vivid-vid-cap.h                     |   0
>  .../vivid/vivid-vid-common.c                  |   0
>  .../vivid/vivid-vid-common.h                  |   0
>  .../vivid/vivid-vid-out.c                     |   0
>  .../vivid/vivid-vid-out.h                     |   0
>  drivers/media/usb/Kconfig                     |   6 +
>  drivers/media/usb/dvb-usb/Kconfig             |   1 +
>  drivers/media/v4l2-core/Kconfig               |  19 +-
>  79 files changed, 222 insertions(+), 151 deletions(-)
>  create mode 100644 drivers/media/test_drivers/Kconfig
>  create mode 100644 drivers/media/test_drivers/Makefile
>  rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
>  rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
>  rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
>  rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
>  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)
> 


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

* Re: [PATCH v2 00/20] Reorganize media Kconfig
  2020-03-24 13:53 ` [PATCH v2 00/20] Reorganize media Kconfig Laurent Pinchart
@ 2020-03-24 14:02   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 14:02 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Linux Doc Mailing List, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Hans Verkuil, Sakari Ailus, Shuah Khan,
	Stefan Richter, linux1394-devel, Helen Koike

Em Tue, 24 Mar 2020 15:53:59 +0200
Laurent Pinchart <laurent.pinchart@ideasonboard.com> escreveu:

> Hi Mauro,
> 
> Thank you for the patches.
> 
> On Tue, Mar 24, 2020 at 02:42:53PM +0100, Mauro Carvalho Chehab wrote:
> > This patch series do lots of reorg at the media Kconfig options.
> > It also move test drivers from platform dir to a new one.
> > 
> > After this change, the main config is organized on menus, allowing to
> > select:
> > 
> > 	- type of devices selection - the filtering options
> > 	- Media core options - with API and other core stuff
> > 	- Media core extra options
> > 	- Media drivers
> > 	- Media ancillary drivers
> > 
> > The "type of devices" menu has the filtering options for:
> > 
> > 	- Cameras and video grabbers
> > 	- Analog TV
> > 	- Digital TV
> > 	- AM/FM radio receivers/transmitters
> > 	- SDR
> > 	- CEC
> > 	- Embeded devices (SoC)
> > 	- Test drivers
> > 
> > This way, one interested only on embedded devices can unselect
> > everything but "Embedded devices (SoC)" option.
> > 
> > Distros for PC/Laptops can enable everything but 
> > "Embedded devices (SoC)" and "Test drivers".
> 
> How about a device such as the Intel IPU3 ? It's a SoC, and is present
> in laptops. Unlike the physical interface which is a fairly well defined
> way to categorize devices, creating artificial classes will always leave
> some devices without a home. We could have a capture card that supports
> both analog and digital TV. A digital TV capture card with an HDMI input
> can have a CEC device. Lots of combinations are possible.

This is basically what we had before, just better organized. 

It is a hints based selection. So, a multi-function device like IPU3
would basically do (either directly or the menu which contains it):

	depends on MEDIA_EMBEDDED_SUPPORT || MEDIA_CAMERA_SUPPORT

When the filter is disabled, both options tune to "y".


Thanks,
Mauro

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

* Re: [PATCH v2 00/20] Reorganize media Kconfig
  2020-03-24 13:58 ` Hans Verkuil
@ 2020-03-24 14:27   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-24 14:27 UTC (permalink / raw)
  To: Hans Verkuil
  Cc: Linux Doc Mailing List, linux-kernel, Jonathan Corbet,
	Ezequiel Garcia, Sakari Ailus, Shuah Khan, Laurent Pinchart,
	Stefan Richter, linux1394-devel, Helen Koike

Em Tue, 24 Mar 2020 14:58:59 +0100
Hans Verkuil <hverkuil-cisco@xs4all.nl> escreveu:

> On 3/24/20 2:42 PM, Mauro Carvalho Chehab wrote:
> > This patch series do lots of reorg at the media Kconfig options.
> > It also move test drivers from platform dir to a new one.  
> 
> You sent this to linux-doc, but you probably meant linux-media.
> 
> Can you repost?

Oh! Sorry for that. I used the same git clone I have lots of doc patches,
as it would make easier for me to rebase, but forgot that the send
code inside .git/config was pointing to a different c/c list.

Resent.

> 
> Regards,
> 
> 	Hans
> 
> > 
> > After this change, the main config is organized on menus, allowing to
> > select:
> > 
> > 	- type of devices selection - the filtering options
> > 	- Media core options - with API and other core stuff
> > 	- Media core extra options
> > 	- Media drivers
> > 	- Media ancillary drivers
> > 
> > The "type of devices" menu has the filtering options for:
> > 
> > 	- Cameras and video grabbers
> > 	- Analog TV
> > 	- Digital TV
> > 	- AM/FM radio receivers/transmitters
> > 	- SDR
> > 	- CEC
> > 	- Embeded devices (SoC)
> > 	- Test drivers
> > 
> > This way, one interested only on embedded devices can unselect
> > everything but "Embedded devices (SoC)" option.
> > 
> > Distros for PC/Laptops can enable everything but 
> > "Embedded devices (SoC)" and "Test drivers".
> > 
> > Users can select just what they want, without bothering with
> > hundreds of options that he won't have any clue about their
> > meanings.
> > 
> > Mauro Carvalho Chehab (20):
> >   media: dvb-usb: auto-select CYPRESS_FIRMWARE
> >   media: Kconfig: not all V4L2 platform drivers are for camera
> >   media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
> >   media: reorganize the drivers menu options
> >   media: Kconfig: update the MEDIA_SUPPORT help message
> >   media: Kconfig: use a sub-menu to select supported devices
> >   media: Kconfig: add an option to filter in/out the embedded drivers
> >   media: split test drivers from platform directory
> >   media: Kconfig: make filtering devices optional
> >   media: Kconfig: move CEC-specific options to cec/Kconfig
> >   media: Kconfig: move comment to siano include
> >   media: Kconfig: move DVB-specific options to dvb-core/Kconfig
> >   media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
> >   media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
> >   media: Kconfig: move media controller core select to main Kconfig
> >   media: Kconfig: better organize menu items
> >   media: Kconfig: mode firewire comment to firewire/Kconfig
> >   media: Kconfig: place all options under a sub-menu
> >   media: Kconfig: move the position of sub-driver autoselection
> >   media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
> > 
> >  drivers/media/Kconfig                         | 216 ++++++++++--------
> >  drivers/media/cec/Kconfig                     |  10 +
> >  drivers/media/common/Kconfig                  |   2 +-
> >  drivers/media/dvb-core/Kconfig                |  26 +++
> >  drivers/media/firewire/Kconfig                |   5 +-
> >  drivers/media/mc/Kconfig                      |   9 -
> >  drivers/media/mmc/Kconfig                     |   1 -
> >  drivers/media/mmc/siano/Kconfig               |   2 +
> >  drivers/media/pci/Kconfig                     |  10 +
> >  drivers/media/platform/Kconfig                |  24 --
> >  drivers/media/platform/Makefile               |   5 -
> >  drivers/media/test_drivers/Kconfig            |  28 +++
> >  drivers/media/test_drivers/Makefile           |   9 +
> >  .../vicodec/Kconfig                           |   0
> >  .../vicodec/Makefile                          |   0
> >  .../vicodec/codec-fwht.c                      |   0
> >  .../vicodec/codec-fwht.h                      |   0
> >  .../vicodec/codec-v4l2-fwht.c                 |   0
> >  .../vicodec/codec-v4l2-fwht.h                 |   0
> >  .../vicodec/vicodec-core.c                    |   0
> >  .../media/{platform => test_drivers}/vim2m.c  |   0
> >  .../{platform => test_drivers}/vimc/Kconfig   |   0
> >  .../{platform => test_drivers}/vimc/Makefile  |   0
> >  .../vimc/vimc-capture.c                       |   0
> >  .../vimc/vimc-common.c                        |   0
> >  .../vimc/vimc-common.h                        |   0
> >  .../vimc/vimc-core.c                          |   0
> >  .../vimc/vimc-debayer.c                       |   0
> >  .../vimc/vimc-scaler.c                        |   0
> >  .../vimc/vimc-sensor.c                        |   0
> >  .../vimc/vimc-streamer.c                      |   0
> >  .../vimc/vimc-streamer.h                      |   0
> >  .../{platform => test_drivers}/vivid/Kconfig  |   0
> >  .../{platform => test_drivers}/vivid/Makefile |   0
> >  .../vivid/vivid-cec.c                         |   0
> >  .../vivid/vivid-cec.h                         |   0
> >  .../vivid/vivid-core.c                        |   0
> >  .../vivid/vivid-core.h                        |   0
> >  .../vivid/vivid-ctrls.c                       |   0
> >  .../vivid/vivid-ctrls.h                       |   0
> >  .../vivid/vivid-kthread-cap.c                 |   0
> >  .../vivid/vivid-kthread-cap.h                 |   0
> >  .../vivid/vivid-kthread-out.c                 |   0
> >  .../vivid/vivid-kthread-out.h                 |   0
> >  .../vivid/vivid-kthread-touch.c               |   0
> >  .../vivid/vivid-kthread-touch.h               |   0
> >  .../vivid/vivid-meta-cap.c                    |   0
> >  .../vivid/vivid-meta-cap.h                    |   0
> >  .../vivid/vivid-meta-out.c                    |   0
> >  .../vivid/vivid-meta-out.h                    |   0
> >  .../vivid/vivid-osd.c                         |   0
> >  .../vivid/vivid-osd.h                         |   0
> >  .../vivid/vivid-radio-common.c                |   0
> >  .../vivid/vivid-radio-common.h                |   0
> >  .../vivid/vivid-radio-rx.c                    |   0
> >  .../vivid/vivid-radio-rx.h                    |   0
> >  .../vivid/vivid-radio-tx.c                    |   0
> >  .../vivid/vivid-radio-tx.h                    |   0
> >  .../vivid/vivid-rds-gen.c                     |   0
> >  .../vivid/vivid-rds-gen.h                     |   0
> >  .../vivid/vivid-sdr-cap.c                     |   0
> >  .../vivid/vivid-sdr-cap.h                     |   0
> >  .../vivid/vivid-touch-cap.c                   |   0
> >  .../vivid/vivid-touch-cap.h                   |   0
> >  .../vivid/vivid-vbi-cap.c                     |   0
> >  .../vivid/vivid-vbi-cap.h                     |   0
> >  .../vivid/vivid-vbi-gen.c                     |   0
> >  .../vivid/vivid-vbi-gen.h                     |   0
> >  .../vivid/vivid-vbi-out.c                     |   0
> >  .../vivid/vivid-vbi-out.h                     |   0
> >  .../vivid/vivid-vid-cap.c                     |   0
> >  .../vivid/vivid-vid-cap.h                     |   0
> >  .../vivid/vivid-vid-common.c                  |   0
> >  .../vivid/vivid-vid-common.h                  |   0
> >  .../vivid/vivid-vid-out.c                     |   0
> >  .../vivid/vivid-vid-out.h                     |   0
> >  drivers/media/usb/Kconfig                     |   6 +
> >  drivers/media/usb/dvb-usb/Kconfig             |   1 +
> >  drivers/media/v4l2-core/Kconfig               |  19 +-
> >  79 files changed, 222 insertions(+), 151 deletions(-)
> >  create mode 100644 drivers/media/test_drivers/Kconfig
> >  create mode 100644 drivers/media/test_drivers/Makefile
> >  rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
> >  rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
> >  rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
> >  rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)
> >   
> 



Thanks,
Mauro

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

* Re: [PATCH v2 00/20] Reorganize media Kconfig
  2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
                   ` (21 preceding siblings ...)
  2020-03-24 13:58 ` Hans Verkuil
@ 2020-04-16  9:51 ` David Hildenbrand
  22 siblings, 0 replies; 26+ messages in thread
From: David Hildenbrand @ 2020-04-16  9:51 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Doc Mailing List
  Cc: linux-kernel, Jonathan Corbet, Ezequiel Garcia, Hans Verkuil,
	Sakari Ailus, Shuah Khan, Laurent Pinchart, Stefan Richter,
	linux1394-devel, Helen Koike

On 24.03.20 14:42, Mauro Carvalho Chehab wrote:
> This patch series do lots of reorg at the media Kconfig options.
> It also move test drivers from platform dir to a new one.
> 
> After this change, the main config is organized on menus, allowing to
> select:
> 
> 	- type of devices selection - the filtering options
> 	- Media core options - with API and other core stuff
> 	- Media core extra options
> 	- Media drivers
> 	- Media ancillary drivers
> 
> The "type of devices" menu has the filtering options for:
> 
> 	- Cameras and video grabbers
> 	- Analog TV
> 	- Digital TV
> 	- AM/FM radio receivers/transmitters
> 	- SDR
> 	- CEC
> 	- Embeded devices (SoC)
> 	- Test drivers
> 
> This way, one interested only on embedded devices can unselect
> everything but "Embedded devices (SoC)" option.
> 
> Distros for PC/Laptops can enable everything but 
> "Embedded devices (SoC)" and "Test drivers".
> 
> Users can select just what they want, without bothering with
> hundreds of options that he won't have any clue about their
> meanings.
> 
> Mauro Carvalho Chehab (20):
>   media: dvb-usb: auto-select CYPRESS_FIRMWARE
>   media: Kconfig: not all V4L2 platform drivers are for camera
>   media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
>   media: reorganize the drivers menu options
>   media: Kconfig: update the MEDIA_SUPPORT help message
>   media: Kconfig: use a sub-menu to select supported devices
>   media: Kconfig: add an option to filter in/out the embedded drivers
>   media: split test drivers from platform directory
>   media: Kconfig: make filtering devices optional
>   media: Kconfig: move CEC-specific options to cec/Kconfig
>   media: Kconfig: move comment to siano include
>   media: Kconfig: move DVB-specific options to dvb-core/Kconfig
>   media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
>   media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
>   media: Kconfig: move media controller core select to main Kconfig
>   media: Kconfig: better organize menu items
>   media: Kconfig: mode firewire comment to firewire/Kconfig
>   media: Kconfig: place all options under a sub-menu
>   media: Kconfig: move the position of sub-driver autoselection
>   media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
> 

There is a patch in linux-next (which I cannot find on lkml), which
breaks the build on s390x:

4be5e8648b0c287aefc6ac3f3a0b12c696054f43 is the first bad commit
commit 4be5e8648b0c287aefc6ac3f3a0b12c696054f43
Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Date:   Wed Apr 15 11:03:40 2020 +0200

    media: move CEC platform drivers to a separate directory

    As CEC support doesn't depend on MEDIA_SUPPORT, let's
    place the platform drivers outside the media menu.

    As a side effect, instead of depends on PCI, seco driver
    can select it (and DMI).

    Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>


[linux1@rhkvm01 linux]$ make -j4
scripts/kconfig/conf  --syncconfig Kconfig
drivers/pci/Kconfig:16:error: recursive dependency detected!
drivers/pci/Kconfig:16: symbol PCI is selected by VIDEO_SECO_CEC
drivers/media/cec/platform/Kconfig:100: symbol VIDEO_SECO_CEC depends on
MEDIA_CEC_SUPPORT
drivers/media/cec/Kconfig:27:   symbol MEDIA_CEC_SUPPORT default is
visible depending on MEDIA_SUPPORT_FILTER
drivers/media/Kconfig:25:       symbol MEDIA_SUPPORT_FILTER depends on
MEDIA_SUPPORT
drivers/media/Kconfig:12:       symbol MEDIA_SUPPORT depends on HAS_IOMEM
arch/s390/Kconfig:721:  symbol HAS_IOMEM default value contains PCI
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"

make[3]: *** [syncconfig] Error 1
make[2]: *** [syncconfig] Error 2
make[1]: *** [include/config/auto.conf.cmd] Error 2
make: *** [sub-make] Error 2



-- 
Thanks,

David / dhildenb


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

end of thread, other threads:[~2020-04-16  9:52 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-24 13:42 [PATCH v2 00/20] Reorganize media Kconfig Mauro Carvalho Chehab
2020-03-24 13:42 ` [PATCH v2 01/20] media: dvb-usb: auto-select CYPRESS_FIRMWARE Mauro Carvalho Chehab
2020-03-24 13:42 ` [PATCH v2 02/20] media: Kconfig: not all V4L2 platform drivers are for camera Mauro Carvalho Chehab
2020-03-24 13:42 ` [PATCH v2 03/20] media: pci: move VIDEO_PCI_SKELETON to a different Kconfig Mauro Carvalho Chehab
2020-03-24 13:42 ` [PATCH v2 04/20] media: reorganize the drivers menu options Mauro Carvalho Chehab
2020-03-24 13:42 ` [PATCH v2 05/20] media: Kconfig: update the MEDIA_SUPPORT help message Mauro Carvalho Chehab
2020-03-24 13:42 ` [PATCH v2 06/20] media: Kconfig: use a sub-menu to select supported devices Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 07/20] media: Kconfig: add an option to filter in/out the embedded drivers Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 08/20] media: split test drivers from platform directory Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 09/20] media: Kconfig: make filtering devices optional Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 10/20] media: Kconfig: move CEC-specific options to cec/Kconfig Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 11/20] media: Kconfig: move comment to siano include Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 12/20] media: Kconfig: move DVB-specific options to dvb-core/Kconfig Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 13/20] media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 14/20] media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 15/20] media: Kconfig: move media controller core select to main Kconfig Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 16/20] media: Kconfig: better organize menu items Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 17/20] media: Kconfig: mode firewire comment to firewire/Kconfig Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 18/20] media: Kconfig: place all options under a sub-menu Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 19/20] media: Kconfig: move the position of sub-driver autoselection Mauro Carvalho Chehab
2020-03-24 13:43 ` [PATCH v2 20/20] media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering Mauro Carvalho Chehab
2020-03-24 13:53 ` [PATCH v2 00/20] Reorganize media Kconfig Laurent Pinchart
2020-03-24 14:02   ` Mauro Carvalho Chehab
2020-03-24 13:58 ` Hans Verkuil
2020-03-24 14:27   ` Mauro Carvalho Chehab
2020-04-16  9:51 ` David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).