+config TTPCI_EEPROM
+       tristate
+       default n
+
 config DVB_AV7110
        tristate "AV7110 cards"
        depends on DVB_CORE && PCI && I2C
        select FW_LOADER if !DVB_AV7110_FIRMWARE
+       select TTPCI_EEPROM
        select VIDEO_SAA7146_VV
+       depends on VIDEO_DEV    # dependencies of VIDEO_SAA7146_VV
        select DVB_VES1820 if !DVB_FE_CUSTOMISE
        select DVB_VES1X93 if !DVB_FE_CUSTOMISE
        select DVB_STV0299 if !DVB_FE_CUSTOMISE
 
          All other people say N.
 
-config DVB_BUDGET
-       tristate "Budget cards"
+config DVB_BUDGET_CORE
+       tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)"
        depends on DVB_CORE && PCI && I2C
        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_VES1X93 if !DVB_FE_CUSTOMISE
        select DVB_VES1820 if !DVB_FE_CUSTOMISE
        select DVB_TDA826X if !DVB_FE_CUSTOMISE
        select DVB_LNBP21 if !DVB_FE_CUSTOMISE
        help
-         Support for simple SAA7146 based DVB cards
-         (so called Budget- or Nova-PCI cards) without onboard
-         MPEG2 decoder.
+         Support for simple SAA7146 based DVB cards (so called Budget-
+         or Nova-PCI cards) without onboard MPEG2 decoder, and without
+         analog inputs or an onboard Common Interface connector.
 
          Say Y if you own such a card and want to use it.
 
 
 config DVB_BUDGET_CI
        tristate "Budget cards with onboard CI connector"
-       depends on DVB_CORE && PCI && I2C && INPUT
-       select VIDEO_SAA7146
+       depends on DVB_BUDGET_CORE && I2C
        select DVB_STV0297 if !DVB_FE_CUSTOMISE
        select DVB_STV0299 if !DVB_FE_CUSTOMISE
        select DVB_TDA1004X if !DVB_FE_CUSTOMISE
 
 config DVB_BUDGET_AV
        tristate "Budget cards with analog video inputs"
-       depends on DVB_CORE && PCI && I2C
+       depends on DVB_BUDGET_CORE && I2C
        select VIDEO_SAA7146_VV
+       depends on VIDEO_DEV    # dependencies of VIDEO_SAA7146_VV
        select DVB_PLL if !DVB_FE_CUSTOMISE
        select DVB_STV0299 if !DVB_FE_CUSTOMISE
        select DVB_TDA1004X if !DVB_FE_CUSTOMISE
 
 config DVB_BUDGET_PATCH
        tristate "AV7110 cards with Budget Patch"
-       depends on DVB_CORE && DVB_BUDGET
-       select DVB_AV7110
+       depends on DVB_BUDGET_CORE && I2C
+       depends on DVB_AV7110
        select DVB_STV0299 if !DVB_FE_CUSTOMISE
        select DVB_VES1X93 if !DVB_FE_CUSTOMISE
        select DVB_TDA8083 if !DVB_FE_CUSTOMISE
 
 
 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_DVB_BUDGET_AV) += budget-core.o budget-av.o ttpci-eeprom.o
-obj-$(CONFIG_DVB_BUDGET_CI) += budget-core.o budget-ci.o ttpci-eeprom.o
-obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-core.o budget-patch.o ttpci-eeprom.o
-obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ttpci-eeprom.o
+obj-$(CONFIG_TTPCI_EEPROM) += ttpci-eeprom.o
+obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o
+obj-$(CONFIG_DVB_BUDGET) += budget.o
+obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.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/