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>
 
        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);
        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);