aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/sa1100fb.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-01-18 13:47:14 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-02-21 11:56:21 +0000
commit9bb13eed37cc17fd176346c2866e2584772953bb (patch)
treeec584dc5b15720ed846affb3f8251f8f85b874c9 /drivers/video/sa1100fb.c
parentFB: sa1100: make GPIO configuration setting safe (diff)
downloadlinux-dev-9bb13eed37cc17fd176346c2866e2584772953bb.tar.xz
linux-dev-9bb13eed37cc17fd176346c2866e2584772953bb.zip
FB: sa11x0: fix shannon GPSR/GPCR accesses
The GPIO set and clear registers should only be written, rather than read, modified, and written. A read-modify-write will have undesired side effects. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/video/sa1100fb.c')
-rw-r--r--drivers/video/sa1100fb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index b644f0f1268c..f3f55eb61ca1 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -798,7 +798,7 @@ static void sa1100fb_enable_controller(struct sa1100fb_info *fbi)
if (machine_is_shannon()) {
GPDR |= SHANNON_GPIO_DISP_EN;
- GPSR |= SHANNON_GPIO_DISP_EN;
+ GPSR = SHANNON_GPIO_DISP_EN;
}
dev_dbg(fbi->dev, "DBAR1 = 0x%08lx\n", DBAR1);
@@ -816,7 +816,7 @@ static void sa1100fb_disable_controller(struct sa1100fb_info *fbi)
dev_dbg(fbi->dev, "Disabling LCD controller\n");
if (machine_is_shannon()) {
- GPCR |= SHANNON_GPIO_DISP_EN;
+ GPCR = SHANNON_GPIO_DISP_EN;
}
set_current_state(TASK_UNINTERRUPTIBLE);