1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Support for OR51211 (pcHDTV HD-2000) - VSB 4 * 5 * Copyright (C) 2005 Kirk Lapray <kirk_lapray@bigfoot.com> 6 */ 7 8 #ifndef OR51211_H 9 #define OR51211_H 10 11 #include <linux/dvb/frontend.h> 12 #include <linux/firmware.h> 13 14 struct or51211_config 15 { 16 /* The demodulator's i2c address */ 17 u8 demod_address; 18 19 /* Request firmware for device */ 20 int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); 21 void (*setmode)(struct dvb_frontend * fe, int mode); 22 void (*reset)(struct dvb_frontend * fe); 23 void (*sleep)(struct dvb_frontend * fe); 24 }; 25 26 #if IS_REACHABLE(CONFIG_DVB_OR51211) 27 extern struct dvb_frontend* or51211_attach(const struct or51211_config* config, 28 struct i2c_adapter* i2c); 29 #else 30 static inline struct dvb_frontend* or51211_attach(const struct or51211_config* config, 31 struct i2c_adapter* i2c) 32 { 33 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 34 return NULL; 35 } 36 #endif // CONFIG_DVB_OR51211 37 38 #endif // OR51211_H 39 40