Title: [6946] branches/2009R1/arch/blackfin/kernel/bfin_gpio.c: Fix Bug in bfin_gpio_pm_hibernate_restore()
Revision
6946
Author
hennerich
Date
2009-07-08 06:58:52 -0500 (Wed, 08 Jul 2009)

Log Message

Fix Bug in bfin_gpio_pm_hibernate_restore()
1) AND restored DATA with DIR (not OR)
2) Restore DATA before setting DIR to avoid glitches. 

Modified Paths

Diff

Modified: branches/2009R1/arch/blackfin/kernel/bfin_gpio.c (6945 => 6946)


--- branches/2009R1/arch/blackfin/kernel/bfin_gpio.c	2009-07-08 11:11:55 UTC (rev 6945)
+++ branches/2009R1/arch/blackfin/kernel/bfin_gpio.c	2009-07-08 11:58:52 UTC (rev 6946)
@@ -686,14 +686,14 @@
 		*port_fer[bank] = gpio_bank_saved[bank].fer;
 #endif
 		gpio_array[bank]->inen  = gpio_bank_saved[bank].inen;
+		gpio_array[bank]->data_set = gpio_bank_saved[bank].data
+						& gpio_bank_saved[bank].dir;
+
 		gpio_array[bank]->dir   = gpio_bank_saved[bank].dir;
 		gpio_array[bank]->polar = gpio_bank_saved[bank].polar;
 		gpio_array[bank]->edge  = gpio_bank_saved[bank].edge;
 		gpio_array[bank]->both  = gpio_bank_saved[bank].both;
 
-		gpio_array[bank]->data_set = gpio_bank_saved[bank].data
-						| gpio_bank_saved[bank].dir;
-
 		gpio_array[bank]->maska = gpio_bank_saved[bank].maska;
 	}
 	AWA_DUMMY_READ(maska);
@@ -740,9 +740,10 @@
 		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]->data_set = gpio_bank_saved[bank].data
+						& gpio_bank_saved[bank].dir;
 		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;
+
 	}
 }
 #endif
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to