On Mon May 28 2012 14:17:47 Mauro Carvalho Chehab wrote: > Change the main items to: > > <m> Multimedia support ---> > [ ] Cameras/video grabbers support > [ ] Analog TV support > [ ] Digital TV support > [ ] AM/FM radio receivers/transmitters support > [ ] Remote Controller support > > This provides an interface that is clearer to end users that > are compiling the Kernel, and will allow the building system > to automatically unselect drivers for unused functions. > > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > --- > drivers/media/Kconfig | 109 +++++++++++++++++++++++----------- > drivers/media/common/tuners/Kconfig | 1 + > drivers/media/dvb/frontends/Kconfig | 1 + > drivers/media/rc/Kconfig | 29 ++++----- > 4 files changed, 89 insertions(+), 51 deletions(-) > > diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig > index 9575db4..323b2f0 100644 > --- a/drivers/media/Kconfig > +++ b/drivers/media/Kconfig > @@ -6,20 +6,82 @@ menuconfig MEDIA_SUPPORT > tristate "Multimedia support" > depends on HAS_IOMEM > help > - If you want to use Video for Linux, DVB for Linux, or DAB adapters, > + If you want to use Webcams, Video grabber devices and/or TV devices > enable this option and other options below. > + Additional info and docs are available on the web at > + <http://linuxtv.org> > > if MEDIA_SUPPORT > > comment "Multimedia core support" > > # > +# Multimedia support - automatically enable V4L2 and DVB core > +# > +config MEDIA_CAMERA_SUPPORT > + bool "Cameras/video grabbers support" > + ---help--- > + Enable support for webcams and video grabbers. And memory-to-memory devices, and video output devices. Perhaps this should be called MEDIA_VIDEO_SUPPORT? It really refers to any video device that does not have a tuner, right? I find it really strange to have a e.g. HDMI video grabber depend on MEDIA_CAMERA_SUPPORT. > + > + Say Y when you have a webcam or a video capture grabber board. > + > +config MEDIA_ANALOG_TV_SUPPORT > + bool "Analog TV support" > + ---help--- > + Enable analog TV support. I still prefer to see the term 'tuner' be used explicitly: MEDIA_ANALOG_TUNER_SUPPORT and 'Analog TV tuner support' > + > + Say Y when you have a TV board with analog support or with a > + hybrid analog/digital TV chipset. > + > + Note: There are several DVB cards that are based on chips that > + support both analog and digital TV. Disabling this option > + will disable support for them. > + > +config MEDIA_DIGITAL_TV_SUPPORT > + bool "Digital TV support" > + ---help--- > + Enable digital TV support. Ditto. > + > + Say Y when you have a board with digital support or a board with > + hybrid digital TV and analog TV. > + > +config MEDIA_RADIO_SUPPORT > + bool "AM/FM radio receivers/transmitters support" > + ---help--- > + Enable AM/FM radio support. Just drop the 'AM/FM' part. We may get other devices that support other bands as well (I know they exist, and one is actually on its way to me). > + > + Additional info and docs are available on the web at > + <http://linuxtv.org> > + > + Say Y when you have a board with radio support. > + > + Note: There are several TV cards that are based on chips that > + support radio reception. Disabling this option will > + disable support for them. The remainder of this patch looks good to me. Regards, Hans > + > +menuconfig MEDIA_RC_SUPPORT > + bool "Remote Controller support" > + depends on INPUT > + ---help--- > + Enable support for Remote Controllers on Linux. This is > + needed in order to support several video capture adapters, > + standalone IR receivers/transmitters, and RF receivers. > + > + Enable this option if you have a video capture board even > + if you don't need IR, as otherwise, you may not be able to > + compile the driver for your adapter. > + > + Say Y when you have a TV or an IR device. > + > +# > # Media controller > +# Selectable only for webcam/grabbers, as other drivers don't use it > # > > config MEDIA_CONTROLLER > bool "Media Controller API (EXPERIMENTAL)" > depends on EXPERIMENTAL > + depends on MEDIA_CAMERA_SUPPORT > ---help--- > Enable the media controller API used to query media devices internal > topology and configure it dynamically. > @@ -27,26 +89,15 @@ config MEDIA_CONTROLLER > This API is mostly used by camera interfaces in embedded platforms. > > # > -# V4L core and enabled API's > +# Video4Linux support > +# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected > # > > config VIDEO_DEV > - tristate "Video For Linux" > - ---help--- > - V4L core support for video capture and overlay devices, webcams and > - AM/FM radio cards. > - > - This kernel includes support for the new Video for Linux Two API, > - (V4L2). > - > - Additional info and docs are available on the web at > - <http://linuxtv.org> > - > - Documentation for V4L2 is also available on the web at > - <http://bytesex.org/v4l/>. > - > - To compile this driver as a module, choose M here: the > - module will be called videodev. > + tristate > + depends on MEDIA_SUPPORT > + depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT > + default y > > config VIDEO_V4L2_COMMON > tristate > @@ -64,25 +115,15 @@ config VIDEO_V4L2_SUBDEV_API > > # > # DVB Core > +# Only enables if one of DTV is selected > # > > config DVB_CORE > - tristate "DVB for Linux" > + tristate > + depends on MEDIA_SUPPORT > + depends on MEDIA_DIGITAL_TV_SUPPORT > + default y > select CRC32 > - help > - DVB core utility functions for device handling, software fallbacks etc. > - > - Enable this if you own a DVB/ATSC adapter and want to use it or if > - you compile Linux for a digital SetTopBox. > - > - Say Y when you have a DVB or an ATSC card and want to use it. > - > - API specs and user tools are available from <http://www.linuxtv.org/>. > - > - Please report problems regarding this support to the LinuxDVB > - mailing list. > - > - If unsure say N. > > config DVB_NET > bool "DVB Network Support" > @@ -101,8 +142,6 @@ config VIDEO_MEDIA > tristate > default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV) > > -comment "Multimedia drivers" > - > source "drivers/media/common/Kconfig" > source "drivers/media/rc/Kconfig" > > diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig > index bbf4945..16ee1a4 100644 > --- a/drivers/media/common/tuners/Kconfig > +++ b/drivers/media/common/tuners/Kconfig > @@ -2,6 +2,7 @@ config MEDIA_ATTACH > bool "Load and attach frontend and tuner driver modules as needed" > depends on VIDEO_MEDIA > depends on MODULES > + default y if !EXPERT > help > Remove the static dependency of DVB card drivers on all > frontend modules for all possible card variants. Instead, > diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig > index b98ebb2..6d3c2f7 100644 > --- a/drivers/media/dvb/frontends/Kconfig > +++ b/drivers/media/dvb/frontends/Kconfig > @@ -1,6 +1,7 @@ > config DVB_FE_CUSTOMISE > bool "Customise the frontend modules to build" > depends on DVB_CORE > + depends on EXPERT > default y if EXPERT > help > This allows the user to select/deselect frontend drivers for their > diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig > index f97eeb8..d2655f1 100644 > --- a/drivers/media/rc/Kconfig > +++ b/drivers/media/rc/Kconfig > @@ -1,21 +1,12 @@ > -menuconfig RC_CORE > - tristate "Remote Controller adapters" > +config RC_CORE > + tristate > + depends on MEDIA_RC_SUPPORT > depends on INPUT > - default INPUT > - ---help--- > - Enable support for Remote Controllers on Linux. This is > - needed in order to support several video capture adapters, > - standalone IR receivers/transmitters, and RF receivers. > - > - Enable this option if you have a video capture board even > - if you don't need IR, as otherwise, you may not be able to > - compile the driver for your adapter. > - > -if RC_CORE > + default y > > config LIRC > - tristate > - default y > + tristate "LIRC interface driver" > + depends on RC_CORE > > ---help--- > Enable this option to build the Linux Infrared Remote > @@ -109,6 +100,12 @@ config IR_MCE_KBD_DECODER > Windows Media Center Edition, which you would like to use with > a raw IR receiver in your system. > > +menuconfig RC_DEVICES > + bool "Remote Controller devices" > + depends on RC_CORE > + > +if RC_DEVICES > + > config IR_LIRC_CODEC > tristate "Enable IR to LIRC bridge" > depends on RC_CORE > @@ -276,4 +273,4 @@ config IR_GPIO_CIR > To compile this driver as a module, choose M here: the module will > be called gpio-ir-recv. > > -endif #RC_CORE > +endif #RC_DEVICES > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html