diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2008-03-20 01:48:02 +0100 |
---|---|---|
committer | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2008-03-20 01:48:02 +0100 |
commit | 96b41e376ce705c162a858f8ea22a367b39f91a9 (patch) | |
tree | 5bc1d54a66828bc02ff1680cdb201f8cb1e00480 /linux/drivers/media/video | |
parent | 03ce4f2e40560c24703b1f60c0adda58500adf38 (diff) | |
download | mediapointer-dvb-s2-96b41e376ce705c162a858f8ea22a367b39f91a9.tar.gz mediapointer-dvb-s2-96b41e376ce705c162a858f8ea22a367b39f91a9.tar.bz2 |
saa7134: start 2nd LND supply of Medion cards only if needed
From: Hartmut Hackmann <hartmut.hackmann@t-online.de>
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>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-dvb.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-dvb.c b/linux/drivers/media/video/saa7134/saa7134-dvb.c index 2d992509c..ceec099ee 100644 --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c @@ -1055,10 +1055,12 @@ static int dvb_init(struct saa7134_dev *dev) &dev->i2c_adap, 0x08, 0, 0) == NULL) wprintk("%s: Medion Quadro, no ISL6405 " "found !\n", __func__); - /* fire up the 2nd section of the LNB supply since we can't do - this from the other section */ - msg.buf = &data; - i2c_transfer(&dev->i2c_adap, &msg, 1); + if (dev_id == 0x07) { + /* fire up the 2nd section of the LNB supply since + we can't do this from the other section */ + msg.buf = &data; + i2c_transfer(&dev->i2c_adap, &msg, 1); + } fe->ops.i2c_gate_ctrl(fe, 0); dev->original_set_voltage = fe->ops.set_voltage; fe->ops.set_voltage = md8800_set_voltage; @@ -1255,7 +1257,7 @@ static int dvb_fini(struct saa7134_dev *dev) /* otherwise we don't detect the tuner on next insmod */ saa7134_i2c_call_clients(dev, TUNER_SET_CONFIG, &tda9887_cfg); } else if (dev->board == SAA7134_BOARD_MEDION_MD8800_QUADRO) { - if ((dev->eedata[2] != 0x08) && use_frontend) { + if ((dev->eedata[2] == 0x07) && use_frontend) { /* turn off the 2nd lnb supply */ u8 data = 0x80; struct i2c_msg msg = {.addr = 0x08, .buf = &data, .flags = 0, .len = 1}; |