52 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 Intersil ISL6423 SEC and LNB Power supply controller4 5 Copyright (C) Manu Abraham <abraham.manu@gmail.com>6 7*/8 9#ifndef __ISL_6423_H10#define __ISL_6423_H11 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_OFF24};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#else41static 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 */52