1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 Driver for the Spase sp887x demodulator 4 */ 5 6 #ifndef SP887X_H 7 #define SP887X_H 8 9 #include <linux/dvb/frontend.h> 10 #include <linux/firmware.h> 11 12 struct sp887x_config 13 { 14 /* the demodulator's i2c address */ 15 u8 demod_address; 16 17 /* request firmware for device */ 18 int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); 19 }; 20 21 #if IS_REACHABLE(CONFIG_DVB_SP887X) 22 extern struct dvb_frontend* sp887x_attach(const struct sp887x_config* config, 23 struct i2c_adapter* i2c); 24 #else 25 static inline struct dvb_frontend* sp887x_attach(const struct sp887x_config* config, 26 struct i2c_adapter* i2c) 27 { 28 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 29 return NULL; 30 } 31 #endif // CONFIG_DVB_SP887X 32 33 #endif // SP887X_H 34