1 /* 2 Intersil ISL6423 SEC and LNB Power supply controller 3 4 Copyright (C) Manu Abraham <abraham.manu@gmail.com> 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 */ 20 21 #ifndef __ISL_6423_H 22 #define __ISL_6423_H 23 24 #include <linux/dvb/frontend.h> 25 26 enum isl6423_current { 27 SEC_CURRENT_275m = 0, 28 SEC_CURRENT_515m, 29 SEC_CURRENT_635m, 30 SEC_CURRENT_800m, 31 }; 32 33 enum isl6423_curlim { 34 SEC_CURRENT_LIM_ON = 1, 35 SEC_CURRENT_LIM_OFF 36 }; 37 38 struct isl6423_config { 39 enum isl6423_current current_max; 40 enum isl6423_curlim curlim; 41 u8 addr; 42 u8 mod_extern; 43 }; 44 45 #if IS_ENABLED(CONFIG_DVB_ISL6423) 46 47 48 extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, 49 struct i2c_adapter *i2c, 50 const struct isl6423_config *config); 51 52 #else 53 static inline struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, 54 struct i2c_adapter *i2c, 55 const struct isl6423_config *config) 56 { 57 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 58 return NULL; 59 } 60 61 #endif /* CONFIG_DVB_ISL6423 */ 62 63 #endif /* __ISL_6423_H */ 64