1 /* 2 * Support for NXT2002 and NXT2004 - VSB/QAM 3 * 4 * Copyright (C) 2005 Kirk Lapray (kirk.lapray@gmail.com) 5 * based on nxt2002 by Taylor Jacob <rtjacob@earthlink.net> 6 * and nxt2004 by Jean-Francois Thibert (jeanfrancois@sagetv.com) 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 NXT200X_H 25 #define NXT200X_H 26 27 #include <linux/dvb/frontend.h> 28 #include <linux/firmware.h> 29 30 typedef enum nxt_chip_t { 31 NXTUNDEFINED, 32 NXT2002, 33 NXT2004 34 }nxt_chip_type; 35 36 struct nxt200x_config 37 { 38 /* the demodulator's i2c address */ 39 u8 demod_address; 40 41 /* need to set device param for start_dma */ 42 int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); 43 }; 44 45 #if IS_REACHABLE(CONFIG_DVB_NXT200X) 46 extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, 47 struct i2c_adapter* i2c); 48 #else 49 static inline struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, 50 struct i2c_adapter* i2c) 51 { 52 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 53 return NULL; 54 } 55 #endif // CONFIG_DVB_NXT200X 56 57 #endif /* NXT200X_H */ 58