summaryrefslogtreecommitdiff
path: root/v4l/compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'v4l/compat.h')
-rw-r--r--v4l/compat.h74
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:
- */