diff options
Diffstat (limited to 'v4l/compat.h')
-rw-r--r-- | v4l/compat.h | 67 |
1 files changed, 43 insertions, 24 deletions
diff --git a/v4l/compat.h b/v4l/compat.h index ca0a4b886..9918f2e46 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -88,24 +88,24 @@ static inline unsigned long msecs_to_jiffies(const unsigned int m) { #if HZ <= 1000 && !(1000 % HZ) - return (m + (1000 / HZ) - 1) / (1000 / HZ); + return (m + (1000 / HZ) - 1) / (1000 / HZ); #else #if HZ > 1000 && !(HZ % 1000) - return m * (HZ / 1000); + return m * (HZ / 1000); #else - return (m * HZ + 999) / 1000; + return (m * HZ + 999) / 1000; #endif #endif } static inline unsigned int jiffies_to_msecs(const unsigned long j) { #if HZ <= 1000 && !(1000 % HZ) - return (1000 / HZ) * j; + return (1000 / HZ) * j; #else #if HZ > 1000 && !(HZ % 1000) - return (j + (HZ / 1000) - 1)/(HZ / 1000); + return (j + (HZ / 1000) - 1)/(HZ / 1000); #else - return (j * 1000) / HZ; + return (j * 1000) / HZ; #endif #endif } @@ -135,15 +135,15 @@ static inline unsigned long msleep_interruptible(unsigned int msecs) #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* some keys from 2.6.x which are not (yet?) in 2.4.x */ # define KEY_PLAY 207 -# define KEY_PRINT 210 +# define KEY_PRINT 210 # define KEY_EMAIL 215 # define KEY_SEARCH 217 -# define KEY_SELECT 0x161 +# define KEY_SELECT 0x161 # define KEY_GOTO 0x162 # define KEY_INFO 0x166 # define KEY_CHANNEL 0x16b # define KEY_LANGUAGE 0x170 -# define KEY_SUBTITLE 0x172 +# define KEY_SUBTITLE 0x172 # define KEY_ZOOM 0x174 # define KEY_MODE 0x175 # define KEY_TV 0x179 @@ -159,7 +159,7 @@ static inline unsigned long msleep_interruptible(unsigned int msecs) # define KEY_BLUE 0x191 # define KEY_CHANNELUP 0x192 # define KEY_CHANNELDOWN 0x193 -# define KEY_RESTART 0x198 +# define KEY_RESTART 0x198 # define KEY_SHUFFLE 0x19a # define KEY_NEXT 0x197 # define KEY_RADIO 0x181 @@ -188,8 +188,8 @@ static inline unsigned long msleep_interruptible(unsigned int msecs) #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) #define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type,member) );}) + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) );}) #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) @@ -207,12 +207,12 @@ static inline unsigned long vmalloc_to_pfn(void * vmalloc_addr) do { \ DEFINE_WAIT(__wait); \ for (;;) { \ - prepare_to_wait(&wq, &__wait, TASK_UNINTERRUPTIBLE); \ - if (condition) \ - break; \ - __ret = schedule_timeout(__ret); \ - if (!__ret) \ - break; \ + prepare_to_wait(&wq, &__wait, TASK_UNINTERRUPTIBLE); \ + if (condition) \ + break; \ + __ret = schedule_timeout(__ret); \ + if (!__ret) \ + break; \ } \ finish_wait(&wq, &__wait); \ } while (0); \ @@ -231,9 +231,9 @@ static inline unsigned long vmalloc_to_pfn(void * vmalloc_addr) void * __ret = NULL; \ __ret = kmalloc(n * size, flags); \ if (__ret) \ - memset(__ret, 0, n * size); \ + memset(__ret, 0, n * size); \ __ret; \ -}) +}) #endif #endif @@ -241,14 +241,19 @@ static inline unsigned long vmalloc_to_pfn(void * vmalloc_addr) #ifndef kzalloc #define kzalloc(size, flags) \ ({ \ - void *__ret = kmalloc(size, flags); \ - if (__ret) \ - memset(__ret, 0, size); \ - __ret; \ + void *__ret = kmalloc(size, flags); \ + if (__ret) \ + memset(__ret, 0, size); \ + __ret; \ }) #endif #endif +/* The class_device system didn't appear until 2.5.69 */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) +#define class_device_create_file(a, b) (0) +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) # define class_device_create(a, b, c, d, e, f, g, h) class_simple_device_add(a, c, d, e, f, g, h) # define class_device_destroy(a, b) class_simple_device_remove(b) @@ -274,6 +279,20 @@ static inline unsigned long vmalloc_to_pfn(void * vmalloc_addr) #define mutex_trylock(a) down_trylock(a) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14) +static inline signed long __sched +schedule_timeout_interruptible(signed long timeout) +{ + __set_current_state(TASK_INTERRUPTIBLE); + return schedule_timeout(timeout); +} +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) +#define IRQF_SHARED SA_SHIRQ +#define IRQF_DISABLED SA_INTERRUPT +#endif + #endif /* * Local variables: |