1 /* 2 DVB Driver for Philips tda827x / tda827xa Silicon tuners 3 4 (c) 2005 Hartmut Hackmann 5 (c) 2007 Michael Krufky 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 22 */ 23 24 #ifndef __DVB_TDA827X_H__ 25 #define __DVB_TDA827X_H__ 26 27 #include <linux/i2c.h> 28 #include "dvb_frontend.h" 29 30 struct tda827x_config 31 { 32 /* saa7134 - provided callbacks */ 33 int (*init) (struct dvb_frontend *fe); 34 int (*sleep) (struct dvb_frontend *fe); 35 36 /* interface to tda829x driver */ 37 unsigned int config; 38 int switch_addr; 39 40 void (*agcf)(struct dvb_frontend *fe); 41 }; 42 43 44 /** 45 * Attach a tda827x tuner to the supplied frontend structure. 46 * 47 * @param fe Frontend to attach to. 48 * @param addr i2c address of the tuner. 49 * @param i2c i2c adapter to use. 50 * @param cfg optional callback function pointers. 51 * @return FE pointer on success, NULL on failure. 52 */ 53 #if defined(CONFIG_MEDIA_TUNER_TDA827X) || (defined(CONFIG_MEDIA_TUNER_TDA827X_MODULE) && defined(MODULE)) 54 extern struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe, int addr, 55 struct i2c_adapter *i2c, 56 struct tda827x_config *cfg); 57 #else 58 static inline struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe, 59 int addr, 60 struct i2c_adapter *i2c, 61 struct tda827x_config *cfg) 62 { 63 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 64 return NULL; 65 } 66 #endif // CONFIG_MEDIA_TUNER_TDA827X 67 68 #endif // __DVB_TDA827X_H__ 69