[openwrt/openwrt] Revert "ath79: remove GPIO driver earlier registration hack"
LEDE Commits
lede-commits at lists.infradead.org
Fri Aug 2 10:46:52 PDT 2024
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/226af7a77cc7398b126267c66106c593a49d8ad2
commit 226af7a77cc7398b126267c66106c593a49d8ad2
Author: Joan Moreau <jom at grosjo.net>
AuthorDate: Tue Jul 30 14:20:20 2024 +0000
Revert "ath79: remove GPIO driver earlier registration hack"
This reverts commit f444dea428cdcafd78fb75004a942da24cabd48c.
It seems that some devices using GPIO WDT have really short WDT timeouts
and when using module_platform_driver registration it happens too late
and thus WDT will timeout and reset the board.
So, for now lets return the postcore_initcall hack for now.
Fixes: f444dea428cd ("ath79: remove GPIO driver earlier registration hack")
Signed-off-by: Joan Moreau <jom at grosjo.net>
Link: https://github.com/openwrt/openwrt/pull/16035
Signed-off-by: Robert Marko <robimarko at gmail.com>
---
.../340-register_gpio_driver_earlier.patch | 26 ++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/target/linux/ath79/patches-6.6/340-register_gpio_driver_earlier.patch b/target/linux/ath79/patches-6.6/340-register_gpio_driver_earlier.patch
new file mode 100644
index 0000000000..a3bdf890c4
--- /dev/null
+++ b/target/linux/ath79/patches-6.6/340-register_gpio_driver_earlier.patch
@@ -0,0 +1,26 @@
+From: John Crispin <john at phrozen.org>
+Subject: ath79: Register GPIO driver earlier
+
+HACK: register the GPIO driver earlier to ensure that gpio_request calls
+from mach files succeed.
+
+Submitted-by: John Crispin <john at phrozen.org>
+---
+ drivers/gpio/gpio-ath79.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpio/gpio-ath79.c
++++ b/drivers/gpio/gpio-ath79.c
+@@ -300,7 +300,11 @@ static struct platform_driver ath79_gpio
+ .probe = ath79_gpio_probe,
+ };
+
+-module_platform_driver(ath79_gpio_driver);
++static int __init ath79_gpio_init(void)
++{
++ return platform_driver_register(&ath79_gpio_driver);
++}
++postcore_initcall(ath79_gpio_init);
+
+ MODULE_DESCRIPTION("Atheros AR71XX/AR724X/AR913X GPIO API support");
+ MODULE_LICENSE("GPL v2");
More information about the lede-commits
mailing list