59 lines
1.7 KiB
Diff
59 lines
1.7 KiB
Diff
From 4f0ee023bddd9630a8ed5ba19c249bbea3a21682 Mon Sep 17 00:00:00 2001
|
|
From: Marko Ristola <marko.ristola@kolumbus.fi>
|
|
Date: Fri, 4 Dec 2009 04:35:35 -0300
|
|
Subject: [PATCH 020/120] V4L/DVB (13718): [Mantis] Use gpio_set_bits to turn OFF the bits as well
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Signed-off-by: Marko Ristola <marko.ristola@kolumbus.fi>
|
|
Signed-off-by: Manu Abraham <manu@linuxtv.org>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
(cherry picked from commit f8e26cdec5ac25ae8d73e278e21033292de5430b)
|
|
|
|
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
|
---
|
|
drivers/media/dvb/mantis/mantis_core.c | 16 +++++++---------
|
|
1 files changed, 7 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/drivers/media/dvb/mantis/mantis_core.c b/drivers/media/dvb/mantis/mantis_core.c
|
|
index d159ad6..16d693e 100644
|
|
--- a/drivers/media/dvb/mantis/mantis_core.c
|
|
+++ b/drivers/media/dvb/mantis/mantis_core.c
|
|
@@ -172,25 +172,23 @@ int mantis_core_exit(struct mantis_pci *mantis)
|
|
return 0;
|
|
}
|
|
|
|
+// Turn the given bit on or off.
|
|
void gpio_set_bits(struct mantis_pci *mantis, u32 bitpos, u8 value)
|
|
{
|
|
- u32 reg;
|
|
+ u32 currVal, newVal;
|
|
+
|
|
+ currVal = mmread(MANTIS_GPIF_ADDR);
|
|
|
|
if (value)
|
|
- reg = 0x0000;
|
|
+ newVal = currVal | (1 << bitpos);
|
|
else
|
|
- reg = 0xffff;
|
|
-
|
|
- reg = (value << bitpos);
|
|
+ newVal = currVal & (~(1 << bitpos));
|
|
|
|
- mmwrite(mmread(MANTIS_GPIF_ADDR) | reg, MANTIS_GPIF_ADDR);
|
|
+ mmwrite(newVal, MANTIS_GPIF_ADDR);
|
|
mmwrite(0x00, MANTIS_GPIF_DOUT);
|
|
udelay(100);
|
|
- mmwrite(mmread(MANTIS_GPIF_ADDR) | reg, MANTIS_GPIF_ADDR);
|
|
- mmwrite(0x00, MANTIS_GPIF_DOUT);
|
|
}
|
|
|
|
-
|
|
//direction = 0 , no CI passthrough ; 1 , CI passthrough
|
|
void mantis_set_direction(struct mantis_pci *mantis, int direction)
|
|
{
|
|
--
|
|
1.7.1
|
|
|