Commit 9bb13eed authored by Russell King's avatar Russell King

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: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 058502eb
...@@ -798,7 +798,7 @@ static void sa1100fb_enable_controller(struct sa1100fb_info *fbi) ...@@ -798,7 +798,7 @@ static void sa1100fb_enable_controller(struct sa1100fb_info *fbi)
if (machine_is_shannon()) { if (machine_is_shannon()) {
GPDR |= SHANNON_GPIO_DISP_EN; GPDR |= SHANNON_GPIO_DISP_EN;
GPSR |= SHANNON_GPIO_DISP_EN; GPSR = SHANNON_GPIO_DISP_EN;
} }
dev_dbg(fbi->dev, "DBAR1 = 0x%08lx\n", DBAR1); dev_dbg(fbi->dev, "DBAR1 = 0x%08lx\n", DBAR1);
...@@ -816,7 +816,7 @@ static void sa1100fb_disable_controller(struct sa1100fb_info *fbi) ...@@ -816,7 +816,7 @@ static void sa1100fb_disable_controller(struct sa1100fb_info *fbi)
dev_dbg(fbi->dev, "Disabling LCD controller\n"); dev_dbg(fbi->dev, "Disabling LCD controller\n");
if (machine_is_shannon()) { if (machine_is_shannon()) {
GPCR |= SHANNON_GPIO_DISP_EN; GPCR = SHANNON_GPIO_DISP_EN;
} }
set_current_state(TASK_UNINTERRUPTIBLE); set_current_state(TASK_UNINTERRUPTIBLE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment