2019-05-20 10:19:02 +03:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
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
*/
# 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 ) < < \
2018-01-04 21:08:56 +03:00
STV6110x_OFFST_ # # bitf ) ) ) | \
2009-04-06 22:45:20 +04:00
( val < < STV6110x_OFFST_ # # bitf ) )
# define STV6110x_GETFIELD(bitf, val) \
2018-01-04 21:08:56 +03:00
( ( val > > STV6110x_OFFST_ # # bitf ) & \
2009-04-06 22:45:20 +04:00
( ( 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 {
2019-05-29 19:56:33 +03:00
struct dvb_frontend * frontend ;
2009-04-06 22:45:20 +04:00
struct i2c_adapter * i2c ;
const struct stv6110x_config * config ;
2018-01-04 21:08:56 +03:00
u8 regs [ 8 ] ;
2009-04-06 22:45:20 +04:00
2019-05-29 19:56:33 +03:00
struct stv6110x_devctl * devctl ;
2009-04-06 22:45:20 +04:00
} ;
# endif /* __STV6110x_PRIV_H */