blob: 4057ff10ef7fc894a31871157d5a48fa6a6ecd96 [file] [log] [blame]
#ifndef __BACKPORT_LINUX_WAIT_H
#define __BACKPORT_LINUX_WAIT_H
#include_next <linux/wait.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
extern int bit_wait(void *);
extern int bit_wait_io(void *);
static inline int
backport_wait_on_bit(void *word, int bit, unsigned mode)
{
return wait_on_bit(word, bit, bit_wait, mode);
}
static inline int
backport_wait_on_bit_io(void *word, int bit, unsigned mode)
{
return wait_on_bit(word, bit, bit_wait_io, mode);
}
#define wait_on_bit LINUX_BACKPORT(wait_on_bit)
#define wait_on_bit_io LINUX_BACKPORT(wait_on_bit_io)
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
#define WQ_FLAG_WOKEN 0x02
#define wait_woken LINUX_BACKPORT(wait_woken)
long wait_woken(wait_queue_t *wait, unsigned mode, long timeout);
#define wait_woken LINUX_BACKPORT(wait_woken)
int woken_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
#endif
#endif /* __BACKPORT_LINUX_WAIT_H */