Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c91f062 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB(7767): Move tuners to common/tuners



There were several issues in the past, caused by the hybrid tuner design, since
now, the same tuner can be used by drivers/media/dvb and drivers/media/video.

Kconfig items were rearranged, to split V4L/DVB core from their drivers.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 5fe95e0b
Loading
Loading
Loading
Loading
+43 −113
Original line number Diff line number Diff line
@@ -5,6 +5,12 @@
menu "Multimedia devices"
	depends on HAS_IOMEM

comment "Multimedia core support"

#
# V4L core and enabled API's
#

config VIDEO_DEV
	tristate "Video For Linux"
	---help---
@@ -58,135 +64,59 @@ config VIDEO_V4L1_COMPAT

	  If you are unsure as to whether this is required, answer Y.

config VIDEO_V4L2
	tristate
	depends on VIDEO_DEV && VIDEO_V4L2_COMMON
	default VIDEO_DEV && VIDEO_V4L2_COMMON

config VIDEO_V4L1
	tristate
	depends on VIDEO_DEV && VIDEO_V4L2_COMMON && VIDEO_ALLOW_V4L1
	default VIDEO_DEV && VIDEO_V4L2_COMMON && VIDEO_ALLOW_V4L1

source "drivers/media/video/Kconfig"

source "drivers/media/radio/Kconfig"

source "drivers/media/dvb/Kconfig"

source "drivers/media/common/Kconfig"
#
# DVB Core
#

config VIDEO_TUNER
	tristate
	depends on I2C
	select TUNER_XC2028 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_MT20XX if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TDA8290 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TEA5761 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TEA5767 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_SIMPLE if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TDA9887 if !VIDEO_TUNER_CUSTOMIZE

menuconfig VIDEO_TUNER_CUSTOMIZE
	bool "Customize analog tuner modules to build"
	depends on VIDEO_TUNER
config DVB_CORE
	tristate "DVB for Linux"
	depends on NET && INET
	select CRC32
	help
	  This allows the user to deselect tuner drivers unnecessary
	  for their hardware from the build. Use this option with care
	  as deselecting tuner drivers which are in fact necessary will
	  result in V4L devices which cannot be tuned due to lack of
	  driver support
	  Support Digital Video Broadcasting hardware.  Enable this if you
	  own a DVB adapter and want to use it or if you compile Linux for
	  a digital SetTopBox.

	  If unsure say N.

if VIDEO_TUNER_CUSTOMIZE
	  DVB core utility functions for device handling, software fallbacks etc.
	  Say Y when you have a DVB card and want to use it. Say Y if your want
	  to build your drivers outside the kernel, but need the DVB core. All
	  in-kernel drivers will select this automatically if needed.

config TUNER_XC2028
	tristate "XCeive xc2028/xc3028 tuners"
	depends on I2C && FW_LOADER
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the xc2028/xc3028 tuners.
	  API specs and user tools are available from <http://www.linuxtv.org/>.

config TUNER_MT20XX
	tristate "Microtune 2032 / 2050 tuners"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the MT2032 / MT2050 tuner.

config TUNER_TDA8290
	tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo"
	depends on I2C
	select DVB_TDA827X
	select DVB_TDA18271
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for Philips TDA8290+8275(a) tuner.
	  Please report problems regarding this driver to the LinuxDVB
	  mailing list.

config TUNER_TEA5761
	tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
	depends on I2C && EXPERIMENTAL
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the Philips TEA5761 radio tuner.

config TUNER_TEA5767
	tristate "TEA 5767 radio tuner"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the Philips TEA5767 radio tuner.

config TUNER_SIMPLE
	tristate "Simple tuner support"
	depends on I2C
	select TUNER_TDA9887
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for various simple tuners.
	  If unsure say N.

config TUNER_TDA9887
	tristate "TDA 9885/6/7 analog IF demodulator"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for Philips TDA9885/6/7
	  analog IF demodulator.
config VIDEO_MEDIA
	tristate
	default DVB_CORE || VIDEO_DEV
	depends on DVB_CORE || VIDEO_DEV

endif # VIDEO_TUNER_CUSTOMIZE
comment "Multimedia drivers"

config VIDEOBUF_GEN
	tristate
source "drivers/media/common/Kconfig"

config VIDEOBUF_DMA_SG
	depends on HAS_DMA
	select VIDEOBUF_GEN
	tristate
#
# Tuner drivers for DVB and V4L
#

config VIDEOBUF_VMALLOC
	select VIDEOBUF_GEN
	tristate
source "drivers/media/common/tuners/Kconfig"

config VIDEOBUF_DVB
	tristate
	select VIDEOBUF_GEN
	select VIDEOBUF_DMA_SG
#
# Video/Radio/Hybrid adapters
#

config VIDEO_BTCX
	tristate
source "drivers/media/video/Kconfig"

config VIDEO_IR_I2C
	tristate
source "drivers/media/radio/Kconfig"

config VIDEO_IR
	tristate
	depends on INPUT
	select VIDEO_IR_I2C if I2C
#
# DVB adapters
#

config VIDEO_TVEEPROM
	tristate
	depends on I2C
source "drivers/media/dvb/Kconfig"

config DAB
	boolean "DAB adapters"
+5 −5
Original line number Diff line number Diff line
@@ -2,10 +2,10 @@
# Makefile for the kernel multimedia device drivers.
#

obj-y := common/
obj-y += video/
obj-$(CONFIG_VIDEO_MEDIA) += common/

# Since hybrid devices are here, should be compiled if DVB and/or V4L
obj-$(CONFIG_VIDEO_MEDIA) += video/

obj-$(CONFIG_VIDEO_DEV) += radio/
obj-$(CONFIG_DVB_CORE)  += dvb/
ifeq ($(CONFIG_DVB_CORE),)
  obj-$(CONFIG_VIDEO_TUNER)  += dvb/frontends/
endif
+118 −0
Original line number Diff line number Diff line
config DVB_CORE_ATTACH
	bool "Load and attach frontend driver modules as needed"
	depends on DVB_CORE
	depends on MODULES
	help
	  Remove the static dependency of DVB card drivers on all
	  frontend modules for all possible card variants. Instead,
	  allow the card drivers to only load the frontend modules
	  they require. This saves several KBytes of memory.

	  Note: You will need module-init-tools v3.2 or later for this feature.

	  If unsure say Y.

config VIDEO_TUNER
	tristate
	default DVB_CORE || VIDEO_DEV
	depends on DVB_CORE || VIDEO_DEV
	select TUNER_XC2028 if !VIDEO_TUNER_CUSTOMIZE
	select DVB_TUNER_XC5000 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_MT20XX if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TDA8290 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TEA5761 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TEA5767 if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_SIMPLE if !VIDEO_TUNER_CUSTOMIZE
	select TUNER_TDA9887 if !VIDEO_TUNER_CUSTOMIZE

menuconfig VIDEO_TUNER_CUSTOMIZE
	bool "Customize analog and hybrid tuner modules to build"
	depends on VIDEO_TUNER
	help
	  This allows the user to deselect tuner drivers unnecessary
	  for their hardware from the build. Use this option with care
	  as deselecting tuner drivers which are in fact necessary will
	  result in V4L/DVB devices which cannot be tuned due to lack of
	  driver support

	  If unsure say N.

if VIDEO_TUNER_CUSTOMIZE

config TUNER_SIMPLE
	tristate "Simple tuner support"
	depends on I2C
	select TUNER_TDA9887
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for various simple tuners.

config TUNER_TDA8290
	tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo"
	depends on I2C
	select DVB_TDA827X
	select DVB_TDA18271
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for Philips TDA8290+8275(a) tuner.

config DVB_TDA827X
	tristate "Philips TDA827X silicon tuner"
	depends on DVB_CORE && I2C
	default m if DVB_FE_CUSTOMISE
	help
	  A DVB-T silicon tuner module. Say Y when you want to support this tuner.

config DVB_TDA18271
	tristate "NXP TDA18271 silicon tuner"
	depends on I2C
	default m if DVB_FE_CUSTOMISE
	help
	  A silicon tuner module. Say Y when you want to support this tuner.

config TUNER_TDA9887
	tristate "TDA 9885/6/7 analog IF demodulator"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for Philips TDA9885/6/7
	  analog IF demodulator.

config TUNER_TEA5761
	tristate "TEA 5761 radio tuner (EXPERIMENTAL)"
	depends on I2C && EXPERIMENTAL
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the Philips TEA5761 radio tuner.

config TUNER_TEA5767
	tristate "TEA 5767 radio tuner"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the Philips TEA5767 radio tuner.

config TUNER_MT20XX
	tristate "Microtune 2032 / 2050 tuners"
	depends on I2C
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the MT2032 / MT2050 tuner.

config TUNER_XC2028
	tristate "XCeive xc2028/xc3028 tuners"
	depends on I2C && FW_LOADER
	default m if VIDEO_TUNER_CUSTOMIZE
	help
	  Say Y here to include support for the xc2028/xc3028 tuners.

config DVB_TUNER_XC5000
	tristate "Xceive XC5000 silicon tuner"
	depends on I2C
	default m if DVB_FE_CUSTOMISE
	help
	  A driver for the silicon tuner XC5000 from Xceive.
	  This device is only used inside a SiP called togther with a
	  demodulator for now.

endif # VIDEO_TUNER_CUSTOMIZE
+21 −0
Original line number Diff line number Diff line
#
# Makefile for common V4L/DVB tuners
#

tda18271-objs := tda18271-maps.o tda18271-common.o tda18271-fe.o

obj-$(CONFIG_TUNER_XC2028) += tuner-xc2028.o
obj-$(CONFIG_TUNER_SIMPLE) += tuner-simple.o
# tuner-types will be merged into tuner-simple, in the future
obj-$(CONFIG_TUNER_SIMPLE) += tuner-types.o
obj-$(CONFIG_TUNER_MT20XX) += mt20xx.o
obj-$(CONFIG_TUNER_TDA8290) += tda8290.o
obj-$(CONFIG_TUNER_TEA5767) += tea5767.o
obj-$(CONFIG_TUNER_TEA5761) += tea5761.o
obj-$(CONFIG_TUNER_TDA9887) += tda9887.o
obj-$(CONFIG_DVB_TDA827X) += tda827x.o
obj-$(CONFIG_DVB_TDA18271) += tda18271.o
obj-$(CONFIG_DVB_TUNER_XC5000) += xc5000.o

EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
Loading