Commit 11d3f323 authored by Matthias Schwarzott's avatar Matthias Schwarzott Committed by Mauro Carvalho Chehab

V4L/DVB (7575): mt312: add attach-time setting to invert lnb-voltage

Add a setting to config struct for inversion of lnb-voltage.
Needed for support of Avermedia A700 cards.
Signed-off-by: default avatarMatthias Schwarzott <zzam@gentoo.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 6a5cbd59
...@@ -422,11 +422,16 @@ static int mt312_set_voltage(struct dvb_frontend *fe, const fe_sec_voltage_t v) ...@@ -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; struct mt312_state *state = fe->demodulator_priv;
const u8 volt_tab[3] = { 0x00, 0x40, 0x00 }; const u8 volt_tab[3] = { 0x00, 0x40, 0x00 };
u8 val;
if (v > SEC_VOLTAGE_OFF) if (v > SEC_VOLTAGE_OFF)
return -EINVAL; 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) static int mt312_read_status(struct dvb_frontend *fe, fe_status_t *s)
......
...@@ -31,6 +31,9 @@ ...@@ -31,6 +31,9 @@
struct mt312_config { struct mt312_config {
/* the demodulator's i2c address */ /* the demodulator's i2c address */
u8 demod_address; u8 demod_address;
/* inverted voltage setting */
int voltage_inverted:1;
}; };
#if defined(CONFIG_DVB_MT312) || (defined(CONFIG_DVB_MT312_MODULE) && defined(MODULE)) #if defined(CONFIG_DVB_MT312) || (defined(CONFIG_DVB_MT312_MODULE) && defined(MODULE))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment