diff options
Diffstat (limited to 'drivers/media/dvb/ttpci/budget.c')
| -rw-r--r-- | drivers/media/dvb/ttpci/budget.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c index fafe6407b3d0..238c77b52f89 100644 --- a/drivers/media/dvb/ttpci/budget.c +++ b/drivers/media/dvb/ttpci/budget.c | |||
| @@ -112,6 +112,7 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long | |||
| 112 | * Routines for the Fujitsu Siemens Activy budget card | 112 | * Routines for the Fujitsu Siemens Activy budget card |
| 113 | * 22 kHz tone and DiSEqC are handled by the frontend. | 113 | * 22 kHz tone and DiSEqC are handled by the frontend. |
| 114 | * Voltage must be set here. | 114 | * Voltage must be set here. |
| 115 | * GPIO 1: LNBP EN, GPIO 2: LNBP VSEL | ||
| 115 | */ | 116 | */ |
| 116 | static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) | 117 | static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) |
| 117 | { | 118 | { |
| @@ -121,11 +122,16 @@ static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage) | |||
| 121 | 122 | ||
| 122 | switch (voltage) { | 123 | switch (voltage) { |
| 123 | case SEC_VOLTAGE_13: | 124 | case SEC_VOLTAGE_13: |
| 125 | saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI); | ||
| 124 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO); | 126 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTLO); |
| 125 | break; | 127 | break; |
| 126 | case SEC_VOLTAGE_18: | 128 | case SEC_VOLTAGE_18: |
| 129 | saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTHI); | ||
| 127 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI); | 130 | saa7146_setgpio(dev, 2, SAA7146_GPIO_OUTHI); |
| 128 | break; | 131 | break; |
| 132 | case SEC_VOLTAGE_OFF: | ||
| 133 | saa7146_setgpio(dev, 1, SAA7146_GPIO_OUTLO); | ||
| 134 | break; | ||
| 129 | default: | 135 | default: |
| 130 | return -EINVAL; | 136 | return -EINVAL; |
| 131 | } | 137 | } |
| @@ -206,7 +212,7 @@ static int lnbp21_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage) | |||
| 206 | return 0; | 212 | return 0; |
| 207 | } | 213 | } |
| 208 | 214 | ||
| 209 | static int lnbp21_enable_high_lnb_voltage(struct dvb_frontend* fe, int arg) | 215 | static int lnbp21_enable_high_lnb_voltage(struct dvb_frontend* fe, long arg) |
| 210 | { | 216 | { |
| 211 | struct budget* budget = (struct budget*) fe->dvb->priv; | 217 | struct budget* budget = (struct budget*) fe->dvb->priv; |
| 212 | u8 buf; | 218 | u8 buf; |
| @@ -580,6 +586,7 @@ static void frontend_init(struct budget *budget) | |||
| 580 | if (budget->dvb_frontend) { | 586 | if (budget->dvb_frontend) { |
| 581 | budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage; | 587 | budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage; |
| 582 | budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage; | 588 | budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage; |
| 589 | budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL; | ||
| 583 | if (lnbp21_init(budget)) { | 590 | if (lnbp21_init(budget)) { |
| 584 | printk("%s: No LNBP21 found!\n", __FUNCTION__); | 591 | printk("%s: No LNBP21 found!\n", __FUNCTION__); |
| 585 | goto error_out; | 592 | goto error_out; |
| @@ -624,7 +631,7 @@ static void frontend_init(struct budget *budget) | |||
| 624 | budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap); | 631 | budget->dvb_frontend = stv0299_attach(&alps_bsru6_config, &budget->i2c_adap); |
| 625 | if (budget->dvb_frontend) { | 632 | if (budget->dvb_frontend) { |
| 626 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; | 633 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; |
| 627 | break; | 634 | budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL; |
| 628 | } | 635 | } |
| 629 | break; | 636 | break; |
| 630 | 637 | ||
| @@ -632,7 +639,7 @@ static void frontend_init(struct budget *budget) | |||
| 632 | budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap); | 639 | budget->dvb_frontend = tda8083_attach(&grundig_29504_451_config, &budget->i2c_adap); |
| 633 | if (budget->dvb_frontend) { | 640 | if (budget->dvb_frontend) { |
| 634 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; | 641 | budget->dvb_frontend->ops->set_voltage = siemens_budget_set_voltage; |
| 635 | break; | 642 | budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL; |
| 636 | } | 643 | } |
| 637 | break; | 644 | break; |
| 638 | 645 | ||
