diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-11-25 09:07:00 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-11-25 09:07:00 -0200 |
commit | 564d21054d1f61d9448a93b3fa8a254a29713d26 (patch) | |
tree | 7ffc11b46383ff01ce60cb9c454b0938facb05ad /v4l/compat.h | |
parent | 6941ff312bc3df2578143871566980c02dade212 (diff) | |
download | mediapointer-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.h | 12 |
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) |