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 26enum isl6423_current { 27 SEC_CURRENT_275m = 0, 28 SEC_CURRENT_515m, 29 SEC_CURRENT_635m, 30 SEC_CURRENT_800m, 31}; 32 33enum isl6423_curlim { 34 SEC_CURRENT_LIM_ON = 1, 35 SEC_CURRENT_LIM_OFF 36}; 37 38struct 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_REACHABLE(CONFIG_DVB_ISL6423) 46 47 48extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, 49 struct i2c_adapter *i2c, 50 const struct isl6423_config *config); 51 52#else 53static 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