V4L/DVB (3389): Fix broken IF-OUT Relay handling
Fixed broken IF-OUT on pinnacle sat board. Thanks to Edgar Toernig Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Родитель
1e7eb89ba9
Коммит
e7ac46469c
|
@ -239,6 +239,20 @@ static int cx24108_pll_set(struct dvb_frontend* fe, struct dvb_frontend_paramete
|
|||
|
||||
static int pinnsat_pll_init(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dvb_bt8xx_card *card = fe->dvb->priv;
|
||||
|
||||
bttv_gpio_enable(card->bttv_nr, 1, 1); /* output */
|
||||
bttv_write_gpio(card->bttv_nr, 1, 1); /* relay on */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int pinnsat_pll_sleep(struct dvb_frontend* fe)
|
||||
{
|
||||
struct dvb_bt8xx_card *card = fe->dvb->priv;
|
||||
|
||||
bttv_write_gpio(card->bttv_nr, 1, 0); /* relay off */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -246,6 +260,7 @@ static struct cx24110_config pctvsat_config = {
|
|||
.demod_address = 0x55,
|
||||
.pll_init = pinnsat_pll_init,
|
||||
.pll_set = cx24108_pll_set,
|
||||
.pll_sleep = pinnsat_pll_sleep,
|
||||
};
|
||||
|
||||
static int microtune_mt7202dtf_pll_set(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
|
||||
|
|
|
@ -371,6 +371,15 @@ static int cx24110_initfe(struct dvb_frontend* fe)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cx24110_sleep(struct dvb_frontend *fe)
|
||||
{
|
||||
struct cx24110_state *state = fe->demodulator_priv;
|
||||
|
||||
if (state->config->pll_sleep)
|
||||
return state->config->pll_sleep(fe);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cx24110_set_voltage (struct dvb_frontend* fe, fe_sec_voltage_t voltage)
|
||||
{
|
||||
struct cx24110_state *state = fe->demodulator_priv;
|
||||
|
@ -642,6 +651,7 @@ static struct dvb_frontend_ops cx24110_ops = {
|
|||
.release = cx24110_release,
|
||||
|
||||
.init = cx24110_initfe,
|
||||
.sleep = cx24110_sleep,
|
||||
.set_frontend = cx24110_set_frontend,
|
||||
.get_frontend = cx24110_get_frontend,
|
||||
.read_status = cx24110_read_status,
|
||||
|
|
|
@ -35,6 +35,7 @@ struct cx24110_config
|
|||
/* PLL maintenance */
|
||||
int (*pll_init)(struct dvb_frontend* fe);
|
||||
int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
|
||||
int (*pll_sleep)(struct dvb_frontend* fe);
|
||||
};
|
||||
|
||||
extern struct dvb_frontend* cx24110_attach(const struct cx24110_config* config,
|
||||
|
|
Загрузка…
Ссылка в новой задаче