mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 05:01:48 +00:00
DVB (2432): LNB power can now be switched off for Activy Budget-S rev GR/AL.
- LNB power can now be switched off for Activy Budget-S rev GR/AL. Dishnetwork support fixed for Nova-S with bsbe1/lnbp21 frontend and Activy Budget-S rev AL. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
This commit is contained in:
parent
eb3daf3c5a
commit
f49cc15bbe
@ -404,9 +404,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev,
|
||||
tasklet_init(&budget->vpe_tasklet, vpeirq, (unsigned long) budget);
|
||||
|
||||
/* frontend power on */
|
||||
if (bi->type == BUDGET_FS_ACTIVY)
|
||||
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
|
||||
else
|
||||
if (bi->type != BUDGET_FS_ACTIVY)
|
||||
saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
|
||||
|
||||
if (budget_register(budget) == 0) {
|
||||
|
@ -112,6 +112,7 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
|
||||
* Routines for the Fujitsu Siemens Activy budget card
|
||||
* 22 kHz tone and DiSEqC are handled by the frontend.
|
||||
* Voltage must be set here.
|
||||
* GPIO 1: LNBP EN, GPIO 2: LNBP VSEL
|
||||
*/
|
||||
static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)
|
||||
{
|
||||
@ -121,11 +122,16 @@ static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)
|
||||
|
||||
switch (voltage) {
|
||||
case SEC_VOLTAGE_13:
|
||||
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
|
||||
saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO);
|
||||
break;
|
||||
case SEC_VOLTAGE_18:
|
||||
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI);
|
||||
saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI);
|
||||
break;
|
||||
case SEC_VOLTAGE_OFF:
|
||||
saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTLO);
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
@ -580,6 +586,7 @@ static void frontend_init(struct budget *budget)
|
||||
if (budget->dvb_frontend) {
|
||||
budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage;
|
||||
budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage;
|
||||
budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
|
||||
if (lnbp21_init(budget)) {
|
||||
printk("%s: No LNBP21 found!\n", __FUNCTION__);
|
||||
goto error_out;
|
||||
@ -624,7 +631,7 @@ static void frontend_init(struct budget *budget)
|
||||
budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap);
|
||||
if (budget->dvb_frontend) {
|
||||
budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
|
||||
break;
|
||||
budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -632,7 +639,7 @@ static void frontend_init(struct budget *budget)
|
||||
budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap);
|
||||
if (budget->dvb_frontend) {
|
||||
budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage;
|
||||
break;
|
||||
budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user