1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
29a0bf528SMauro Carvalho Chehab /*
39a0bf528SMauro Carvalho Chehab  * E3C EC100 demodulator driver
49a0bf528SMauro Carvalho Chehab  *
59a0bf528SMauro Carvalho Chehab  * Copyright (C) 2009 Antti Palosaari <crope@iki.fi>
69a0bf528SMauro Carvalho Chehab  */
79a0bf528SMauro Carvalho Chehab 
89a0bf528SMauro Carvalho Chehab #ifndef EC100_H
99a0bf528SMauro Carvalho Chehab #define EC100_H
109a0bf528SMauro Carvalho Chehab 
119a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h>
129a0bf528SMauro Carvalho Chehab 
139a0bf528SMauro Carvalho Chehab struct ec100_config {
149a0bf528SMauro Carvalho Chehab 	/* demodulator's I2C address */
159a0bf528SMauro Carvalho Chehab 	u8 demod_address;
169a0bf528SMauro Carvalho Chehab };
179a0bf528SMauro Carvalho Chehab 
189a0bf528SMauro Carvalho Chehab 
199b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_EC100)
209a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *ec100_attach(const struct ec100_config *config,
219a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c);
229a0bf528SMauro Carvalho Chehab #else
ec100_attach(const struct ec100_config * config,struct i2c_adapter * i2c)239a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *ec100_attach(
249a0bf528SMauro Carvalho Chehab 	const struct ec100_config *config, struct i2c_adapter *i2c)
259a0bf528SMauro Carvalho Chehab {
2620399b3bSAntti Palosaari 	pr_warn("%s: driver disabled by Kconfig\n", __func__);
279a0bf528SMauro Carvalho Chehab 	return NULL;
289a0bf528SMauro Carvalho Chehab }
299a0bf528SMauro Carvalho Chehab #endif
309a0bf528SMauro Carvalho Chehab 
319a0bf528SMauro Carvalho Chehab #endif /* EC100_H */
32