From: Russell King Date: Wed, 18 Jan 2012 13:47:14 +0000 (+0000) Subject: FB: sa11x0: fix shannon GPSR/GPCR accesses X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9bb13eed37cc17fd176346c2866e2584772953bb;p=linux-beck.git 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 Signed-off-by: Russell King --- 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);