1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Support for the Broadcom BCM3510 ATSC demodulator (1st generation Air2PC) 4 * 5 * Copyright (C) 2001-5, B2C2 inc. 6 * 7 * GPL/Linux driver written by Patrick Boettcher <patrick.boettcher@posteo.de> 8 */ 9 #ifndef BCM3510_H 10 #define BCM3510_H 11 12 #include <linux/dvb/frontend.h> 13 #include <linux/firmware.h> 14 15 struct bcm3510_config 16 { 17 /* the demodulator's i2c address */ 18 u8 demod_address; 19 20 /* request firmware for device */ 21 int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); 22 }; 23 24 #if IS_REACHABLE(CONFIG_DVB_BCM3510) 25 extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, 26 struct i2c_adapter* i2c); 27 #else 28 static inline struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, 29 struct i2c_adapter* i2c) 30 { 31 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 32 return NULL; 33 } 34 #endif // CONFIG_DVB_BCM3510 35 36 #endif 37