summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch')
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch b/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch
new file mode 100644
index 0000000..4be4066
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch
@@ -0,0 +1,71 @@
1Fix build errors when RT patch is applied
2
3Upstream-Status: Inappropriate [other]
4Freescale does not support the RT patch
5
6Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
7Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> [updated for 3.14.28]
8
9diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
10index 2ec98dc..5d0b7df 100644
11--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
12+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
13@@ -7344,7 +7344,7 @@ gckOS_WaitSignal(
14
15 might_sleep();
16
17- spin_lock_irq(&signal->obj.wait.lock);
18+ raw_spin_lock_irq(&signal->obj.wait.lock);
19
20 if (signal->obj.done)
21 {
22@@ -7366,9 +7366,8 @@ gckOS_WaitSignal(
23 ? MAX_SCHEDULE_TIMEOUT
24 : Wait * HZ / 1000;
25
26- DECLARE_WAITQUEUE(wait, current);
27- wait.flags |= WQ_FLAG_EXCLUSIVE;
28- __add_wait_queue_tail(&signal->obj.wait, &wait);
29+ DEFINE_SWAITER(wait);
30+ swait_prepare_locked(&signal->obj.wait, &wait);
31
32 while (gcvTRUE)
33 {
34@@ -7380,9 +7379,9 @@ gckOS_WaitSignal(
35 }
36
37 __set_current_state(TASK_INTERRUPTIBLE);
38- spin_unlock_irq(&signal->obj.wait.lock);
39+ raw_spin_unlock_irq(&signal->obj.wait.lock);
40 timeout = schedule_timeout(timeout);
41- spin_lock_irq(&signal->obj.wait.lock);
42+ raw_spin_lock_irq(&signal->obj.wait.lock);
43
44 if (signal->obj.done)
45 {
46@@ -7403,10 +7402,10 @@ gckOS_WaitSignal(
47 }
48 }
49
50- __remove_wait_queue(&signal->obj.wait, &wait);
51+ swait_finish_locked(&signal->obj.wait, &wait);
52 }
53
54- spin_unlock_irq(&signal->obj.wait.lock);
55+ raw_spin_unlock_irq(&signal->obj.wait.lock);
56
57 OnError:
58 /* Return status. */
59diff --git a/include/linux/imx_sema4.h b/include/linux/imx_sema4.h
60index 9787980..3586199 100644
61--- a/include/linux/imx_sema4.h
62+++ b/include/linux/imx_sema4.h
63@@ -9,6 +9,8 @@
64 #ifndef __LINUX_IMX_SEMA4_H__
65 #define __LINUX_IMX_SEMA4_H__
66
67+#include <linux/wait.h>
68+
69 #define SEMA4_NUM_DEVICES 1
70 #define SEMA4_NUM_GATES 16
71