summaryrefslogtreecommitdiff
path: root/drivers/media/video/cx18/cx18-gpio.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2008-05-20 05:13:02 +0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-06-05 13:35:44 +0400
commit7f3917f6484938d56cb5ab660f476c1dfa445a81 (patch)
treed1e4dcdfe640c08b7b6008446dcf2e25ab3d0802 /drivers/media/video/cx18/cx18-gpio.c
parent3b4a9714f43a1d675a4352260a12daae197f37c3 (diff)
downloadlinux-7f3917f6484938d56cb5ab660f476c1dfa445a81.tar.xz
V4L/DVB (7925): cx18: ensure that the xceive pin is always asserted on init.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx18/cx18-gpio.c')
-rw-r--r--drivers/media/video/cx18/cx18-gpio.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/media/video/cx18/cx18-gpio.c b/drivers/media/video/cx18/cx18-gpio.c
index bb8bc86086d0..1e0d32b992f9 100644
--- a/drivers/media/video/cx18/cx18-gpio.c
+++ b/drivers/media/video/cx18/cx18-gpio.c
@@ -62,12 +62,14 @@ void cx18_gpio_init(struct cx18 *cx)
gpio_dir = cx->card->gpio_init.direction;
gpio_val = cx->card->gpio_init.initial_value;
+ if (cx->card->xceive_pin) {
+ gpio_dir |= 1 << cx->card->xceive_pin;
+ gpio_val |= 1 << cx->card->xceive_pin;
+ }
+
if (gpio_dir == 0)
return;
- gpio_dir |= 1 << cx->card->xceive_pin;
- gpio_val |= 1 << cx->card->xceive_pin;
-
CX18_DEBUG_INFO("GPIO initial dir: %08x/%08x out: %08x/%08x\n",
read_reg(CX18_REG_GPIO_DIR1), read_reg(CX18_REG_GPIO_DIR2),
read_reg(CX18_REG_GPIO_OUT1), read_reg(CX18_REG_GPIO_OUT2));