1 /* 2 * cxd2841er.h 3 * 4 * Sony CXD2441ER digital demodulator driver public definitions 5 * 6 * Copyright 2012 Sony Corporation 7 * Copyright (C) 2014 NetUP Inc. 8 * Copyright (C) 2014 Sergey Kozlov <serjk@netup.ru> 9 * Copyright (C) 2014 Abylay Ospan <aospan@netup.ru> 10 * 11 * This program is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 2 of the License, or 14 * (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 */ 21 22 #ifndef CXD2841ER_H 23 #define CXD2841ER_H 24 25 #include <linux/dvb/frontend.h> 26 27 enum cxd2841er_xtal { 28 SONY_XTAL_20500, /* 20.5 MHz */ 29 SONY_XTAL_24000, /* 24 MHz */ 30 SONY_XTAL_41000 /* 41 MHz */ 31 }; 32 33 struct cxd2841er_config { 34 u8 i2c_addr; 35 enum cxd2841er_xtal xtal; 36 }; 37 38 #if IS_REACHABLE(CONFIG_DVB_CXD2841ER) 39 extern struct dvb_frontend *cxd2841er_attach_s(struct cxd2841er_config *cfg, 40 struct i2c_adapter *i2c); 41 42 extern struct dvb_frontend *cxd2841er_attach_t_c(struct cxd2841er_config *cfg, 43 struct i2c_adapter *i2c); 44 #else 45 static inline struct dvb_frontend *cxd2841er_attach_s( 46 struct cxd2841er_config *cfg, 47 struct i2c_adapter *i2c) 48 { 49 pr_warn("%s: driver disabled by Kconfig\n", __func__); 50 return NULL; 51 } 52 53 static inline struct dvb_frontend *cxd2841er_attach_t_c( 54 struct cxd2841er_config *cfg, struct i2c_adapter *i2c) 55 { 56 pr_warn("%s: driver disabled by Kconfig\n", __func__); 57 return NULL; 58 } 59 60 #endif 61 62 #endif 63