diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-18 14:47:14 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-21 12:56:21 +0100 |
commit | 9bb13eed37cc17fd176346c2866e2584772953bb (patch) | |
tree | ec584dc5b15720ed846affb3f8251f8f85b874c9 /drivers | |
parent | FB: sa1100: make GPIO configuration setting safe (diff) | |
download | linux-9bb13eed37cc17fd176346c2866e2584772953bb.tar.xz linux-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')
-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); |