18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci Driver for Spase SP8870 demodulator 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci Copyright (C) 1999 Juergen Peitz 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci*/ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#ifndef SP8870_H 118c2ecf20Sopenharmony_ci#define SP8870_H 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#include <linux/dvb/frontend.h> 148c2ecf20Sopenharmony_ci#include <linux/firmware.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_cistruct sp8870_config 178c2ecf20Sopenharmony_ci{ 188c2ecf20Sopenharmony_ci /* the demodulator's i2c address */ 198c2ecf20Sopenharmony_ci u8 demod_address; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci /* request firmware for device */ 228c2ecf20Sopenharmony_ci int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); 238c2ecf20Sopenharmony_ci}; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#if IS_REACHABLE(CONFIG_DVB_SP8870) 268c2ecf20Sopenharmony_ciextern struct dvb_frontend* sp8870_attach(const struct sp8870_config* config, 278c2ecf20Sopenharmony_ci struct i2c_adapter* i2c); 288c2ecf20Sopenharmony_ci#else 298c2ecf20Sopenharmony_cistatic inline struct dvb_frontend* sp8870_attach(const struct sp8870_config* config, 308c2ecf20Sopenharmony_ci struct i2c_adapter* i2c) 318c2ecf20Sopenharmony_ci{ 328c2ecf20Sopenharmony_ci printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 338c2ecf20Sopenharmony_ci return NULL; 348c2ecf20Sopenharmony_ci} 358c2ecf20Sopenharmony_ci#endif // CONFIG_DVB_SP8870 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci#endif // SP8870_H 38