[media] support DVB-T2 for SONY CXD2841/54
[deliverable/linux.git] / drivers / media / dvb-frontends / cxd2841er.h
CommitLineData
a6dc60ff
KS
1/*
2 * cxd2841er.h
3 *
4 * Sony CXD2441ER digital demodulator driver public definitions
5 *
6 * Copyright 2012 Sony Corporation
7 * Copyright (C) 2014 NetUP Inc.
8 * Copyright (C) 2014 Sergey Kozlov <serjk@netup.ru>
9 * Copyright (C) 2014 Abylay Ospan <aospan@netup.ru>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 */
21
22#ifndef CXD2841ER_H
23#define CXD2841ER_H
24
25#include <linux/kconfig.h>
26#include <linux/dvb/frontend.h>
27
83808c23
AO
28enum cxd2841er_xtal {
29 SONY_XTAL_20500, /* 20.5 MHz */
30 SONY_XTAL_24000, /* 24 MHz */
31 SONY_XTAL_41000 /* 41 MHz */
32};
33
a6dc60ff
KS
34struct cxd2841er_config {
35 u8 i2c_addr;
83808c23 36 enum cxd2841er_xtal xtal;
a6dc60ff
KS
37};
38
39#if IS_REACHABLE(CONFIG_DVB_CXD2841ER)
40extern struct dvb_frontend *cxd2841er_attach_s(struct cxd2841er_config *cfg,
41 struct i2c_adapter *i2c);
42
43extern struct dvb_frontend *cxd2841er_attach_t(struct cxd2841er_config *cfg,
44 struct i2c_adapter *i2c);
45
46extern struct dvb_frontend *cxd2841er_attach_c(struct cxd2841er_config *cfg,
47 struct i2c_adapter *i2c);
83808c23
AO
48extern struct dvb_frontend *cxd2841er_attach_i(struct cxd2841er_config *cfg,
49 struct i2c_adapter *i2c);
a6dc60ff
KS
50#else
51static inline struct dvb_frontend *cxd2841er_attach_s(
52 struct cxd2841er_config *cfg,
53 struct i2c_adapter *i2c)
54{
83808c23 55 pr_warn("%s: driver disabled by Kconfig\n", __func__);
a6dc60ff
KS
56 return NULL;
57}
58
59static inline struct dvb_frontend *cxd2841er_attach_t(
60 struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
61{
83808c23 62 pr_warn("%s: driver disabled by Kconfig\n", __func__);
a6dc60ff
KS
63 return NULL;
64}
65
66static inline struct dvb_frontend *cxd2841er_attach_c(
67 struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
68{
83808c23
AO
69 pr_warn("%s: driver disabled by Kconfig\n", __func__);
70 return NULL;
71}
72
73static inline struct dvb_frontend *cxd2841er_attach_i(
74 struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
75{
76 pr_warn("%s: driver disabled by Kconfig\n", __func__);
a6dc60ff
KS
77 return NULL;
78}
83808c23 79
a6dc60ff
KS
80#endif
81
82#endif
This page took 0.066363 seconds and 5 git commands to generate.