1 /* 2 Driver for Philips tda10086 DVBS Frontend 3 4 (c) 2006 Andrew de Quincey 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 21 */ 22 23 #ifndef TDA10086_H 24 #define TDA10086_H 25 26 #include <linux/dvb/frontend.h> 27 #include <linux/firmware.h> 28 29 enum tda10086_xtal { 30 TDA10086_XTAL_16M, 31 TDA10086_XTAL_4M 32 }; 33 34 struct tda10086_config 35 { 36 /* the demodulator's i2c address */ 37 u8 demod_address; 38 39 /* does the "inversion" need inverted? */ 40 u8 invert; 41 42 /* do we need the diseqc signal with carrier? */ 43 u8 diseqc_tone; 44 45 /* frequency of the reference xtal */ 46 enum tda10086_xtal xtal_freq; 47 }; 48 49 #if IS_ENABLED(CONFIG_DVB_TDA10086) 50 extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 51 struct i2c_adapter* i2c); 52 #else 53 static inline struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 54 struct i2c_adapter* i2c) 55 { 56 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 57 return NULL; 58 } 59 #endif /* CONFIG_DVB_TDA10086 */ 60 61 #endif /* TDA10086_H */ 62