summaryrefslogtreecommitdiff
path: root/v4l/compat.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-09-06 23:42:19 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-06 23:42:19 -0300
commit5700f50011f5c8ad20cfc1377cc830ed4eee9d06 (patch)
tree2c82f7573c54bdce520b1a4748deb0fe4126d2a6 /v4l/compat.h
parent4b70cc85ac708fdb3107b4d17851e70e6bf9ecc6 (diff)
parent00c1eda676d0707af2602f156278772fe3c30cb8 (diff)
downloadmediapointer-dvb-s2-5700f50011f5c8ad20cfc1377cc830ed4eee9d06.tar.gz
mediapointer-dvb-s2-5700f50011f5c8ad20cfc1377cc830ed4eee9d06.tar.bz2
merge: http://linuxtv.org/hg/~hgoede/gspca/
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'v4l/compat.h')
-rw-r--r--v4l/compat.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/v4l/compat.h b/v4l/compat.h
index 11dc57109..465b3ae8b 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -72,6 +72,15 @@
#define vmalloc_32_user(a) vmalloc_32(a)
#endif
+#ifndef DIV_ROUND_CLOSEST
+#define DIV_ROUND_CLOSEST(x, divisor)( \
+{ \
+ typeof(divisor) __divisor = divisor; \
+ (((x) + ((__divisor) / 2)) / (__divisor)); \
+} \
+)
+#endif
+
#ifdef NEED_BOOL_TYPE
/* bool type and enum-based definition of true and false was added in 2.6.19 */
typedef int bool;
@@ -480,4 +489,29 @@ static inline unsigned long v4l_compat_fls(unsigned long x)
}
#endif
+/*
+ * Compatibility code for hrtimer API
+ * This will make hrtimer usable for kernels 2.6.22 and later.
+ * For earlier kernels, not all required functions are exported
+ * so there's nothing we can do.
+ */
+
+#ifdef _LINUX_HRTIMER_H
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) && \
+ LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+/* Forward a hrtimer so it expires after the hrtimer's current now */
+static inline unsigned long hrtimer_forward_now(struct hrtimer *timer,
+ ktime_t interval)
+{
+ return hrtimer_forward(timer, timer->base->get_time(), interval);
+}
+#endif
+#endif /* _LINUX_HRTIMER_H */
+
+#ifndef PCI_VDEVICE
+#define PCI_VDEVICE(vendor, device) \
+ PCI_VENDOR_ID_##vendor, (device), \
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0
+#endif
+
#endif /* _COMPAT_H */