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 */ 19 20 #ifndef NXT200X_H 21 #define NXT200X_H 22 23 #include <linux/dvb/frontend.h> 24 #include <linux/firmware.h> 25 26 typedef enum nxt_chip_t { 27 NXTUNDEFINED, 28 NXT2002, 29 NXT2004 30 }nxt_chip_type; 31 32 struct nxt200x_config 33 { 34 /* the demodulator's i2c address */ 35 u8 demod_address; 36 37 /* need to set device param for start_dma */ 38 int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); 39 }; 40 41 #if IS_REACHABLE(CONFIG_DVB_NXT200X) 42 extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, 43 struct i2c_adapter* i2c); 44 #else 45 static inline struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, 46 struct i2c_adapter* i2c) 47 { 48 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 49 return NULL; 50 } 51 #endif // CONFIG_DVB_NXT200X 52 53 #endif /* NXT200X_H */ 54