Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003     STV6110(A) Silicon tuner driver
0004 
0005     Copyright (C) Manu Abraham <abraham.manu@gmail.com>
0006 
0007     Copyright (C) ST Microelectronics
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 /* __STV6110x_PRIV_H */