diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-18 08:47:14 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-21 06:56:21 -0500 |
commit | 9bb13eed37cc17fd176346c2866e2584772953bb (patch) | |
tree | ec584dc5b15720ed846affb3f8251f8f85b874c9 | |
parent | 058502eb38a0f687e5af37209488d03656f87ffe (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.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) | |||
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); |