18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci Fujitsu MB86A16 DVB-S/DSS DC Receiver driver 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci Copyright (C) Manu Abraham (abraham.manu@gmail.com) 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci*/ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#ifndef __MB86A16_H 108c2ecf20Sopenharmony_ci#define __MB86A16_H 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <linux/dvb/frontend.h> 138c2ecf20Sopenharmony_ci#include <media/dvb_frontend.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_cistruct mb86a16_config { 178c2ecf20Sopenharmony_ci u8 demod_address; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci int (*set_voltage)(struct dvb_frontend *fe, 208c2ecf20Sopenharmony_ci enum fe_sec_voltage voltage); 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#if IS_REACHABLE(CONFIG_DVB_MB86A16) 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciextern struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config, 288c2ecf20Sopenharmony_ci struct i2c_adapter *i2c_adap); 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#else 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_cistatic inline struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config, 338c2ecf20Sopenharmony_ci struct i2c_adapter *i2c_adap) 348c2ecf20Sopenharmony_ci{ 358c2ecf20Sopenharmony_ci printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__); 368c2ecf20Sopenharmony_ci return NULL; 378c2ecf20Sopenharmony_ci} 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci#endif /* CONFIG_DVB_MB86A16 */ 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#endif /* __MB86A16_H */ 42