0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef __STV6110x_PRIV_H
0012 #define __STV6110x_PRIV_H
0013
0014 #define FE_ERROR 0
0015 #define FE_NOTICE 1
0016 #define FE_INFO 2
0017 #define FE_DEBUG 3
0018 #define FE_DEBUGREG 4
0019
0020 #define dprintk(__y, __z, format, arg...) do { \
0021 if (__z) { \
0022 if ((verbose > FE_ERROR) && (verbose > __y)) \
0023 printk(KERN_ERR "%s: " format "\n", __func__ , ##arg); \
0024 else if ((verbose > FE_NOTICE) && (verbose > __y)) \
0025 printk(KERN_NOTICE "%s: " format "\n", __func__ , ##arg); \
0026 else if ((verbose > FE_INFO) && (verbose > __y)) \
0027 printk(KERN_INFO "%s: " format "\n", __func__ , ##arg); \
0028 else if ((verbose > FE_DEBUG) && (verbose > __y)) \
0029 printk(KERN_DEBUG "%s: " format "\n", __func__ , ##arg); \
0030 } else { \
0031 if (verbose > __y) \
0032 printk(format, ##arg); \
0033 } \
0034 } while (0)
0035
0036
0037 #define STV6110x_SETFIELD(mask, bitf, val) \
0038 (mask = (mask & (~(((1 << STV6110x_WIDTH_##bitf) - 1) << \
0039 STV6110x_OFFST_##bitf))) | \
0040 (val << STV6110x_OFFST_##bitf))
0041
0042 #define STV6110x_GETFIELD(bitf, val) \
0043 ((val >> STV6110x_OFFST_##bitf) & \
0044 ((1 << STV6110x_WIDTH_##bitf) - 1))
0045
0046 #define MAKEWORD16(a, b) (((a) << 8) | (b))
0047
0048 #define LSB(x) ((x & 0xff))
0049 #define MSB(y) ((y >> 8) & 0xff)
0050
0051 #define TRIALS 10
0052 #define R_DIV(__div) (1 << (__div + 1))
0053 #define REFCLOCK_kHz (stv6110x->config->refclk / 1000)
0054 #define REFCLOCK_MHz (stv6110x->config->refclk / 1000000)
0055
0056 struct stv6110x_state {
0057 struct dvb_frontend *frontend;
0058 struct i2c_adapter *i2c;
0059 const struct stv6110x_config *config;
0060 u8 regs[8];
0061
0062 struct stv6110x_devctl *devctl;
0063 };
0064
0065 #endif