summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/tda9887.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/tda9887.c')
-rw-r--r--linux/drivers/media/video/tda9887.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/linux/drivers/media/video/tda9887.c b/linux/drivers/media/video/tda9887.c
index 4385c2ee2..377ac7397 100644
--- a/linux/drivers/media/video/tda9887.c
+++ b/linux/drivers/media/video/tda9887.c
@@ -370,7 +370,7 @@ static int tda9887_set_tvnorm(struct tda9887 *t, char *buf)
static unsigned int port1 = 1;
static unsigned int port2 = 1;
-static unsigned int qss = 0;
+static unsigned int qss = UNSET;
static unsigned int adjust = 0x10;
MODULE_PARM(port1,"i");
MODULE_PARM(port2,"i");
@@ -383,10 +383,16 @@ static int tda9887_set_insmod(struct tda9887 *t, char *buf)
buf[1] |= cOutputPort1Inactive;
if (port2)
buf[1] |= cOutputPort2Inactive;
- if (qss)
- buf[1] |= cQSS;
+ if (UNSET != qss) {
+ if (qss)
+ buf[1] |= cQSS;
+ else
+ buf[1] &= ~cQSS;
+ }
+
if (adjust >= 0x00 && adjust < 0x20)
buf[2] |= adjust;
+ return 0;
}
/* ---------------------------------------------------------------------- */
@@ -500,6 +506,7 @@ static int tda9887_status(struct tda9887 *t)
if (1 != (rc = i2c_master_recv(&t->client,buf,1)))
printk(PREFIX "i2c i/o error: rc == %d (should be 1)\n",rc);
dump_read_message(buf);
+ return 0;
}
/* ---------------------------------------------------------------------- */