diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2008-04-22 13:46:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:52 -0400 |
commit | e9c1ac9d8d75eaf15126e38cc7d09db03d1a3fd6 (patch) | |
tree | 92fbc578aaa12331a0aa2f216659e48f3a65a86b /drivers/media/video | |
parent | a4df8e1d6ae460546dfa3b4f23a85cb5a4255109 (diff) |
V4L/DVB (7395): saa7134: start 2nd LND supply of Medion cards only if needed
The ISL6405 LNB supply is used on several Creatix / Medion cards. But only
the MD8800 needs its second section. So don't start it unless it is needed.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index f95f5f2fbf72..07614a8d8949 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -1052,10 +1052,12 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1052 | &dev->i2c_adap, 0x08, 0, 0) == NULL) | 1052 | &dev->i2c_adap, 0x08, 0, 0) == NULL) |
1053 | wprintk("%s: Medion Quadro, no ISL6405 " | 1053 | wprintk("%s: Medion Quadro, no ISL6405 " |
1054 | "found !\n", __func__); | 1054 | "found !\n", __func__); |
1055 | /* fire up the 2nd section of the LNB supply since we can't do | 1055 | if (dev_id == 0x07) { |
1056 | this from the other section */ | 1056 | /* fire up the 2nd section of the LNB supply since |
1057 | msg.buf = &data; | 1057 | we can't do this from the other section */ |
1058 | i2c_transfer(&dev->i2c_adap, &msg, 1); | 1058 | msg.buf = &data; |
1059 | i2c_transfer(&dev->i2c_adap, &msg, 1); | ||
1060 | } | ||
1059 | fe->ops.i2c_gate_ctrl(fe, 0); | 1061 | fe->ops.i2c_gate_ctrl(fe, 0); |
1060 | dev->original_set_voltage = fe->ops.set_voltage; | 1062 | dev->original_set_voltage = fe->ops.set_voltage; |
1061 | fe->ops.set_voltage = md8800_set_voltage; | 1063 | fe->ops.set_voltage = md8800_set_voltage; |
@@ -1248,7 +1250,7 @@ static int dvb_fini(struct saa7134_dev *dev) | |||
1248 | /* otherwise we don't detect the tuner on next insmod */ | 1250 | /* otherwise we don't detect the tuner on next insmod */ |
1249 | saa7134_i2c_call_clients(dev, TUNER_SET_CONFIG, &tda9887_cfg); | 1251 | saa7134_i2c_call_clients(dev, TUNER_SET_CONFIG, &tda9887_cfg); |
1250 | } else if (dev->board == SAA7134_BOARD_MEDION_MD8800_QUADRO) { | 1252 | } else if (dev->board == SAA7134_BOARD_MEDION_MD8800_QUADRO) { |
1251 | if ((dev->eedata[2] != 0x08) && use_frontend) { | 1253 | if ((dev->eedata[2] == 0x07) && use_frontend) { |
1252 | /* turn off the 2nd lnb supply */ | 1254 | /* turn off the 2nd lnb supply */ |
1253 | u8 data = 0x80; | 1255 | u8 data = 0x80; |
1254 | struct i2c_msg msg = {.addr = 0x08, .buf = &data, .flags = 0, .len = 1}; | 1256 | struct i2c_msg msg = {.addr = 0x08, .buf = &data, .flags = 0, .len = 1}; |