aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-01-18 08:47:14 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-02-21 06:56:21 -0500
commit9bb13eed37cc17fd176346c2866e2584772953bb (patch)
treeec584dc5b15720ed846affb3f8251f8f85b874c9
parent058502eb38a0f687e5af37209488d03656f87ffe (diff)
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.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)
798 798
799 if (machine_is_shannon()) { 799 if (machine_is_shannon()) {
800 GPDR |= SHANNON_GPIO_DISP_EN; 800 GPDR |= SHANNON_GPIO_DISP_EN;
801 GPSR |= SHANNON_GPIO_DISP_EN; 801 GPSR = SHANNON_GPIO_DISP_EN;
802 } 802 }
803 803
804 dev_dbg(fbi->dev, "DBAR1 = 0x%08lx\n", DBAR1); 804 dev_dbg(fbi->dev, "DBAR1 = 0x%08lx\n", DBAR1);
@@ -816,7 +816,7 @@ static void sa1100fb_disable_controller(struct sa1100fb_info *fbi)
816 dev_dbg(fbi->dev, "Disabling LCD controller\n"); 816 dev_dbg(fbi->dev, "Disabling LCD controller\n");
817 817
818 if (machine_is_shannon()) { 818 if (machine_is_shannon()) {
819 GPCR |= SHANNON_GPIO_DISP_EN; 819 GPCR = SHANNON_GPIO_DISP_EN;
820 } 820 }
821 821
822 set_current_state(TASK_UNINTERRUPTIBLE); 822 set_current_state(TASK_UNINTERRUPTIBLE);