11b09dd9fSKatsuhiro Suzuki /* SPDX-License-Identifier: GPL-2.0 */ 21b09dd9fSKatsuhiro Suzuki /* 31b09dd9fSKatsuhiro Suzuki * Driver for LNB supply and control IC STMicroelectronics LNBH29 41b09dd9fSKatsuhiro Suzuki * 51b09dd9fSKatsuhiro Suzuki * Copyright (c) 2018 Socionext Inc. 61b09dd9fSKatsuhiro Suzuki */ 71b09dd9fSKatsuhiro Suzuki 81b09dd9fSKatsuhiro Suzuki #ifndef LNBH29_H 91b09dd9fSKatsuhiro Suzuki #define LNBH29_H 101b09dd9fSKatsuhiro Suzuki 111b09dd9fSKatsuhiro Suzuki #include <linux/i2c.h> 121b09dd9fSKatsuhiro Suzuki #include <linux/dvb/frontend.h> 131b09dd9fSKatsuhiro Suzuki 141b09dd9fSKatsuhiro Suzuki /* Using very low E.S.R. capacitors or ceramic caps */ 151b09dd9fSKatsuhiro Suzuki #define LNBH29_DATA_COMP BIT(3) 161b09dd9fSKatsuhiro Suzuki 171b09dd9fSKatsuhiro Suzuki struct lnbh29_config { 181b09dd9fSKatsuhiro Suzuki u8 i2c_address; 191b09dd9fSKatsuhiro Suzuki u8 data_config; 201b09dd9fSKatsuhiro Suzuki }; 211b09dd9fSKatsuhiro Suzuki 221b09dd9fSKatsuhiro Suzuki #if IS_REACHABLE(CONFIG_DVB_LNBH29) 231b09dd9fSKatsuhiro Suzuki struct dvb_frontend *lnbh29_attach(struct dvb_frontend *fe, 241b09dd9fSKatsuhiro Suzuki struct lnbh29_config *cfg, 251b09dd9fSKatsuhiro Suzuki struct i2c_adapter *i2c); 261b09dd9fSKatsuhiro Suzuki #else lnbh29_attach(struct dvb_frontend * fe,struct lnbh29_config * cfg,struct i2c_adapter * i2c)271b09dd9fSKatsuhiro Suzukistatic inline struct dvb_frontend *lnbh29_attach(struct dvb_frontend *fe, 281b09dd9fSKatsuhiro Suzuki struct lnbh29_config *cfg, 291b09dd9fSKatsuhiro Suzuki struct i2c_adapter *i2c) 301b09dd9fSKatsuhiro Suzuki { 311b09dd9fSKatsuhiro Suzuki printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 321b09dd9fSKatsuhiro Suzuki return NULL; 331b09dd9fSKatsuhiro Suzuki } 341b09dd9fSKatsuhiro Suzuki #endif 351b09dd9fSKatsuhiro Suzuki 361b09dd9fSKatsuhiro Suzuki #endif 37