summaryrefslogtreecommitdiff
path: root/v4l/compat.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-11-25 09:07:00 -0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-11-25 09:07:00 -0200
commit564d21054d1f61d9448a93b3fa8a254a29713d26 (patch)
tree7ffc11b46383ff01ce60cb9c454b0938facb05ad /v4l/compat.h
parent6941ff312bc3df2578143871566980c02dade212 (diff)
downloadmediapointer-dvb-s2-564d21054d1f61d9448a93b3fa8a254a29713d26.tar.gz
mediapointer-dvb-s2-564d21054d1f61d9448a93b3fa8a254a29713d26.tar.bz2
fix boards for kernels with algo_control
From: Mauro Carvalho Chehab <mchehab@redhat.com> changeset 4ecae6da8244 removed algo_control from i2c drivers. However, on older kernels, a dummy function to implement algo_control is required, otherwise, an OOPS is generated. This patch adds a backport for all i2c drivers that defines an i2c_algorithm, except for cafe_ccic, since OLPC hardware only works for kernels newer than 2.6.19. Some of the backported drivers would need also extra changes to work with older kernels, as specified on v4l/versions.txt. Yet, I decided to add the backport for those drivers also, since the lack of algo_control doesn't generate any compilation error, but it is enough to break the driver. So, better to all for all boards than to allow compiling a kernel backported that just generates OOPS. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'v4l/compat.h')
-rw-r--r--v4l/compat.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/v4l/compat.h b/v4l/compat.h
index 1d042d96c..ad2d9df22 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -27,6 +27,10 @@
#include <sound/driver.h>
#endif
+#ifdef NEED_ALGO_CONTROL
+#include <linux/i2c.h>
+#endif
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
#define set_freezable()
#define cancel_delayed_work_sync cancel_rearming_delayed_work
@@ -231,6 +235,14 @@ static inline int list_is_singular(const struct list_head *head)
( x ) ) )
#endif
+#ifdef NEED_ALGO_CONTROL
+static inline int dummy_algo_control(struct i2c_adapter *adapter,
+ unsigned int cmd, unsigned long arg)
+{
+ return 0;
+}
+#endif
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
#define div64_u64(a,b) div64_64(a,b)