aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2009-12-03 03:37:51 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-01-17 08:55:29 -0500
commit715d341c59d2563940ae07b12f949555ccbe3efb (patch)
tree1f00fe94a44e6ce81f0cdefaae51f5eb468266b2
parentda7365f46607207c8166167ba497e3cb3e02270d (diff)
V4L/DVB (13709): [Mantis/VP-1034] Switch 13/18v for the VP-1034 properly
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/mantis/mantis_i2c.c10
-rw-r--r--drivers/media/dvb/mantis/mantis_vp1034.c6
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/media/dvb/mantis/mantis_i2c.c b/drivers/media/dvb/mantis/mantis_i2c.c
index 8b90a2af6871..53c5f88227be 100644
--- a/drivers/media/dvb/mantis/mantis_i2c.c
+++ b/drivers/media/dvb/mantis/mantis_i2c.c
@@ -39,7 +39,7 @@ static int mantis_ack_wait(struct mantis_pci *mantis)
39 mantis->mantis_int_stat & MANTIS_INT_I2CDONE, 39 mantis->mantis_int_stat & MANTIS_INT_I2CDONE,
40 msecs_to_jiffies(50)) == -ERESTARTSYS) { 40 msecs_to_jiffies(50)) == -ERESTARTSYS) {
41 41
42 dprintk(verbose, MANTIS_DEBUG, 1, "I2C Transfer failed, Master !I2CDONE"); 42 dprintk(verbose, MANTIS_DEBUG, 1, "Master !I2CDONE");
43 rc = -EREMOTEIO; 43 rc = -EREMOTEIO;
44 } 44 }
45 while (!(mantis->mantis_int_stat & MANTIS_INT_I2CRACK)) { 45 while (!(mantis->mantis_int_stat & MANTIS_INT_I2CRACK)) {
@@ -62,7 +62,9 @@ static int mantis_i2c_read(struct mantis_pci *mantis, const struct i2c_msg *msg)
62{ 62{
63 u32 rxd, i; 63 u32 rxd, i;
64 64
65 dprintk(verbose, MANTIS_INFO, 0, " %s: Address=[0x%02x] <R>[ ", __func__, msg->addr); 65 dprintk(verbose, MANTIS_INFO, 0, " %s: Address=[0x%02x] <R>[ ",
66 __func__, msg->addr);
67
66 for (i = 0; i < msg->len; i++) { 68 for (i = 0; i < msg->len; i++) {
67 rxd = (msg->addr << 25) | (1 << 24) 69 rxd = (msg->addr << 25) | (1 << 24)
68 | MANTIS_I2C_RATE_3 70 | MANTIS_I2C_RATE_3
@@ -92,7 +94,9 @@ static int mantis_i2c_write(struct mantis_pci *mantis, const struct i2c_msg *msg
92 int i; 94 int i;
93 u32 txd = 0; 95 u32 txd = 0;
94 96
95 dprintk(verbose, MANTIS_INFO, 0, " %s: Address=[0x%02x] <W>[ ", __func__, msg->addr); 97 dprintk(verbose, MANTIS_INFO, 0, " %s: Address=[0x%02x] <W>[ ",
98 __func__, msg->addr);
99
96 for (i = 0; i < msg->len; i++) { 100 for (i = 0; i < msg->len; i++) {
97 dprintk(verbose, MANTIS_INFO, 0, "%02x ", msg->buf[i]); 101 dprintk(verbose, MANTIS_INFO, 0, "%02x ", msg->buf[i]);
98 txd = (msg->addr << 25) | (msg->buf[i] << 8) 102 txd = (msg->addr << 25) | (msg->buf[i] << 8)
diff --git a/drivers/media/dvb/mantis/mantis_vp1034.c b/drivers/media/dvb/mantis/mantis_vp1034.c
index c9c947911627..f6766d0793d7 100644
--- a/drivers/media/dvb/mantis/mantis_vp1034.c
+++ b/drivers/media/dvb/mantis/mantis_vp1034.c
@@ -40,12 +40,14 @@ int vp1034_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
40 40
41 switch (voltage) { 41 switch (voltage) {
42 case SEC_VOLTAGE_13: 42 case SEC_VOLTAGE_13:
43 mmwrite((mmread(MANTIS_GPIF_ADDR)) | voltage, MANTIS_GPIF_ADDR);
44 dprintk(verbose, MANTIS_ERROR, 1, "Polarization=[13V]"); 43 dprintk(verbose, MANTIS_ERROR, 1, "Polarization=[13V]");
44 gpio_set_bits(mantis, 13, 1);
45 gpio_set_bits(mantis, 14, 0);
45 break; 46 break;
46 case SEC_VOLTAGE_18: 47 case SEC_VOLTAGE_18:
47 mmwrite((mmread(MANTIS_GPIF_ADDR)) & voltage, MANTIS_GPIF_ADDR);
48 dprintk(verbose, MANTIS_ERROR, 1, "Polarization=[18V]"); 48 dprintk(verbose, MANTIS_ERROR, 1, "Polarization=[18V]");
49 gpio_set_bits(mantis, 13, 1);
50 gpio_set_bits(mantis, 14, 1);
49 break; 51 break;
50 case SEC_VOLTAGE_OFF: 52 case SEC_VOLTAGE_OFF:
51 dprintk(verbose, MANTIS_ERROR, 1, "Frontend (dummy) POWERDOWN"); 53 dprintk(verbose, MANTIS_ERROR, 1, "Frontend (dummy) POWERDOWN");