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 #ifndef S5H1420_H 21 #define S5H1420_H 22 23 #include <linux/dvb/frontend.h> 24 25 struct s5h1420_config 26 { 27 /* the demodulator's i2c address */ 28 u8 demod_address; 29 30 /* does the inversion require inversion? */ 31 u8 invert:1; 32 33 u8 repeated_start_workaround:1; 34 u8 cdclk_polarity:1; /* 1 == falling edge, 0 == raising edge */ 35 36 u8 serial_mpeg:1; 37 }; 38 39 #if IS_REACHABLE(CONFIG_DVB_S5H1420) 40 extern struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, 41 struct i2c_adapter *i2c); 42 extern struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe); 43 #else 44 static inline struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, 45 struct i2c_adapter *i2c) 46 { 47 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 48 return NULL; 49 } 50 51 static inline struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe) 52 { 53 return NULL; 54 } 55 #endif // CONFIG_DVB_S5H1420 56 57 #endif // S5H1420_H 58