X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=arch%2Farm26%2Fkernel%2Fsemaphore.c;fp=arch%2Farm26%2Fkernel%2Fsemaphore.c;h=3023a53431ff240e09d66e8d024bef0fe922301f;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=60591a73859210cb5ea0a8a01a79bb60940b098e;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/arm26/kernel/semaphore.c b/arch/arm26/kernel/semaphore.c index 60591a738..3023a5343 100644 --- a/arch/arm26/kernel/semaphore.c +++ b/arch/arm26/kernel/semaphore.c @@ -12,6 +12,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ +#include #include #include #include @@ -55,7 +56,7 @@ void __up(struct semaphore *sem) wake_up(&sem->wait); } -static spinlock_t semaphore_lock = SPIN_LOCK_UNLOCKED; +static DEFINE_SPINLOCK(semaphore_lock); void __sched __down(struct semaphore * sem) { @@ -179,7 +180,7 @@ int __down_trylock(struct semaphore * sem) * registers (r0 to r3 and lr), but not ip, as we use it as a return * value in some cases.. */ -asm(" .section .sched.text \n\ +asm(" .section .sched.text , #alloc, #execinstr \n\ .align 5 \n\ .globl __down_failed \n\ __down_failed: \n\ @@ -215,3 +216,8 @@ __up_wakeup: \n\ ldmfd sp!, {r0 - r3, pc}^ \n\ "); +EXPORT_SYMBOL(__down_failed); +EXPORT_SYMBOL(__down_interruptible_failed); +EXPORT_SYMBOL(__down_trylock_failed); +EXPORT_SYMBOL(__up_wakeup); +