Re: [RFC PATCHv2 1/3] [media] media: reorganize the main Kconfig items

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

 



Em 28-05-2012 09:51, Hans Verkuil escreveu:
> 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.

Yes. Renaming it to MEDIA_VIDEO_SUPPORT makes sense. In this case, we can
make analog TV to depend on it.

> 
>> +
>> +	  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'

That makes sense if we make it dependent on MEDIA_VIDEO_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.

In this case, it is not just the tuner that it is enabled.

>> +
>> +	  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).

The thing is that "radio" is an ambiguous term inside the Kernel, as it
can mean wireless, bluetooth, etc.

> 
>> +
>> +	  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


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