18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci *  Driver for Quantek QT1010 silicon tuner
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci *  Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
68c2ecf20Sopenharmony_ci *                     Aapo Tahkola <aet@rasterburn.org>
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#ifndef QT1010_H
108c2ecf20Sopenharmony_ci#define QT1010_H
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#include <media/dvb_frontend.h>
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cistruct qt1010_config {
158c2ecf20Sopenharmony_ci	u8 i2c_address;
168c2ecf20Sopenharmony_ci};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci/**
198c2ecf20Sopenharmony_ci * Attach a qt1010 tuner to the supplied frontend structure.
208c2ecf20Sopenharmony_ci *
218c2ecf20Sopenharmony_ci * @param fe   frontend to attach to
228c2ecf20Sopenharmony_ci * @param i2c  i2c adapter to use
238c2ecf20Sopenharmony_ci * @param cfg  tuner hw based configuration
248c2ecf20Sopenharmony_ci * @return fe  pointer on success, NULL on failure
258c2ecf20Sopenharmony_ci */
268c2ecf20Sopenharmony_ci#if IS_REACHABLE(CONFIG_MEDIA_TUNER_QT1010)
278c2ecf20Sopenharmony_ciextern struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe,
288c2ecf20Sopenharmony_ci					  struct i2c_adapter *i2c,
298c2ecf20Sopenharmony_ci					  struct qt1010_config *cfg);
308c2ecf20Sopenharmony_ci#else
318c2ecf20Sopenharmony_cistatic inline struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe,
328c2ecf20Sopenharmony_ci						 struct i2c_adapter *i2c,
338c2ecf20Sopenharmony_ci						 struct qt1010_config *cfg)
348c2ecf20Sopenharmony_ci{
358c2ecf20Sopenharmony_ci	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
368c2ecf20Sopenharmony_ci	return NULL;
378c2ecf20Sopenharmony_ci}
388c2ecf20Sopenharmony_ci#endif // CONFIG_MEDIA_TUNER_QT1010
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#endif
41