diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-10-17 10:59:47 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-10-17 11:00:09 +0200 |
commit | adcaa98f792cd1e0866b7c7b127ed0c40c3b19e3 (patch) | |
tree | 621aa8e87d80a6e5a49ba874230f225ab341d611 /target/arm/solidrun-imx6/patches/4.1.10/0002-rt.patch | |
parent | 374cdd0ee0883b7c85045ef83ddf0f95ffcd3598 (diff) |
fix compile error for solidrun-imx6, when RT is enabled
Diffstat (limited to 'target/arm/solidrun-imx6/patches/4.1.10/0002-rt.patch')
-rw-r--r-- | target/arm/solidrun-imx6/patches/4.1.10/0002-rt.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/target/arm/solidrun-imx6/patches/4.1.10/0002-rt.patch b/target/arm/solidrun-imx6/patches/4.1.10/0002-rt.patch new file mode 100644 index 000000000..2eccf6072 --- /dev/null +++ b/target/arm/solidrun-imx6/patches/4.1.10/0002-rt.patch @@ -0,0 +1,75 @@ +From: +http://patches.openembedded.org/patch/65803/ + +diff -Nur linux-4.1.10.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c linux-4.1.10/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c +--- linux-4.1.10.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c 2015-10-13 16:22:22.044878316 +0200 ++++ linux-4.1.10/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c 2015-10-13 16:34:45.559823687 +0200 +@@ -3060,7 +3060,7 @@ + gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex)); + + /* Initialize the mutex. */ +- mutex_init(*Mutex); ++ mutex_init((struct mutex*)*Mutex); + + /* Return status. */ + gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex); +@@ -3105,7 +3105,7 @@ + gcmkVERIFY_ARGUMENT(Mutex != gcvNULL); + + /* Destroy the mutex. */ +- mutex_destroy(Mutex); ++ mutex_destroy((struct mutex*)Mutex); + + /* Free the mutex structure. */ + gcmkONERROR(gckOS_Free(Os, Mutex)); +@@ -7625,7 +7625,7 @@ + + might_sleep(); + +- spin_lock_irq(&signal->obj.wait.lock); ++ raw_spin_lock_irq(&signal->obj.wait.lock); + + if (signal->obj.done) + { +@@ -7655,9 +7655,8 @@ + : Wait * HZ / 1000; + #endif + +- DECLARE_WAITQUEUE(wait, current); +- wait.flags |= WQ_FLAG_EXCLUSIVE; +- __add_wait_queue_tail(&signal->obj.wait, &wait); ++ DEFINE_SWAITER(wait); ++ swait_prepare_locked(&signal->obj.wait, &wait); + + while (gcvTRUE) + { +@@ -7669,9 +7668,9 @@ + } + + __set_current_state(TASK_INTERRUPTIBLE); +- spin_unlock_irq(&signal->obj.wait.lock); ++ raw_spin_unlock_irq(&signal->obj.wait.lock); + timeout = schedule_timeout(timeout); +- spin_lock_irq(&signal->obj.wait.lock); ++ raw_spin_lock_irq(&signal->obj.wait.lock); + + if (signal->obj.done) + { +@@ -7735,7 +7734,7 @@ + } + } + +- __remove_wait_queue(&signal->obj.wait, &wait); ++ swait_finish_locked(&signal->obj.wait, &wait); + + #if gcdDETECT_TIMEOUT + if (complained) +@@ -7748,7 +7747,7 @@ + #endif + } + +- spin_unlock_irq(&signal->obj.wait.lock); ++ raw_spin_unlock_irq(&signal->obj.wait.lock); + + OnError: + /* Return status. */ |