Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003     Intersil ISL6423 SEC and LNB Power supply controller
0004 
0005     Copyright (C) Manu Abraham <abraham.manu@gmail.com>
0006 
0007 */
0008 
0009 #ifndef __ISL_6423_H
0010 #define __ISL_6423_H
0011 
0012 #include <linux/dvb/frontend.h>
0013 
0014 enum isl6423_current {
0015     SEC_CURRENT_275m = 0,
0016     SEC_CURRENT_515m,
0017     SEC_CURRENT_635m,
0018     SEC_CURRENT_800m,
0019 };
0020 
0021 enum isl6423_curlim {
0022     SEC_CURRENT_LIM_ON = 1,
0023     SEC_CURRENT_LIM_OFF
0024 };
0025 
0026 struct isl6423_config {
0027     enum isl6423_current current_max;
0028     enum isl6423_curlim curlim;
0029     u8 addr;
0030     u8 mod_extern;
0031 };
0032 
0033 #if IS_REACHABLE(CONFIG_DVB_ISL6423)
0034 
0035 
0036 extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe,
0037                        struct i2c_adapter *i2c,
0038                        const struct isl6423_config *config);
0039 
0040 #else
0041 static inline struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe,
0042                           struct i2c_adapter *i2c,
0043                           const struct isl6423_config *config)
0044 {
0045     printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
0046     return NULL;
0047 }
0048 
0049 #endif /* CONFIG_DVB_ISL6423 */
0050 
0051 #endif /* __ISL_6423_H */