diff -uNr NVIDIA-Linux-x86_64-190.53-pkg2-old/usr/src/nv/nv-linux.h NVIDIA-Linux-x86_64-190.53-pkg2/usr/src/nv/nv-linux.h --- NVIDIA-Linux-x86_64-190.53-pkg2-old/usr/src/nv/nv-linux.h 2009-12-10 01:41:16.000000000 +0100 +++ NVIDIA-Linux-x86_64-190.53-pkg2/usr/src/nv/nv-linux.h 2010-03-11 11:29:05.649461963 +0100 @@ -199,6 +199,7 @@ #endif #if defined(CONFIG_PREEMPT_RT) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) typedef atomic_spinlock_t nv_spinlock_t; #define NV_SPIN_LOCK_INIT(lock) atomic_spin_lock_init(lock) #define NV_SPIN_LOCK_IRQ(lock) atomic_spin_lock_irq(lock) @@ -210,6 +211,18 @@ #define NV_SPIN_UNLOCK(lock) atomic_spin_unlock(lock) #define NV_SPIN_UNLOCK_WAIT(lock) atomic_spin_unlock_wait(lock) #else +typedef raw_spinlock_t nv_spinlock_t; +#define NV_SPIN_LOCK_INIT(lock) raw_spin_lock_init(lock) +#define NV_SPIN_LOCK_IRQ(lock) raw_spin_lock_irq(lock) +#define NV_SPIN_UNLOCK_IRQ(lock) raw_spin_unlock_irq(lock) +#define NV_SPIN_LOCK_IRQSAVE(lock,flags) raw_spin_lock_irqsave(lock,flags) +#define NV_SPIN_UNLOCK_IRQRESTORE(lock,flags) \ + raw_spin_unlock_irqrestore(lock,flags) +#define NV_SPIN_LOCK(lock) raw_spin_lock(lock) +#define NV_SPIN_UNLOCK(lock) raw_spin_unlock(lock) +#define NV_SPIN_UNLOCK_WAIT(lock) raw_spin_unlock_wait(lock) +#endif +#else typedef spinlock_t nv_spinlock_t; #define NV_SPIN_LOCK_INIT(lock) spin_lock_init(lock) #define NV_SPIN_LOCK_IRQ(lock) spin_lock_irq(lock)