blob: 29e84c434de1fb484a2bc2f852cb52018adebc25 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001/*
2 * Fitipower FC0012 tuner driver - include
3 *
4 * Copyright (C) 2012 Hans-Frieder Vogt <hfvogt@gmx.net>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 */
16
17#ifndef _FC0012_H_
18#define _FC0012_H_
19
20#include <media/dvb_frontend.h>
21#include "fc001x-common.h"
22
23struct fc0012_config {
24 /*
25 * I2C address
26 */
27 u8 i2c_address;
28
29 /*
30 * clock
31 */
32 enum fc001x_xtal_freq xtal_freq;
33
34 bool dual_master;
35
36 /*
37 * RF loop-through
38 */
39 bool loop_through;
40
41 /*
42 * clock output
43 */
44 bool clock_out;
45};
46
47#if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0012)
48extern struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
49 struct i2c_adapter *i2c,
50 const struct fc0012_config *cfg);
51#else
52static inline struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
53 struct i2c_adapter *i2c,
54 const struct fc0012_config *cfg)
55{
56 pr_warn("%s: driver disabled by Kconfig\n", __func__);
57 return NULL;
58}
59#endif
60
61#endif