diff options
Diffstat (limited to 'v4l/compat.h')
-rw-r--r-- | v4l/compat.h | 74 |
1 files changed, 69 insertions, 5 deletions
diff --git a/v4l/compat.h b/v4l/compat.h index 257143a6b..c480af095 100644 --- a/v4l/compat.h +++ b/v4l/compat.h @@ -14,6 +14,13 @@ #include <linux/i2c-dev.h> #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) +#ifdef CONFIG_PROC_FS +#include <linux/module.h> +#include <linux/proc_fs.h> +#endif +#endif + /* To allow alsa code to work */ #ifdef NEED_SOUND_DRIVER_H #include <sound/driver.h> @@ -517,9 +524,66 @@ do { \ .bInterfaceSubClass = (sc), .bInterfaceProtocol = (pr) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) +#define get_unaligned_be16(a) \ + be16_to_cpu(get_unaligned((unsigned short *)(a))) +#define put_unaligned_be16(r, a) \ + put_unaligned(cpu_to_be16(r), ((unsigned short *)(a))) +#define get_unaligned_le16(a) \ + le16_to_cpu(get_unaligned((unsigned short *)(a))) +#define put_unaligned_le16(r, a) \ + put_unaligned(cpu_to_le16(r), ((unsigned short *)(a))) +#define get_unaligned_be32(a) \ + be32_to_cpu(get_unaligned((u32 *)(a))) +#define put_unaligned_be32(r, a) \ + put_unaligned(cpu_to_be32(r), ((u32 *)(a))) +#define get_unaligned_le32(a) \ + le32_to_cpu(get_unaligned((u32 *)(a))) +#define put_unaligned_le32(r, a) \ + put_unaligned(cpu_to_le32(r), ((u32 *)(a))) +#endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) +#ifdef CONFIG_PROC_FS +static inline struct proc_dir_entry *proc_create(const char *a, + mode_t b, struct proc_dir_entry *c, const struct file_operations *d) +{ + struct proc_dir_entry *e; + + e = create_proc_entry(a, b, c); + if (e) { + e->owner = THIS_MODULE; + e->proc_fops = d; + + } + return e; +} + +static inline struct proc_dir_entry *proc_create_data(const char *a, + mode_t b, struct proc_dir_entry *c, const struct file_operations *d, + void *f) +{ + struct proc_dir_entry *e; + + e = create_proc_entry(a, b, c); + if (e) { + e->owner = THIS_MODULE; + e->proc_fops = d; + e->data = f; + } + return e; +} +#endif +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) +#define div64_u64(a,b) div64_64(a,b) + +#define clamp( x, l, h ) max_t( __typeof__( x ), \ + ( l ), \ + min_t( __typeof__( x ), \ + ( h ), \ + ( x ) ) ) + +#endif + #endif -/* - * Local variables: - * c-basic-offset: 8 - * End: - */ |