diff options
-rw-r--r-- | include/dahdi/kernel.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h index 69f883e..33b19cd 100644 --- a/include/dahdi/kernel.h +++ b/include/dahdi/kernel.h @@ -1381,9 +1381,16 @@ typedef u32 __bitwise pm_message_t; #endif #ifndef DEFINE_MUTEX -#define DEFINE_MUTEX DEFINE_SEMAPHORE -#define mutex_lock(_x) down(_x) -#define mutex_unlock(_x) up(_x) +struct mutex { + struct semaphore sem; +}; +#define DEFINE_MUTEX(name) \ + struct mutex name = { \ + .sem = __SEMAPHORE_INITIALIZER((name).sem, 1), \ + } +#define mutex_lock(_x) down(&(_x)->sem) +#define mutex_unlock(_x) up(&(_x)->sem) +#define mutex_init(_x) sema_init(&(_x)->sem, 1) #endif #ifndef DEFINE_PCI_DEVICE_TABLE |