aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/tda18271.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/frontends/tda18271.h')
-rw-r--r--drivers/media/dvb/frontends/tda18271.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/tda18271.h b/drivers/media/dvb/frontends/tda18271.h
index f53568103311..36a3a548a6f5 100644
--- a/drivers/media/dvb/frontends/tda18271.h
+++ b/drivers/media/dvb/frontends/tda18271.h
@@ -24,21 +24,47 @@
24#include <linux/i2c.h> 24#include <linux/i2c.h>
25#include "dvb_frontend.h" 25#include "dvb_frontend.h"
26 26
27struct tda18271_std_map_item {
28 u32 if_freq;
29 u8 std_bits;
30};
31
32struct tda18271_std_map {
33 struct tda18271_std_map_item atv_b;
34 struct tda18271_std_map_item atv_dk;
35 struct tda18271_std_map_item atv_gh;
36 struct tda18271_std_map_item atv_i;
37 struct tda18271_std_map_item atv_l;
38 struct tda18271_std_map_item atv_lc;
39 struct tda18271_std_map_item atv_mn;
40 struct tda18271_std_map_item atsc_6;
41 struct tda18271_std_map_item dvbt_6;
42 struct tda18271_std_map_item dvbt_7;
43 struct tda18271_std_map_item dvbt_8;
44 struct tda18271_std_map_item qam_6;
45 struct tda18271_std_map_item qam_8;
46};
47
27enum tda18271_i2c_gate { 48enum tda18271_i2c_gate {
28 TDA18271_GATE_AUTO = 0, 49 TDA18271_GATE_AUTO = 0,
29 TDA18271_GATE_ANALOG, 50 TDA18271_GATE_ANALOG,
30 TDA18271_GATE_DIGITAL, 51 TDA18271_GATE_DIGITAL,
31}; 52};
32 53
54struct tda18271_config {
55 struct tda18271_std_map *std_map;
56 enum tda18271_i2c_gate gate;
57};
58
33#if defined(CONFIG_DVB_TDA18271) || (defined(CONFIG_DVB_TDA18271_MODULE) && defined(MODULE)) 59#if defined(CONFIG_DVB_TDA18271) || (defined(CONFIG_DVB_TDA18271_MODULE) && defined(MODULE))
34extern struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, 60extern struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
35 struct i2c_adapter *i2c, 61 struct i2c_adapter *i2c,
36 enum tda18271_i2c_gate gate); 62 struct tda18271_config *cfg);
37#else 63#else
38static inline struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, 64static inline struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe,
39 u8 addr, 65 u8 addr,
40 struct i2c_adapter *i2c, 66 struct i2c_adapter *i2c,
41 enum tda18271_i2c_gate gate) 67 struct tda18271_config *cfg)
42{ 68{
43 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__); 69 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__);
44 return NULL; 70 return NULL;