diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-09-25 17:51:12 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-09-25 17:51:12 +0000 |
commit | 8daeba6d477a0821f4544d1928c0bec9df0f9b23 (patch) | |
tree | 7e6073df88e0f3273511641ddc3f0e1a58dae1ca | |
parent | 0380904acb3a31738cb764407a7770bd91ff3e2b (diff) | |
download | upstream-8daeba6d477a0821f4544d1928c0bec9df0f9b23.tar.gz upstream-8daeba6d477a0821f4544d1928c0bec9df0f9b23.tar.bz2 upstream-8daeba6d477a0821f4544d1928c0bec9df0f9b23.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>
SVN-Revision: 38183
-rw-r--r-- | target/linux/atheros/patches-3.10/100-board.patch | 2 | ||||
-rw-r--r-- | 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 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 |