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 <m...@heimpold.de>
---
 target/linux/atheros/patches-3.10/100-board.patch |    2 +-
 target/linux/atheros/patches-3.8/100-board.patch  |    2 +-
 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 5fb3e00..96be80d 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 8663156..32667e9 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
-- 
1.7.10.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to