2007-04-27 12:31:14 -03:00
/*
DVB Driver for Philips tda827x / tda827xa Silicon tuners
( c ) 2005 Hartmut Hackmann
( c ) 2007 Michael Krufky
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 __DVB_TDA827X_H__
# define __DVB_TDA827X_H__
# include <linux/i2c.h>
2017-12-28 13:03:51 -05:00
# include <media/dvb_frontend.h>
2013-04-06 14:29:29 -03:00
# include "tda8290.h"
2007-04-27 12:31:14 -03:00
struct tda827x_config
{
2007-08-25 19:08:45 -03:00
/* saa7134 - provided callbacks */
2007-04-27 12:31:14 -03:00
int ( * init ) ( struct dvb_frontend * fe ) ;
int ( * sleep ) ( struct dvb_frontend * fe ) ;
2007-08-25 19:08:45 -03:00
/* interface to tda829x driver */
2013-04-06 14:29:29 -03:00
enum tda8290_lna config ;
2018-01-04 13:08:56 -05:00
int switch_addr ;
2007-08-25 19:08:45 -03:00
void ( * agcf ) ( struct dvb_frontend * fe ) ;
2007-04-27 12:31:14 -03:00
} ;
/**
* Attach a tda827x tuner to the supplied frontend structure .
*
* @ param fe Frontend to attach to .
* @ param addr i2c address of the tuner .
* @ param i2c i2c adapter to use .
* @ param cfg optional callback function pointers .
* @ return FE pointer on success , NULL on failure .
*/
2015-02-18 14:12:42 -03:00
# if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA827X)
2007-04-27 12:31:14 -03:00
extern struct dvb_frontend * tda827x_attach ( struct dvb_frontend * fe , int addr ,
struct i2c_adapter * i2c ,
struct tda827x_config * cfg ) ;
# else
static inline struct dvb_frontend * tda827x_attach ( struct dvb_frontend * fe ,
int addr ,
struct i2c_adapter * i2c ,
struct tda827x_config * cfg )
{
2008-04-08 23:20:00 -03:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2007-04-27 12:31:14 -03:00
return NULL ;
}
2008-04-29 21:38:46 -03:00
# endif // CONFIG_MEDIA_TUNER_TDA827X
2007-04-27 12:31:14 -03:00
# endif // __DVB_TDA827X_H__