diff options
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.patch | 71 |
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 @@ | |||
1 | Fix build errors when RT patch is applied | ||
2 | |||
3 | Upstream-Status: Inappropriate [other] | ||
4 | Freescale does not support the RT patch | ||
5 | |||
6 | Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> | ||
7 | Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> [updated for 3.14.28] | ||
8 | |||
9 | diff --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 | ||
10 | index 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. */ | ||
59 | diff --git a/include/linux/imx_sema4.h b/include/linux/imx_sema4.h | ||
60 | index 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 | |||