aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2007-04-27 11:31:28 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 14:44:01 -0400
commit9ab1ba38e6a25a480234f196aa26239e28ac2407 (patch)
tree9f09262a37a5bc3a7010d837a427daa05f69e3c6
parent982dd1bdaab39185ccd55cafd3c099b7fee5f2dd (diff)
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: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/dvb/dvb-usb/Kconfig4
-rw-r--r--drivers/media/dvb/frontends/Kconfig6
-rw-r--r--drivers/media/dvb/frontends/dvb-pll.h11
-rw-r--r--drivers/media/dvb/pluto2/Kconfig1
-rw-r--r--drivers/media/dvb/ttpci/Kconfig4
-rw-r--r--drivers/media/dvb/ttusb-budget/Kconfig1
6 files changed, 20 insertions, 7 deletions
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index 80f67a51b908..cb727b812692 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -33,6 +33,7 @@ config DVB_USB_A800
33config DVB_USB_DIBUSB_MB 33config DVB_USB_DIBUSB_MB
34 tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" 34 tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)"
35 depends on DVB_USB 35 depends on DVB_USB
36 select DVB_PLL
36 select DVB_DIB3000MB 37 select DVB_DIB3000MB
37 select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE 38 select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE
38 help 39 help
@@ -88,6 +89,7 @@ config DVB_USB_DIB0700
88config DVB_USB_UMT_010 89config DVB_USB_UMT_010
89 tristate "HanfTek UMT-010 DVB-T USB2.0 support" 90 tristate "HanfTek UMT-010 DVB-T USB2.0 support"
90 depends on DVB_USB 91 depends on DVB_USB
92 select DVB_PLL
91 select DVB_DIB3000MC 93 select DVB_DIB3000MC
92 select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE 94 select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE
93 help 95 help
@@ -96,6 +98,7 @@ config DVB_USB_UMT_010
96config DVB_USB_CXUSB 98config DVB_USB_CXUSB
97 tristate "Conexant USB2.0 hybrid reference design support" 99 tristate "Conexant USB2.0 hybrid reference design support"
98 depends on DVB_USB 100 depends on DVB_USB
101 select DVB_PLL
99 select DVB_CX22702 if !DVB_FE_CUSTOMISE 102 select DVB_CX22702 if !DVB_FE_CUSTOMISE
100 select DVB_LGDT330X if !DVB_FE_CUSTOMISE 103 select DVB_LGDT330X if !DVB_FE_CUSTOMISE
101 select DVB_TUNER_LGH06XF if !DVB_FE_CUSTOMISE 104 select DVB_TUNER_LGH06XF if !DVB_FE_CUSTOMISE
@@ -140,6 +143,7 @@ config DVB_USB_AU6610
140config DVB_USB_DIGITV 143config DVB_USB_DIGITV
141 tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support" 144 tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support"
142 depends on DVB_USB 145 depends on DVB_USB
146 select DVB_PLL
143 select DVB_NXT6000 if !DVB_FE_CUSTOMISE 147 select DVB_NXT6000 if !DVB_FE_CUSTOMISE
144 select DVB_MT352 if !DVB_FE_CUSTOMISE 148 select DVB_MT352 if !DVB_FE_CUSTOMISE
145 help 149 help
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index a205e0b45a54..b255cbe3a99d 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -280,8 +280,12 @@ comment "Tuners/PLL support"
280 depends on DVB_CORE 280 depends on DVB_CORE
281 281
282config DVB_PLL 282config DVB_PLL
283 tristate 283 tristate "Generic I2C PLL based tuners"
284 depends on DVB_CORE && I2C 284 depends on DVB_CORE && I2C
285 default m if DVB_FE_CUSTOMISE
286 help
287 This module driver a number of tuners based on PLL chips with a
288 common I2C interface. Say Y when you want to support these tuners.
285 289
286config DVB_TDA826X 290config DVB_TDA826X
287 tristate "Philips TDA826X silicon tuner" 291 tristate "Philips TDA826X silicon tuner"
diff --git a/drivers/media/dvb/frontends/dvb-pll.h b/drivers/media/dvb/frontends/dvb-pll.h
index 681186a5e5eb..a5bd928d4202 100644
--- a/drivers/media/dvb/frontends/dvb-pll.h
+++ b/drivers/media/dvb/frontends/dvb-pll.h
@@ -59,9 +59,20 @@ extern int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf,
59 * @param desc dvb_pll_desc to use. 59 * @param desc dvb_pll_desc to use.
60 * @return Frontend pointer on success, NULL on failure 60 * @return Frontend pointer on success, NULL on failure
61 */ 61 */
62#if defined(CONFIG_DVB_PLL) || (defined(CONFIG_DVB_PLL_MODULE) && defined(MODULE))
62extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, 63extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe,
63 int pll_addr, 64 int pll_addr,
64 struct i2c_adapter *i2c, 65 struct i2c_adapter *i2c,
65 struct dvb_pll_desc *desc); 66 struct dvb_pll_desc *desc);
67#else
68static inline struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe,
69 int pll_addr,
70 struct i2c_adapter *i2c,
71 struct dvb_pll_desc *desc)
72{
73 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
74 return NULL;
75}
76#endif
66 77
67#endif 78#endif
diff --git a/drivers/media/dvb/pluto2/Kconfig b/drivers/media/dvb/pluto2/Kconfig
index 9b84b1bdc313..7d8e6e87bdbb 100644
--- a/drivers/media/dvb/pluto2/Kconfig
+++ b/drivers/media/dvb/pluto2/Kconfig
@@ -2,7 +2,6 @@ config DVB_PLUTO2
2 tristate "Pluto2 cards" 2 tristate "Pluto2 cards"
3 depends on DVB_CORE && PCI && I2C 3 depends on DVB_CORE && PCI && I2C
4 select I2C_ALGOBIT 4 select I2C_ALGOBIT
5 select DVB_PLL
6 select DVB_TDA1004X 5 select DVB_TDA1004X
7 help 6 help
8 Support for PCI cards based on the Pluto2 FPGA like the Satelco 7 Support for PCI cards based on the Pluto2 FPGA like the Satelco
diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig
index eec7ccf41f8b..3cd319ff0e68 100644
--- a/drivers/media/dvb/ttpci/Kconfig
+++ b/drivers/media/dvb/ttpci/Kconfig
@@ -3,7 +3,6 @@ config DVB_AV7110
3 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 3 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
4 select FW_LOADER if !DVB_AV7110_FIRMWARE 4 select FW_LOADER if !DVB_AV7110_FIRMWARE
5 select VIDEO_SAA7146_VV 5 select VIDEO_SAA7146_VV
6 select DVB_PLL
7 select DVB_VES1820 if !DVB_FE_CUSTOMISE 6 select DVB_VES1820 if !DVB_FE_CUSTOMISE
8 select DVB_VES1X93 if !DVB_FE_CUSTOMISE 7 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
9 select DVB_STV0299 if !DVB_FE_CUSTOMISE 8 select DVB_STV0299 if !DVB_FE_CUSTOMISE
@@ -62,7 +61,6 @@ config DVB_BUDGET
62 tristate "Budget cards" 61 tristate "Budget cards"
63 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 62 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
64 select VIDEO_SAA7146 63 select VIDEO_SAA7146
65 select DVB_PLL
66 select DVB_STV0299 if !DVB_FE_CUSTOMISE 64 select DVB_STV0299 if !DVB_FE_CUSTOMISE
67 select DVB_VES1X93 if !DVB_FE_CUSTOMISE 65 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
68 select DVB_VES1820 if !DVB_FE_CUSTOMISE 66 select DVB_VES1820 if !DVB_FE_CUSTOMISE
@@ -87,7 +85,6 @@ config DVB_BUDGET_CI
87 tristate "Budget cards with onboard CI connector" 85 tristate "Budget cards with onboard CI connector"
88 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 86 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1
89 select VIDEO_SAA7146 87 select VIDEO_SAA7146
90 select DVB_PLL
91 select DVB_STV0297 if !DVB_FE_CUSTOMISE 88 select DVB_STV0297 if !DVB_FE_CUSTOMISE
92 select DVB_STV0299 if !DVB_FE_CUSTOMISE 89 select DVB_STV0299 if !DVB_FE_CUSTOMISE
93 select DVB_TDA1004X if !DVB_FE_CUSTOMISE 90 select DVB_TDA1004X if !DVB_FE_CUSTOMISE
@@ -130,7 +127,6 @@ config DVB_BUDGET_PATCH
130 tristate "AV7110 cards with Budget Patch" 127 tristate "AV7110 cards with Budget Patch"
131 depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1 128 depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1
132 select DVB_AV7110 129 select DVB_AV7110
133 select DVB_PLL
134 select DVB_STV0299 if !DVB_FE_CUSTOMISE 130 select DVB_STV0299 if !DVB_FE_CUSTOMISE
135 select DVB_VES1X93 if !DVB_FE_CUSTOMISE 131 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
136 select DVB_TDA8083 if !DVB_FE_CUSTOMISE 132 select DVB_TDA8083 if !DVB_FE_CUSTOMISE
diff --git a/drivers/media/dvb/ttusb-budget/Kconfig b/drivers/media/dvb/ttusb-budget/Kconfig
index e78ea9227b0e..f546bccdb997 100644
--- a/drivers/media/dvb/ttusb-budget/Kconfig
+++ b/drivers/media/dvb/ttusb-budget/Kconfig
@@ -1,7 +1,6 @@
1config DVB_TTUSB_BUDGET 1config DVB_TTUSB_BUDGET
2 tristate "Technotrend/Hauppauge Nova-USB devices" 2 tristate "Technotrend/Hauppauge Nova-USB devices"
3 depends on DVB_CORE && USB && I2C 3 depends on DVB_CORE && USB && I2C
4 select DVB_PLL
5 select DVB_CX22700 if !DVB_FE_CUSTOMISE 4 select DVB_CX22700 if !DVB_FE_CUSTOMISE
6 select DVB_TDA1004X if !DVB_FE_CUSTOMISE 5 select DVB_TDA1004X if !DVB_FE_CUSTOMISE
7 select DVB_VES1820 if !DVB_FE_CUSTOMISE 6 select DVB_VES1820 if !DVB_FE_CUSTOMISE