aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-handheld-4.0/h1940/0013-ARM-s3c24xx-H1940-Move-gpiochip_add-call-into-core_i.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-handheld-4.0/h1940/0013-ARM-s3c24xx-H1940-Move-gpiochip_add-call-into-core_i.patch')
-rw-r--r--recipes-kernel/linux/linux-handheld-4.0/h1940/0013-ARM-s3c24xx-H1940-Move-gpiochip_add-call-into-core_i.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-handheld-4.0/h1940/0013-ARM-s3c24xx-H1940-Move-gpiochip_add-call-into-core_i.patch b/recipes-kernel/linux/linux-handheld-4.0/h1940/0013-ARM-s3c24xx-H1940-Move-gpiochip_add-call-into-core_i.patch
new file mode 100644
index 0000000..9e4fea1
--- /dev/null
+++ b/recipes-kernel/linux/linux-handheld-4.0/h1940/0013-ARM-s3c24xx-H1940-Move-gpiochip_add-call-into-core_i.patch
@@ -0,0 +1,38 @@
+From 0158609a5f514b85e8c40885954f2607f76ae431 Mon Sep 17 00:00:00 2001
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+Date: Tue, 21 Apr 2015 21:06:54 +0300
+Subject: [PATCH 13/15] ARM: s3c24xx: H1940: Move gpiochip_add call into
+ core_init() callback
+
+gpiochip_add() allocates memory, however it's not possible anymore from
+machine map_io() callback thus it failed and prevented machine from booting
+properly.
+
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+---
+ arch/arm/mach-s3c24xx/mach-h1940.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c
+index 86d9ec7..744aa4f 100644
+--- a/arch/arm/mach-s3c24xx/mach-h1940.c
++++ b/arch/arm/mach-s3c24xx/mach-h1940.c
+@@ -777,9 +777,14 @@ static void __init h1940_map_io(void)
+
+ /* Add latch gpio chip, set latch initial value */
+ h1940_latch_control(0, 0);
+- WARN_ON(gpiochip_add(&h1940_latch_gpiochip));
+ }
+
++static __init int h1940_gpiolib_init(void)
++{
++ return gpiochip_add(&h1940_latch_gpiochip);
++}
++core_initcall(h1940_gpiolib_init);
++
+ static void __init h1940_init_time(void)
+ {
+ s3c2410_init_clocks(12000000);
+--
+2.3.5
+