1b78bbafeSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 29a0bf528SMauro Carvalho Chehab /* 39a0bf528SMauro Carvalho Chehab * Support for the Broadcom BCM3510 ATSC demodulator (1st generation Air2PC) 49a0bf528SMauro Carvalho Chehab * 59a0bf528SMauro Carvalho Chehab * Copyright (C) 2001-5, B2C2 inc. 69a0bf528SMauro Carvalho Chehab * 799e44da7SPatrick Boettcher * GPL/Linux driver written by Patrick Boettcher <patrick.boettcher@posteo.de> 89a0bf528SMauro Carvalho Chehab */ 99a0bf528SMauro Carvalho Chehab #ifndef BCM3510_H 109a0bf528SMauro Carvalho Chehab #define BCM3510_H 119a0bf528SMauro Carvalho Chehab 129a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h> 139a0bf528SMauro Carvalho Chehab #include <linux/firmware.h> 149a0bf528SMauro Carvalho Chehab 159a0bf528SMauro Carvalho Chehab struct bcm3510_config 169a0bf528SMauro Carvalho Chehab { 179a0bf528SMauro Carvalho Chehab /* the demodulator's i2c address */ 189a0bf528SMauro Carvalho Chehab u8 demod_address; 199a0bf528SMauro Carvalho Chehab 209a0bf528SMauro Carvalho Chehab /* request firmware for device */ 219a0bf528SMauro Carvalho Chehab int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); 229a0bf528SMauro Carvalho Chehab }; 239a0bf528SMauro Carvalho Chehab 249b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_BCM3510) 259a0bf528SMauro Carvalho Chehab extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, 269a0bf528SMauro Carvalho Chehab struct i2c_adapter* i2c); 279a0bf528SMauro Carvalho Chehab #else bcm3510_attach(const struct bcm3510_config * config,struct i2c_adapter * i2c)289a0bf528SMauro Carvalho Chehabstatic inline struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, 299a0bf528SMauro Carvalho Chehab struct i2c_adapter* i2c) 309a0bf528SMauro Carvalho Chehab { 319a0bf528SMauro Carvalho Chehab printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 329a0bf528SMauro Carvalho Chehab return NULL; 339a0bf528SMauro Carvalho Chehab } 349a0bf528SMauro Carvalho Chehab #endif // CONFIG_DVB_BCM3510 359a0bf528SMauro Carvalho Chehab 369a0bf528SMauro Carvalho Chehab #endif 37