diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2007-04-27 11:31:28 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:01 -0400 |
commit | 9ab1ba38e6a25a480234f196aa26239e28ac2407 (patch) | |
tree | 9f09262a37a5bc3a7010d837a427daa05f69e3c6 | |
parent | 982dd1bdaab39185ccd55cafd3c099b7fee5f2dd (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/Kconfig | 4 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/Kconfig | 6 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/dvb-pll.h | 11 | ||||
-rw-r--r-- | drivers/media/dvb/pluto2/Kconfig | 1 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/Kconfig | 4 | ||||
-rw-r--r-- | drivers/media/dvb/ttusb-budget/Kconfig | 1 |
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 | |||
33 | config DVB_USB_DIBUSB_MB | 33 | config 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 | |||
88 | config DVB_USB_UMT_010 | 89 | config 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 | |||
96 | config DVB_USB_CXUSB | 98 | config 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 | |||
140 | config DVB_USB_DIGITV | 143 | config 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 | ||
282 | config DVB_PLL | 282 | config 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 | ||
286 | config DVB_TDA826X | 290 | config 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)) | ||
62 | extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, | 63 | extern 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 | ||
68 | static 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 @@ | |||
1 | config DVB_TTUSB_BUDGET | 1 | config 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 |