xref: /nrf52832-nimble/rt-thread/components/dfs/filesystems/jffs2/kernel/linux/rwsem.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero #ifndef __LINUX_RWSEM_H__
2*10465441SEvalZero #define __LINUX_RWSEM_H__
3*10465441SEvalZero 
4*10465441SEvalZero // eCos does not have the concept of a read/write semaphore. So just
5*10465441SEvalZero // map them onto normal semaphores and hope we don't deadlock
6*10465441SEvalZero // somewhere.
7*10465441SEvalZero 
8*10465441SEvalZero #include <asm/semaphore.h>
9*10465441SEvalZero 
10*10465441SEvalZero struct rw_semaphore;
11*10465441SEvalZero 
12*10465441SEvalZero #define down_read(sem) cyg_drv_mutex_lock((cyg_drv_mutex_t *)sem)
13*10465441SEvalZero #define down_read_trylock(sem) cyg_drv_mutex_trylock((cyg_drv_mutex_t *)sem)
14*10465441SEvalZero #define down_write(sem) cyg_drv_mutex_lock((cyg_drv_mutex_t *)sem)
15*10465441SEvalZero #define down_write_trylock(sem) cyg_drv_mutex_trylock((cyg_drv_mutex_t *)sem)
16*10465441SEvalZero #define up_read(sem) cyg_drv_mutex_unlock((cyg_drv_mutex_t *)sem)
17*10465441SEvalZero #define up_write(sem) cyg_drv_mutex_unlock((cyg_drv_mutex_t *)sem)
18*10465441SEvalZero #define downgrade_write(sem)
19*10465441SEvalZero 
20*10465441SEvalZero #endif // __LINUX_RWSEM_H__
21