Commit 9ab1ba38 authored by Trent Piepho's avatar Trent Piepho Committed by Mauro Carvalho Chehab

V4L/DVB (5361): Dvb-pll: Fix Kconfig files and allow dvb-pll to be optional

A number of drivers selected DVB_PLL when they did not need it, and some
that did need it did not select it.

The DVB_PLL option is given a name and help text, so that it will show up
in the config menu.  DVB_PLL support can be turned on if an out-of-tree
driver needs it.

The standard dvb fe customization support is added to dvb-pll.h.  Since
all modules which select DVB_PLL do so unconditionally, it is not
possible to turn dvb-pll off when an enabled module selects it, unlike
most of the other frontend/tuner drivers.  This is because the users of
dvb-pll have static references to dvb-pll symbols other than the attach
function.  If these references are removed, then dvb-pll will be
disablable as the other frontend/tuner drivers are.
Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 982dd1bd
...@@ -33,6 +33,7 @@ config DVB_USB_A800 ...@@ -33,6 +33,7 @@ config DVB_USB_A800
config DVB_USB_DIBUSB_MB config DVB_USB_DIBUSB_MB
tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)"
depends on DVB_USB depends on DVB_USB
select DVB_PLL
select DVB_DIB3000MB select DVB_DIB3000MB
select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE
help help
...@@ -88,6 +89,7 @@ config DVB_USB_DIB0700 ...@@ -88,6 +89,7 @@ config DVB_USB_DIB0700
config DVB_USB_UMT_010 config DVB_USB_UMT_010
tristate "HanfTek UMT-010 DVB-T USB2.0 support" tristate "HanfTek UMT-010 DVB-T USB2.0 support"
depends on DVB_USB depends on DVB_USB
select DVB_PLL
select DVB_DIB3000MC select DVB_DIB3000MC
select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE
help help
...@@ -96,6 +98,7 @@ config DVB_USB_UMT_010 ...@@ -96,6 +98,7 @@ config DVB_USB_UMT_010
config DVB_USB_CXUSB config DVB_USB_CXUSB
tristate "Conexant USB2.0 hybrid reference design support" tristate "Conexant USB2.0 hybrid reference design support"
depends on DVB_USB depends on DVB_USB
select DVB_PLL
select DVB_CX22702 if !DVB_FE_CUSTOMISE select DVB_CX22702 if !DVB_FE_CUSTOMISE
select DVB_LGDT330X if !DVB_FE_CUSTOMISE select DVB_LGDT330X if !DVB_FE_CUSTOMISE
select DVB_TUNER_LGH06XF if !DVB_FE_CUSTOMISE select DVB_TUNER_LGH06XF if !DVB_FE_CUSTOMISE
...@@ -140,6 +143,7 @@ config DVB_USB_AU6610 ...@@ -140,6 +143,7 @@ config DVB_USB_AU6610
config DVB_USB_DIGITV config DVB_USB_DIGITV
tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support" tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support"
depends on DVB_USB depends on DVB_USB
select DVB_PLL
select DVB_NXT6000 if !DVB_FE_CUSTOMISE select DVB_NXT6000 if !DVB_FE_CUSTOMISE
select DVB_MT352 if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE
help help
......
...@@ -280,8 +280,12 @@ comment "Tuners/PLL support" ...@@ -280,8 +280,12 @@ comment "Tuners/PLL support"
depends on DVB_CORE depends on DVB_CORE
config DVB_PLL config DVB_PLL
tristate tristate "Generic I2C PLL based tuners"
depends on DVB_CORE && I2C depends on DVB_CORE && I2C
default m if DVB_FE_CUSTOMISE
help
This module driver a number of tuners based on PLL chips with a
common I2C interface. Say Y when you want to support these tuners.
config DVB_TDA826X config DVB_TDA826X
tristate "Philips TDA826X silicon tuner" tristate "Philips TDA826X silicon tuner"
......
...@@ -59,9 +59,20 @@ extern int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf, ...@@ -59,9 +59,20 @@ extern int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf,
* @param desc dvb_pll_desc to use. * @param desc dvb_pll_desc to use.
* @return Frontend pointer on success, NULL on failure * @return Frontend pointer on success, NULL on failure
*/ */
#if defined(CONFIG_DVB_PLL) || (defined(CONFIG_DVB_PLL_MODULE) && defined(MODULE))
extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe,
int pll_addr, int pll_addr,
struct i2c_adapter *i2c, struct i2c_adapter *i2c,
struct dvb_pll_desc *desc); struct dvb_pll_desc *desc);
#else
static inline struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe,
int pll_addr,
struct i2c_adapter *i2c,
struct dvb_pll_desc *desc)
{
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
return NULL;
}
#endif
#endif #endif
...@@ -2,7 +2,6 @@ config DVB_PLUTO2 ...@@ -2,7 +2,6 @@ config DVB_PLUTO2
tristate "Pluto2 cards" tristate "Pluto2 cards"
depends on DVB_CORE && PCI && I2C depends on DVB_CORE && PCI && I2C
select I2C_ALGOBIT select I2C_ALGOBIT
select DVB_PLL
select DVB_TDA1004X select DVB_TDA1004X
help help
Support for PCI cards based on the Pluto2 FPGA like the Satelco Support for PCI cards based on the Pluto2 FPGA like the Satelco
......
...@@ -3,7 +3,6 @@ config DVB_AV7110 ...@@ -3,7 +3,6 @@ config DVB_AV7110
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select FW_LOADER if !DVB_AV7110_FIRMWARE select FW_LOADER if !DVB_AV7110_FIRMWARE
select VIDEO_SAA7146_VV select VIDEO_SAA7146_VV
select DVB_PLL
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
...@@ -62,7 +61,6 @@ config DVB_BUDGET ...@@ -62,7 +61,6 @@ config DVB_BUDGET
tristate "Budget cards" tristate "Budget cards"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146 select VIDEO_SAA7146
select DVB_PLL
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
...@@ -87,7 +85,6 @@ config DVB_BUDGET_CI ...@@ -87,7 +85,6 @@ config DVB_BUDGET_CI
tristate "Budget cards with onboard CI connector" tristate "Budget cards with onboard CI connector"
depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
select VIDEO_SAA7146 select VIDEO_SAA7146
select DVB_PLL
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
...@@ -130,7 +127,6 @@ config DVB_BUDGET_PATCH ...@@ -130,7 +127,6 @@ config DVB_BUDGET_PATCH
tristate "AV7110 cards with Budget Patch" tristate "AV7110 cards with Budget Patch"
depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1 depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1
select DVB_AV7110 select DVB_AV7110
select DVB_PLL
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
......
config DVB_TTUSB_BUDGET config DVB_TTUSB_BUDGET
tristate "Technotrend/Hauppauge Nova-USB devices" tristate "Technotrend/Hauppauge Nova-USB devices"
depends on DVB_CORE && USB && I2C depends on DVB_CORE && USB && I2C
select DVB_PLL
select DVB_CX22700 if !DVB_FE_CUSTOMISE select DVB_CX22700 if !DVB_FE_CUSTOMISE
select DVB_TDA1004X if !DVB_FE_CUSTOMISE select DVB_TDA1004X if !DVB_FE_CUSTOMISE
select DVB_VES1820 if !DVB_FE_CUSTOMISE select DVB_VES1820 if !DVB_FE_CUSTOMISE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment