2007-04-27 19:31:14 +04: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>
# include "dvb_frontend.h"
struct tda827x_config
{
2007-08-26 02:08:45 +04:00
/* saa7134 - provided callbacks */
2007-04-27 19:31:14 +04:00
int ( * init ) ( struct dvb_frontend * fe ) ;
int ( * sleep ) ( struct dvb_frontend * fe ) ;
2007-08-26 02:08:45 +04:00
/* interface to tda829x driver */
2008-04-22 21:46:08 +04:00
unsigned int config ;
int switch_addr ;
2007-08-26 02:08:45 +04:00
int ( * tuner_callback ) ( void * dev , int command , int arg ) ;
void ( * agcf ) ( struct dvb_frontend * fe ) ;
2007-04-27 19:31:14 +04: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 .
*/
# if defined(CONFIG_DVB_TDA827X) || (defined(CONFIG_DVB_TDA827X_MODULE) && defined(MODULE))
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-09 06:20:00 +04:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2007-04-27 19:31:14 +04:00
return NULL ;
}
# endif // CONFIG_DVB_TDA827X
# endif // __DVB_TDA827X_H__