18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci *  Driver for Conexant CX24113/CX24128 Tuner (Satellite)
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci *  Copyright (C) 2007-8 Patrick Boettcher <pb@linuxtv.org>
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef CX24113_H
98c2ecf20Sopenharmony_ci#define CX24113_H
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_cistruct dvb_frontend;
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cistruct cx24113_config {
148c2ecf20Sopenharmony_ci	u8 i2c_addr; /* 0x14 or 0x54 */
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	u32 xtal_khz;
178c2ecf20Sopenharmony_ci};
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci#if IS_REACHABLE(CONFIG_DVB_TUNER_CX24113)
208c2ecf20Sopenharmony_ciextern struct dvb_frontend *cx24113_attach(struct dvb_frontend *,
218c2ecf20Sopenharmony_ci	const struct cx24113_config *config, struct i2c_adapter *i2c);
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciextern void cx24113_agc_callback(struct dvb_frontend *fe);
248c2ecf20Sopenharmony_ci#else
258c2ecf20Sopenharmony_cistatic inline struct dvb_frontend *cx24113_attach(struct dvb_frontend *fe,
268c2ecf20Sopenharmony_ci	const struct cx24113_config *config, struct i2c_adapter *i2c)
278c2ecf20Sopenharmony_ci{
288c2ecf20Sopenharmony_ci	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
298c2ecf20Sopenharmony_ci	return NULL;
308c2ecf20Sopenharmony_ci}
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_cistatic inline void cx24113_agc_callback(struct dvb_frontend *fe)
338c2ecf20Sopenharmony_ci{
348c2ecf20Sopenharmony_ci	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
358c2ecf20Sopenharmony_ci}
368c2ecf20Sopenharmony_ci#endif
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci#endif /* CX24113_H */
39