rwsem.h 730 B

1234567891011121314151617181920
  1. #ifndef __LINUX_RWSEM_H__
  2. #define __LINUX_RWSEM_H__
  3. // eCos does not have the concept of a read/write semaphore. So just
  4. // map them onto normal semaphores and hope we don't deadlock
  5. // somewhere.
  6. #include <asm/semaphore.h>
  7. struct rw_semaphore;
  8. #define down_read(sem) cyg_drv_mutex_lock((cyg_drv_mutex_t *)sem)
  9. #define down_read_trylock(sem) cyg_drv_mutex_trylock((cyg_drv_mutex_t *)sem)
  10. #define down_write(sem) cyg_drv_mutex_lock((cyg_drv_mutex_t *)sem)
  11. #define down_write_trylock(sem) cyg_drv_mutex_trylock((cyg_drv_mutex_t *)sem)
  12. #define up_read(sem) cyg_drv_mutex_unlock((cyg_drv_mutex_t *)sem)
  13. #define up_write(sem) cyg_drv_mutex_unlock((cyg_drv_mutex_t *)sem)
  14. #define downgrade_write(sem)
  15. #endif // __LINUX_RWSEM_H__