Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
[pandora-kernel.git] / drivers / media / dvb / frontends / drxk.h
1 #ifndef _DRXK_H_
2 #define _DRXK_H_
3
4 #include <linux/types.h>
5 #include <linux/i2c.h>
6
7 /**
8  * struct drxk_config - Configure the initial parameters for DRX-K
9  *
10  * adr:                 I2C Address of the DRX-K
11  * single_master:       Device is on the single master mode
12  * no_i2c_bridge:       Don't switch the I2C bridge to talk with tuner
13  * antenna_gpio:        GPIO bit used to control the antenna
14  * antenna_dvbt:        GPIO bit for changing antenna to DVB-C. A value of 1
15  *                      means that 1=DVBC, 0 = DVBT. Zero means the opposite.
16  * microcode_name:      Name of the firmware file with the microcode
17  *
18  * On the *_gpio vars, bit 0 is UIO-1, bit 1 is UIO-2 and bit 2 is
19  * UIO-3.
20  */
21 struct drxk_config {
22         u8      adr;
23         bool    single_master;
24         bool    no_i2c_bridge;
25
26         bool    antenna_dvbt;
27         u16     antenna_gpio;
28
29         const char *microcode_name;
30 };
31
32 #if defined(CONFIG_DVB_DRXK) || (defined(CONFIG_DVB_DRXK_MODULE) \
33         && defined(MODULE))
34 extern struct dvb_frontend *drxk_attach(const struct drxk_config *config,
35                                         struct i2c_adapter *i2c,
36                                         struct dvb_frontend **fe_t);
37 #else
38 static inline struct dvb_frontend *drxk_attach(const struct drxk_config *config,
39                                         struct i2c_adapter *i2c,
40                                         struct dvb_frontend **fe_t)
41 {
42         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
43         return NULL;
44 }
45 #endif
46
47 #endif