162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  Driver for Microtune MT2131 "QAM/8VSB single chip tuner"
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef __MT2131_H__
962306a36Sopenharmony_ci#define __MT2131_H__
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_cistruct dvb_frontend;
1262306a36Sopenharmony_cistruct i2c_adapter;
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistruct mt2131_config {
1562306a36Sopenharmony_ci	u8 i2c_address;
1662306a36Sopenharmony_ci	u8 clock_out; /* 0 = off, 1 = CLK/4, 2 = CLK/2, 3 = CLK/1 */
1762306a36Sopenharmony_ci};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2131)
2062306a36Sopenharmony_ciextern struct dvb_frontend* mt2131_attach(struct dvb_frontend *fe,
2162306a36Sopenharmony_ci					  struct i2c_adapter *i2c,
2262306a36Sopenharmony_ci					  struct mt2131_config *cfg,
2362306a36Sopenharmony_ci					  u16 if1);
2462306a36Sopenharmony_ci#else
2562306a36Sopenharmony_cistatic inline struct dvb_frontend* mt2131_attach(struct dvb_frontend *fe,
2662306a36Sopenharmony_ci						 struct i2c_adapter *i2c,
2762306a36Sopenharmony_ci						 struct mt2131_config *cfg,
2862306a36Sopenharmony_ci						 u16 if1)
2962306a36Sopenharmony_ci{
3062306a36Sopenharmony_ci	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
3162306a36Sopenharmony_ci	return NULL;
3262306a36Sopenharmony_ci}
3362306a36Sopenharmony_ci#endif /* CONFIG_MEDIA_TUNER_MT2131 */
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#endif /* __MT2131_H__ */
36