2009-04-06 22:45:20 +04:00
/*
STV6110 ( A ) Silicon tuner driver
Copyright ( C ) Manu Abraham < abraham . manu @ gmail . com >
Copyright ( C ) ST Microelectronics
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 675 Mass Ave , Cambridge , MA 0213 9 , USA .
*/
# ifndef __STV6110x_PRIV_H
# define __STV6110x_PRIV_H
# define FE_ERROR 0
# define FE_NOTICE 1
# define FE_INFO 2
# define FE_DEBUG 3
# define FE_DEBUGREG 4
# define dprintk(__y, __z, format, arg...) do { \
if ( __z ) { \
if ( ( verbose > FE_ERROR ) & & ( verbose > __y ) ) \
printk ( KERN_ERR " %s: " format " \n " , __func__ , # # arg ) ; \
else if ( ( verbose > FE_NOTICE ) & & ( verbose > __y ) ) \
printk ( KERN_NOTICE " %s: " format " \n " , __func__ , # # arg ) ; \
else if ( ( verbose > FE_INFO ) & & ( verbose > __y ) ) \
printk ( KERN_INFO " %s: " format " \n " , __func__ , # # arg ) ; \
else if ( ( verbose > FE_DEBUG ) & & ( verbose > __y ) ) \
printk ( KERN_DEBUG " %s: " format " \n " , __func__ , # # arg ) ; \
} else { \
if ( verbose > __y ) \
printk ( format , # # arg ) ; \
} \
} while ( 0 )
# define STV6110x_SETFIELD(mask, bitf, val) \
( mask = ( mask & ( ~ ( ( ( 1 < < STV6110x_WIDTH_ # # bitf ) - 1 ) < < \
STV6110x_OFFST_ # # bitf ) ) ) | \
( val < < STV6110x_OFFST_ # # bitf ) )
# define STV6110x_GETFIELD(bitf, val) \
( ( val > > STV6110x_OFFST_ # # bitf ) & \
( ( 1 < < STV6110x_WIDTH_ # # bitf ) - 1 ) )
# define MAKEWORD16(a, b) (((a) << 8) | (b))
# define LSB(x) ((x & 0xff))
# define MSB(y) ((y >> 8) & 0xff)
# define TRIALS 10
# define R_DIV(__div) (1 << (__div + 1))
2009-04-07 12:19:54 +04:00
# define REFCLOCK_kHz (stv6110x->config->refclk / 1000)
# define REFCLOCK_MHz (stv6110x->config->refclk / 1000000)
2009-04-06 22:45:20 +04:00
struct stv6110x_state {
struct i2c_adapter * i2c ;
const struct stv6110x_config * config ;
2010-01-06 01:23:13 +03:00
u8 regs [ 8 ] ;
2009-04-06 22:45:20 +04:00
2015-12-06 18:34:26 +03:00
const struct stv6110x_devctl * devctl ;
2009-04-06 22:45:20 +04:00
} ;
# endif /* __STV6110x_PRIV_H */