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 16d7ebfa0db1213b108c97196e51662d85ece0ff..02796b88443de4ebd2aef9e089f0893723607695 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