summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/cxd2841er.h
diff options
context:
space:
mode:
authorAbylay Ospan <aospan@netup.ru>2016-03-22 19:20:34 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-06-07 12:08:12 -0300
commit83808c23e51a61f06f465dce8cb63dbac8d422f1 (patch)
tree47808c245b0ab34babe0fce07eb078b8212c01b5 /drivers/media/dvb-frontends/cxd2841er.h
parent2dc1ed4edbac1d08e5bb73ae4a00a592011bde64 (diff)
downloadop-kernel-dev-83808c23e51a61f06f465dce8cb63dbac8d422f1.zip
op-kernel-dev-83808c23e51a61f06f465dce8cb63dbac8d422f1.tar.gz
[media] Add support Sony CXD2854ER demodulator
CXD2854ER is identical to CXD2841ER except ISDB-T/S added. New method 'cxd2841er_attach_i' is added xtal frequency now configurable. Available options: 20.5MHz, 24MHz, 41MHz Signed-off-by: Abylay Ospan <aospan@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/dvb-frontends/cxd2841er.h')
-rw-r--r--drivers/media/dvb-frontends/cxd2841er.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/drivers/media/dvb-frontends/cxd2841er.h b/drivers/media/dvb-frontends/cxd2841er.h
index 3472bdd..9b0d2c1 100644
--- a/drivers/media/dvb-frontends/cxd2841er.h
+++ b/drivers/media/dvb-frontends/cxd2841er.h
@@ -25,8 +25,15 @@
#include <linux/kconfig.h>
#include <linux/dvb/frontend.h>
+enum cxd2841er_xtal {
+ SONY_XTAL_20500, /* 20.5 MHz */
+ SONY_XTAL_24000, /* 24 MHz */
+ SONY_XTAL_41000 /* 41 MHz */
+};
+
struct cxd2841er_config {
u8 i2c_addr;
+ enum cxd2841er_xtal xtal;
};
#if IS_REACHABLE(CONFIG_DVB_CXD2841ER)
@@ -38,28 +45,38 @@ extern struct dvb_frontend *cxd2841er_attach_t(struct cxd2841er_config *cfg,
extern struct dvb_frontend *cxd2841er_attach_c(struct cxd2841er_config *cfg,
struct i2c_adapter *i2c);
+extern struct dvb_frontend *cxd2841er_attach_i(struct cxd2841er_config *cfg,
+ struct i2c_adapter *i2c);
#else
static inline struct dvb_frontend *cxd2841er_attach_s(
struct cxd2841er_config *cfg,
struct i2c_adapter *i2c)
{
- printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ pr_warn("%s: driver disabled by Kconfig\n", __func__);
return NULL;
}
static inline struct dvb_frontend *cxd2841er_attach_t(
struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
{
- printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ pr_warn("%s: driver disabled by Kconfig\n", __func__);
return NULL;
}
static inline struct dvb_frontend *cxd2841er_attach_c(
struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
{
- printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ pr_warn("%s: driver disabled by Kconfig\n", __func__);
+ return NULL;
+}
+
+static inline struct dvb_frontend *cxd2841er_attach_i(
+ struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
+{
+ pr_warn("%s: driver disabled by Kconfig\n", __func__);
return NULL;
}
+
#endif
#endif
OpenPOWER on IntegriCloud