diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-18 17:47:14 +0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-21 15:56:21 +0400 |
commit | 9bb13eed37cc17fd176346c2866e2584772953bb (patch) | |
tree | ec584dc5b15720ed846affb3f8251f8f85b874c9 | |
parent | 058502eb38a0f687e5af37209488d03656f87ffe (diff) | |
download | linux-9bb13eed37cc17fd176346c2866e2584772953bb.tar.xz |
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>
-rw-r--r-- | drivers/video/sa1100fb.c | 4 |
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); |