aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends
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 /drivers/media/dvb/frontends
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>
Diffstat (limited to 'drivers/media/dvb/frontends')
-rw-r--r--drivers/media/dvb/frontends/Kconfig6
-rw-r--r--drivers/media/dvb/frontends/dvb-pll.h11
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
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