diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-12 15:04:50 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-12 15:04:50 +0000 |
commit | aad022d99cb9a72d6857c4bef808a52cdcb3e824 (patch) | |
tree | 89fa151f91dfb1a8c8cce7eeb74914a5bc1dfdcb | |
parent | 0ba3a76bd1071627a6f595c6018024b3c1d0d7f7 (diff) | |
download | mediapointer-dvb-s2-aad022d99cb9a72d6857c4bef808a52cdcb3e824.tar.gz mediapointer-dvb-s2-aad022d99cb9a72d6857c4bef808a52cdcb3e824.tar.bz2 |
mt312: add attach-time setting to invert lnb-voltage
From: Matthias Schwarzott <zzam@gentoo.org>
Add a setting to config struct for inversion of lnb-voltage.
Needed for support of Avermedia A700 cards.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | linux/drivers/media/dvb/frontends/mt312.c | 7 | ||||
-rw-r--r-- | linux/drivers/media/dvb/frontends/mt312.h | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/mt312.c b/linux/drivers/media/dvb/frontends/mt312.c index e17a36180..081ca3398 100644 --- a/linux/drivers/media/dvb/frontends/mt312.c +++ b/linux/drivers/media/dvb/frontends/mt312.c @@ -422,11 +422,16 @@ static int mt312_set_voltage(struct dvb_frontend *fe, const fe_sec_voltage_t v) { struct mt312_state *state = fe->demodulator_priv; const u8 volt_tab[3] = { 0x00, 0x40, 0x00 }; + u8 val; if (v > SEC_VOLTAGE_OFF) return -EINVAL; - return mt312_writereg(state, DISEQC_MODE, volt_tab[v]); + val = volt_tab[v]; + if (state->config->voltage_inverted) + val ^= 0x40; + + return mt312_writereg(state, DISEQC_MODE, val); } static int mt312_read_status(struct dvb_frontend *fe, fe_status_t *s) diff --git a/linux/drivers/media/dvb/frontends/mt312.h b/linux/drivers/media/dvb/frontends/mt312.h index afe24fd82..96338f0c4 100644 --- a/linux/drivers/media/dvb/frontends/mt312.h +++ b/linux/drivers/media/dvb/frontends/mt312.h @@ -31,6 +31,9 @@ struct mt312_config { /* the demodulator's i2c address */ u8 demod_address; + + /* inverted voltage setting */ + int voltage_inverted:1; }; #if defined(CONFIG_DVB_MT312) || (defined(CONFIG_DVB_MT312_MODULE) && defined(MODULE)) |