isl6423.h (1029B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 Intersil ISL6423 SEC and LNB Power supply controller 4 5 Copyright (C) Manu Abraham <abraham.manu@gmail.com> 6 7*/ 8 9#ifndef __ISL_6423_H 10#define __ISL_6423_H 11 12#include <linux/dvb/frontend.h> 13 14enum isl6423_current { 15 SEC_CURRENT_275m = 0, 16 SEC_CURRENT_515m, 17 SEC_CURRENT_635m, 18 SEC_CURRENT_800m, 19}; 20 21enum isl6423_curlim { 22 SEC_CURRENT_LIM_ON = 1, 23 SEC_CURRENT_LIM_OFF 24}; 25 26struct isl6423_config { 27 enum isl6423_current current_max; 28 enum isl6423_curlim curlim; 29 u8 addr; 30 u8 mod_extern; 31}; 32 33#if IS_REACHABLE(CONFIG_DVB_ISL6423) 34 35 36extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, 37 struct i2c_adapter *i2c, 38 const struct isl6423_config *config); 39 40#else 41static inline struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, 42 struct i2c_adapter *i2c, 43 const struct isl6423_config *config) 44{ 45 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 46 return NULL; 47} 48 49#endif /* CONFIG_DVB_ISL6423 */ 50 51#endif /* __ISL_6423_H */