aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-09-25 17:51:12 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-09-25 17:51:12 +0000
commit4459b613d0695cc6bafb9e9bc8cbe80947a7fb34 (patch)
treeacdd78fd280ea01ed5fe2951855fa8b6adb96770
parent028cf4dc7c904339041975810b9462768bc397db (diff)
downloadmaster-187ad058-4459b613d0695cc6bafb9e9bc8cbe80947a7fb34.tar.gz
master-187ad058-4459b613d0695cc6bafb9e9bc8cbe80947a7fb34.tar.bz2
master-187ad058-4459b613d0695cc6bafb9e9bc8cbe80947a7fb34.zip
atheros: fix kernel warning about usage of reset gpio
During a reset the gpiolib warns about using the reset gpio without explicit requesting it before: [ 147.930000] ------------[ cut here ]------------ [ 147.930000] WARNING: at drivers/gpio/gpiolib.c:103 gpio_ensure_requested+0x68/0xcc() [ 147.930000] autorequest GPIO-5 [ 147.930000] Modules linked in: ath5k ath mac80211 ipv6 cfg80211 compat arc4 crypto_blkcipher aead gpio_button_hotplug [ 147.930000] Call Trace: [ 147.930000] [<8004e3bc>] dump_stack+0x8/0x34 [ 147.930000] [<80058430>] warn_slowpath_common+0x78/0xa4 [ 147.930000] [<800584e4>] warn_slowpath_fmt+0x2c/0x38 [ 147.930000] [<80166f18>] gpio_ensure_requested+0x68/0xcc [ 147.930000] [<80167264>] gpio_direction_output+0xdc/0x168 [ 147.930000] [<8004aba8>] ar2315_restart+0x28/0x54 [ 147.930000] [<80069778>] sys_reboot+0x178/0x1c0 [ 147.930000] [<80043670>] stack_done+0x20/0x40 [ 147.930000] [ 147.930000] ---[ end trace 2c7a53d8549562d6 ]--- This is fixed with this patch by using another gpiolib api call which includes the missing request. Signed-off-by: Michael Heimpold <mhei@heimpold.de> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38183 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/atheros/patches-3.10/100-board.patch2
-rw-r--r--target/linux/atheros/patches-3.8/100-board.patch2
2 files changed, 2 insertions, 2 deletions
diff --git a/target/linux/atheros/patches-3.10/100-board.patch b/target/linux/atheros/patches-3.10/100-board.patch
index 5fb3e00c0c..96be80d044 100644
--- a/target/linux/atheros/patches-3.10/100-board.patch
+++ b/target/linux/atheros/patches-3.10/100-board.patch
@@ -2659,7 +2659,7 @@
+ /* Cold reset does not work on the AR2315/6, use the GPIO reset bits a workaround.
+ * give it some time to attempt a gpio based hardware reset
+ * (atheros reference design workaround) */
-+ gpio_direction_output(AR2315_RESET_GPIO, 0);
++ gpio_request_one(AR2315_RESET_GPIO, GPIOF_OUT_INIT_LOW, "Reset");
+ mdelay(100);
+
+ /* Some boards (e.g. Senao EOC-2610) don't implement the reset logic
diff --git a/target/linux/atheros/patches-3.8/100-board.patch b/target/linux/atheros/patches-3.8/100-board.patch
index 8663156ade..32667e9825 100644
--- a/target/linux/atheros/patches-3.8/100-board.patch
+++ b/target/linux/atheros/patches-3.8/100-board.patch
@@ -2659,7 +2659,7 @@
+ /* Cold reset does not work on the AR2315/6, use the GPIO reset bits a workaround.
+ * give it some time to attempt a gpio based hardware reset
+ * (atheros reference design workaround) */
-+ gpio_direction_output(AR2315_RESET_GPIO, 0);
++ gpio_request_one(AR2315_RESET_GPIO, GPIOF_OUT_INIT_LOW, "Reset");
+ mdelay(100);
+
+ /* Some boards (e.g. Senao EOC-2610) don't implement the reset logic