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