From 29bc0d96928ab9169b593087c46dc2ce4213e9bd Mon Sep 17 00:00:00 2001 From: Yeasah Pell Date: Tue, 26 Sep 2006 12:30:14 -0300 Subject: [PATCH] --- yaml --- r: 37397 b: refs/heads/master c: ef76856d26087f897e163b9fd8b2f7bd0cd54fc7 h: refs/heads/master i: 37395: 30c1b29997685e62931e12c8e575b63223bf6e87 v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/frontends/cx24123.c | 7 +++++++ trunk/drivers/media/dvb/frontends/cx24123.h | 3 +++ trunk/drivers/media/video/cx88/cx88-dvb.c | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0a8dfb31612f..039c8360a547 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8d90ee5e0e57b67e6e5c01cb14495fb69edccbbf +refs/heads/master: ef76856d26087f897e163b9fd8b2f7bd0cd54fc7 diff --git a/trunk/drivers/media/dvb/frontends/cx24123.c b/trunk/drivers/media/dvb/frontends/cx24123.c index f77b2d59955c..62d69a6ea699 100644 --- a/trunk/drivers/media/dvb/frontends/cx24123.c +++ b/trunk/drivers/media/dvb/frontends/cx24123.c @@ -661,6 +661,10 @@ static int cx24123_initfe(struct dvb_frontend* fe) for (i = 0; i < sizeof(cx24123_regdata) / sizeof(cx24123_regdata[0]); i++) cx24123_writereg(state, cx24123_regdata[i].reg, cx24123_regdata[i].data); + /* Set the LNB polarity */ + if(state->config->lnb_polarity) + cx24123_writereg(state, 0x32, cx24123_readreg(state, 0x32) | 0x02); + return 0; } @@ -678,6 +682,9 @@ static int cx24123_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage case SEC_VOLTAGE_18: dprintk("%s: setting voltage 18V\n", __FUNCTION__); return cx24123_writereg(state, 0x29, val | 0x80); + case SEC_VOLTAGE_OFF: + /* already handled in cx88-dvb */ + return 0; default: return -EINVAL; }; diff --git a/trunk/drivers/media/dvb/frontends/cx24123.h b/trunk/drivers/media/dvb/frontends/cx24123.h index 6a8cb4c41adf..57a1dae1dc40 100644 --- a/trunk/drivers/media/dvb/frontends/cx24123.h +++ b/trunk/drivers/media/dvb/frontends/cx24123.h @@ -30,6 +30,9 @@ struct cx24123_config /* Need to set device param for start_dma */ int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); + + /* 0 = LNB voltage normal, 1 = LNB voltage inverted */ + int lnb_polarity; }; #if defined(CONFIG_DVB_CX24123) || defined(CONFIG_DVB_CX24123_MODULE) diff --git a/trunk/drivers/media/video/cx88/cx88-dvb.c b/trunk/drivers/media/video/cx88/cx88-dvb.c index ebbf54077132..0771acbed74d 100644 --- a/trunk/drivers/media/video/cx88/cx88-dvb.c +++ b/trunk/drivers/media/video/cx88/cx88-dvb.c @@ -498,6 +498,7 @@ static struct cx24123_config hauppauge_novas_config = { static struct cx24123_config kworld_dvbs_100_config = { .demod_address = 0x15, .set_ts_params = cx24123_set_ts_param, + .lnb_polarity = 1, }; static int dvb_register(struct cx8802_dev *dev)