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 /drivers/media/dvb/frontends | |
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>
Diffstat (limited to 'drivers/media/dvb/frontends')
-rw-r--r-- | drivers/media/dvb/frontends/Kconfig | 6 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/dvb-pll.h | 11 |
2 files changed, 16 insertions, 1 deletions
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 |