2005-04-17 02:20:36 +04:00
/*
* Driver for Zarlink DVB - T MT352 demodulator
*
* Written by Holger Waechtler < holger @ qanu . de >
* and Daniel Mack < daniel @ qanu . de >
*
* AVerMedia AVerTV DVB - T 771 support by
* Wolfram Joost < dbox2 @ frokaschwei . de >
*
* Support for Samsung TDTC9251DH01C ( M ) tuner
* Copyright ( C ) 2004 Antonio Mancuso < antonio . mancuso @ digitaltelevision . it >
* Amauri Celani < acelani @ essegi . net >
*
* DVICO FusionHDTV DVB - T1 and DVICO FusionHDTV DVB - T Lite support by
* Christopher Pascoe < c . pascoe @ itee . uq . edu . au >
*
* 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 .
*/
# ifndef MT352_H
# define MT352_H
# include <linux/dvb/frontend.h>
struct mt352_config
{
/* the demodulator's i2c address */
u8 demod_address ;
/* frequencies in kHz */
int adc_clock ; // default: 20480
int if2 ; // default: 36166
/* set if no pll is connected to the secondary i2c bus */
int no_tuner ;
/* Initialise the demodulator and PLL. Cannot be NULL */
int ( * demod_init ) ( struct dvb_frontend * fe ) ;
} ;
2015-02-18 20:12:42 +03:00
# if IS_REACHABLE(CONFIG_DVB_MT352)
2005-04-17 02:20:36 +04:00
extern struct dvb_frontend * mt352_attach ( const struct mt352_config * config ,
struct i2c_adapter * i2c ) ;
2006-08-08 16:10:08 +04:00
# else
static inline struct dvb_frontend * mt352_attach ( const struct mt352_config * config ,
struct i2c_adapter * i2c )
{
2008-04-09 06:20:00 +04:00
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
2006-08-08 16:10:08 +04:00
return NULL ;
}
# endif // CONFIG_DVB_MT352
2005-04-17 02:20:36 +04:00
2010-08-25 16:50:20 +04:00
static inline int mt352_write ( struct dvb_frontend * fe , const u8 buf [ ] , int len ) {
2006-08-08 16:10:08 +04:00
int r = 0 ;
if ( fe - > ops . write )
r = fe - > ops . write ( fe , buf , len ) ;
return r ;
}
2005-04-17 02:20:36 +04:00
# endif // MT352_H