2007-08-28 04:22:20 +04:00
/*
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 __TDA8290_H__
# define __TDA8290_H__
# include <linux/i2c.h>
2007-12-09 08:26:48 +03:00
# include "dvb_frontend.h"
2013-02-04 05:48:56 +04:00
# include "tda18271.h"
2007-12-09 08:26:48 +03:00
2013-04-06 21:29:29 +04:00
enum tda8290_lna {
TDA8290_LNA_OFF = 0 ,
TDA8290_LNA_GP0_HIGH_ON = 1 ,
TDA8290_LNA_GP0_HIGH_OFF = 2 ,
TDA8290_LNA_ON_BRIDGE = 3 ,
} ;
2007-12-10 17:12:59 +03:00
struct tda829x_config {
2013-04-06 21:29:29 +04:00
enum tda8290_lna lna_cfg ;
2007-12-24 10:36:14 +03:00
unsigned int probe_tuner : 1 ;
# define TDA829X_PROBE_TUNER 0
# define TDA829X_DONT_PROBE 1
2013-02-04 05:47:38 +04:00
unsigned int no_i2c_gate : 1 ;
2013-02-04 05:48:56 +04:00
struct tda18271_std_map * tda18271_std_map ;
2007-12-09 08:26:48 +03:00
} ;
2007-08-28 04:22:20 +04:00
2013-01-20 08:32:56 +04:00
# if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA8290)
2007-12-09 08:26:48 +03:00
extern int tda829x_probe ( struct i2c_adapter * i2c_adap , u8 i2c_addr ) ;
2007-08-28 04:59:35 +04:00
2007-12-09 08:26:48 +03:00
extern struct dvb_frontend * tda829x_attach ( struct dvb_frontend * fe ,
struct i2c_adapter * i2c_adap ,
u8 i2c_addr ,
struct tda829x_config * cfg ) ;
2007-08-28 04:59:35 +04:00
# else
2007-12-09 08:26:48 +03:00
static inline int tda829x_probe ( struct i2c_adapter * i2c_adap , u8 i2c_addr )
2007-08-28 04:59:35 +04:00
{
2008-04-09 06:20:00 +04:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2007-08-28 04:59:35 +04:00
return - EINVAL ;
}
2007-12-09 08:26:48 +03:00
static inline struct dvb_frontend * tda829x_attach ( struct dvb_frontend * fe ,
struct i2c_adapter * i2c_adap ,
u8 i2c_addr ,
struct tda829x_config * cfg )
2007-10-22 16:56:38 +04:00
{
printk ( KERN_INFO " %s: not probed - driver disabled by Kconfig \n " ,
2008-04-09 06:20:00 +04:00
__func__ ) ;
2007-12-09 08:26:48 +03:00
return NULL ;
2007-10-22 16:56:38 +04:00
}
2007-08-28 04:59:35 +04:00
# endif
2007-08-28 04:22:20 +04:00
# endif /* __TDA8290_H__ */