aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/dvb-pll.h
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/dvb-pll.h
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/dvb-pll.h')
-rw-r--r--drivers/media/dvb/frontends/dvb-pll.h11
1 files changed, 11 insertions, 0 deletions
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