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

Commit 8ae1fe2a authored by Trent Piepho's avatar Trent Piepho Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (6508): ttpci: Rework Kconfig menus and Makefile

The ttpci Kconfig file has bugs that cause it to fail in certain Kconfig
situations.  The basic problem is that it selects certain drivers, but does
not depend on the dependencies of those drivers.

See http://article.gmane.org/gmane.comp.video.video4linux/35072



Using the Kconfig file also has some annoyances.  For instance one can't turn
off AV7110 support unless you go down several options and first turn off
budget-patch support.  Normally user selectable drivers are not forced on like
this.

The "AV7110 cards with Budget Patch" option is disabled if "Budget cards"
isn't on.  Normally a driver appears nested under a driver it depends on, but
since drivers that don't depend on "Budget cards" are between the two options,
the config programs can't display the tree correctly.

The Makefile has an issue too.  Some modules, ttpci-eeprom and budget-core,
appear in the Makefile under several different config symbols.  If more than
one of these symbols is on, they will get added the to list of objects
multiple times.  The normal convention is to have a config symbol just the
common object(s) and have the users of the that object either depend on or
select that config symbol.

This patch fixes all these issues.  ttpci-eepom is under a new config symbol,
and so is the budget-core module.  The four different budget card types appear
as sub-drivers under a main "SAA7146 DVB cards" option.  Turning on
budget-patch doesn't force AV7110.  Drivers using SAA7146_VV have the
necessary VIDEO_DEV dependency, so that it isn't possible to select SAA7146_VV
without V4L being on.

Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 00405f8f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
config VIDEO_SAA7146
config VIDEO_SAA7146
	tristate
	tristate
	depends on I2C
	depends on I2C && PCI


config VIDEO_SAA7146_VV
config VIDEO_SAA7146_VV
	tristate
	tristate
+25 −10
Original line number Original line Diff line number Diff line
config TTPCI_EEPROM
	tristate
	default n

config DVB_AV7110
config DVB_AV7110
	tristate "AV7110 cards"
	tristate "AV7110 cards"
	depends on DVB_CORE && PCI && I2C
	depends on DVB_CORE && PCI && I2C
	select FW_LOADER if !DVB_AV7110_FIRMWARE
	select FW_LOADER if !DVB_AV7110_FIRMWARE
	select TTPCI_EEPROM
	select VIDEO_SAA7146_VV
	select VIDEO_SAA7146_VV
	depends on VIDEO_DEV	# dependencies of VIDEO_SAA7146_VV
	select DVB_VES1820 if !DVB_FE_CUSTOMISE
	select DVB_VES1820 if !DVB_FE_CUSTOMISE
	select DVB_VES1X93 if !DVB_FE_CUSTOMISE
	select DVB_VES1X93 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
@@ -57,10 +63,19 @@ config DVB_AV7110_OSD


	  All other people say N.
	  All other people say N.


config DVB_BUDGET
config DVB_BUDGET_CORE
	tristate "Budget cards"
	tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)"
	depends on DVB_CORE && PCI && I2C
	depends on DVB_CORE && PCI && I2C
	select VIDEO_SAA7146
	select VIDEO_SAA7146
	select TTPCI_EEPROM
	help
	  Support for simple SAA7146 based DVB cards
	  (so called Budget- or Nova-PCI cards) without onboard
	  MPEG2 decoder.

config DVB_BUDGET
	tristate "Budget cards"
	depends on DVB_BUDGET_CORE && I2C
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_VES1X93 if !DVB_FE_CUSTOMISE
	select DVB_VES1X93 if !DVB_FE_CUSTOMISE
	select DVB_VES1820 if !DVB_FE_CUSTOMISE
	select DVB_VES1820 if !DVB_FE_CUSTOMISE
@@ -73,9 +88,9 @@ config DVB_BUDGET
	select DVB_TDA826X if !DVB_FE_CUSTOMISE
	select DVB_TDA826X if !DVB_FE_CUSTOMISE
	select DVB_LNBP21 if !DVB_FE_CUSTOMISE
	select DVB_LNBP21 if !DVB_FE_CUSTOMISE
	help
	help
	  Support for simple SAA7146 based DVB cards
	  Support for simple SAA7146 based DVB cards (so called Budget-
	  (so called Budget- or Nova-PCI cards) without onboard
	  or Nova-PCI cards) without onboard MPEG2 decoder, and without
	  MPEG2 decoder.
	  analog inputs or an onboard Common Interface connector.


	  Say Y if you own such a card and want to use it.
	  Say Y if you own such a card and want to use it.


@@ -84,8 +99,7 @@ config DVB_BUDGET


config DVB_BUDGET_CI
config DVB_BUDGET_CI
	tristate "Budget cards with onboard CI connector"
	tristate "Budget cards with onboard CI connector"
	depends on DVB_CORE && PCI && I2C && INPUT
	depends on DVB_BUDGET_CORE && I2C
	select VIDEO_SAA7146
	select DVB_STV0297 if !DVB_FE_CUSTOMISE
	select DVB_STV0297 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_TDA1004X if !DVB_FE_CUSTOMISE
	select DVB_TDA1004X if !DVB_FE_CUSTOMISE
@@ -106,8 +120,9 @@ config DVB_BUDGET_CI


config DVB_BUDGET_AV
config DVB_BUDGET_AV
	tristate "Budget cards with analog video inputs"
	tristate "Budget cards with analog video inputs"
	depends on DVB_CORE && PCI && I2C
	depends on DVB_BUDGET_CORE && I2C
	select VIDEO_SAA7146_VV
	select VIDEO_SAA7146_VV
	depends on VIDEO_DEV	# dependencies of VIDEO_SAA7146_VV
	select DVB_PLL if !DVB_FE_CUSTOMISE
	select DVB_PLL if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_TDA1004X if !DVB_FE_CUSTOMISE
	select DVB_TDA1004X if !DVB_FE_CUSTOMISE
@@ -127,8 +142,8 @@ config DVB_BUDGET_AV


config DVB_BUDGET_PATCH
config DVB_BUDGET_PATCH
	tristate "AV7110 cards with Budget Patch"
	tristate "AV7110 cards with Budget Patch"
	depends on DVB_CORE && DVB_BUDGET
	depends on DVB_BUDGET_CORE && I2C
	select DVB_AV7110
	depends on DVB_AV7110
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_STV0299 if !DVB_FE_CUSTOMISE
	select DVB_VES1X93 if !DVB_FE_CUSTOMISE
	select DVB_VES1X93 if !DVB_FE_CUSTOMISE
	select DVB_TDA8083 if !DVB_FE_CUSTOMISE
	select DVB_TDA8083 if !DVB_FE_CUSTOMISE
+7 −5
Original line number Original line Diff line number Diff line
@@ -5,11 +5,13 @@


dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o av7110_ir.o
dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o av7110_ir.o


obj-$(CONFIG_DVB_BUDGET) += budget-core.o budget.o ttpci-eeprom.o
obj-$(CONFIG_TTPCI_EEPROM) += ttpci-eeprom.o
obj-$(CONFIG_DVB_BUDGET_AV) += budget-core.o budget-av.o ttpci-eeprom.o
obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o
obj-$(CONFIG_DVB_BUDGET_CI) += budget-core.o budget-ci.o ttpci-eeprom.o
obj-$(CONFIG_DVB_BUDGET) += budget.o
obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-core.o budget-patch.o ttpci-eeprom.o
obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.o
obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ttpci-eeprom.o
obj-$(CONFIG_DVB_BUDGET_CI) += budget-ci.o
obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o
obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o


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