1 /* 2 * Driver for 3 * Samsung S5H1420 and 4 * PnpNetwork PN1010 QPSK Demodulator 5 * 6 * Copyright (C) 2005 Andrew de Quincey <adq_dvb@lidskialf.net> 7 * Copyright (C) 2005-8 Patrick Boettcher <pb@linuxtv.org> 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23 */ 24 #ifndef S5H1420_H 25 #define S5H1420_H 26 27 #include <linux/dvb/frontend.h> 28 29 struct s5h1420_config 30 { 31 /* the demodulator's i2c address */ 32 u8 demod_address; 33 34 /* does the inversion require inversion? */ 35 u8 invert:1; 36 37 u8 repeated_start_workaround:1; 38 u8 cdclk_polarity:1; /* 1 == falling edge, 0 == raising edge */ 39 40 u8 serial_mpeg:1; 41 }; 42 43 #if IS_REACHABLE(CONFIG_DVB_S5H1420) 44 extern struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, 45 struct i2c_adapter *i2c); 46 extern struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe); 47 #else 48 static inline struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, 49 struct i2c_adapter *i2c) 50 { 51 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 52 return NULL; 53 } 54 55 static inline struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe) 56 { 57 return NULL; 58 } 59 #endif // CONFIG_DVB_S5H1420 60 61 #endif // S5H1420_H 62