Blackfin: bf54x: fix GPIO resume code
authorMike Frysinger <vapier@gentoo.org>
Mon, 27 Jun 2011 21:23:48 +0000 (17:23 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sat, 23 Jul 2011 05:18:32 +0000 (01:18 -0400)
Back in commit c03c2a87347b849ec927d, we fixed logic in the non-bf54x
GPIO resume code to set the data levels properly before the direction
to avoid spurious line glitches.  But we missed the bf54x code paths.
So add the same fix there.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/kernel/bfin_gpio.c

index 16d7ebf..02796b8 100644 (file)
@@ -713,9 +713,9 @@ void bfin_gpio_pm_hibernate_restore(void)
                gpio_array[bank]->port_mux = gpio_bank_saved[bank].mux;
                gpio_array[bank]->port_fer = gpio_bank_saved[bank].fer;
                gpio_array[bank]->inen = gpio_bank_saved[bank].inen;
-               gpio_array[bank]->dir_set = gpio_bank_saved[bank].dir;
                gpio_array[bank]->data_set = gpio_bank_saved[bank].data
-                                               | gpio_bank_saved[bank].dir;
+                                               & gpio_bank_saved[bank].dir;
+               gpio_array[bank]->dir_set = gpio_bank_saved[bank].dir;
        }
 }
 #endif