diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-03-29 19:04:44 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-06 20:44:23 -0400 |
commit | acebc70d4a789df21270690c70928b8a836caad7 (patch) | |
tree | 63c9c17b47ef46b2ece12f1a2d440cf362ea70bd | |
parent | 0c84674353a8c344d169aabce4dc4d44daaa270d (diff) |
V4L/DVB (11372): v4l2: use old-style i2c API for kernels < 2.6.26 instead of < 2.6.22
Originally the intention was to switch to the new style i2c API starting with
the introduction of the API in 2.6.22. However, the i2c_new_probed_device()
function has a lethal bug that wasn't fixed until 2.6.25. Or more accurately,
it was only fixed in the stable series of 2.6.25 and 2.6.26.
Given the fact that the new i2c API also changed starting with 2.6.26 (the
addition of i2c_device_id), it is easiest to switch APIs starting with
2.6.26.
This patch updates all the legacy code accordingly.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/tda9840.c | 1 | ||||
-rw-r--r-- | drivers/media/video/tea6415c.c | 1 | ||||
-rw-r--r-- | drivers/media/video/tea6420.c | 1 | ||||
-rw-r--r-- | drivers/media/video/tuner-core.c | 1 | ||||
-rw-r--r-- | drivers/media/video/tvaudio.c | 1 | ||||
-rw-r--r-- | include/media/v4l2-i2c-drv.h | 2 |
6 files changed, 1 insertions, 6 deletions
diff --git a/drivers/media/video/tda9840.c b/drivers/media/video/tda9840.c index fe1158094c24..d381fce3db40 100644 --- a/drivers/media/video/tda9840.c +++ b/drivers/media/video/tda9840.c | |||
@@ -192,7 +192,6 @@ static int tda9840_remove(struct i2c_client *client) | |||
192 | return 0; | 192 | return 0; |
193 | } | 193 | } |
194 | 194 | ||
195 | |||
196 | static const struct i2c_device_id tda9840_id[] = { | 195 | static const struct i2c_device_id tda9840_id[] = { |
197 | { "tda9840", 0 }, | 196 | { "tda9840", 0 }, |
198 | { } | 197 | { } |
diff --git a/drivers/media/video/tea6415c.c b/drivers/media/video/tea6415c.c index d61c56f42bcd..ff696d14a5dd 100644 --- a/drivers/media/video/tea6415c.c +++ b/drivers/media/video/tea6415c.c | |||
@@ -170,7 +170,6 @@ static int tea6415c_remove(struct i2c_client *client) | |||
170 | return 0; | 170 | return 0; |
171 | } | 171 | } |
172 | 172 | ||
173 | |||
174 | static const struct i2c_device_id tea6415c_id[] = { | 173 | static const struct i2c_device_id tea6415c_id[] = { |
175 | { "tea6415c", 0 }, | 174 | { "tea6415c", 0 }, |
176 | { } | 175 | { } |
diff --git a/drivers/media/video/tea6420.c b/drivers/media/video/tea6420.c index 34922232402a..8a55b46ea9b7 100644 --- a/drivers/media/video/tea6420.c +++ b/drivers/media/video/tea6420.c | |||
@@ -156,7 +156,6 @@ static int tea6420_remove(struct i2c_client *client) | |||
156 | return 0; | 156 | return 0; |
157 | } | 157 | } |
158 | 158 | ||
159 | |||
160 | static const struct i2c_device_id tea6420_id[] = { | 159 | static const struct i2c_device_id tea6420_id[] = { |
161 | { "tea6420", 0 }, | 160 | { "tea6420", 0 }, |
162 | { } | 161 | { } |
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index cc5f018b8eb4..78c377a399cb 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c | |||
@@ -1164,7 +1164,6 @@ register_client: | |||
1164 | return 0; | 1164 | return 0; |
1165 | } | 1165 | } |
1166 | 1166 | ||
1167 | |||
1168 | static int tuner_remove(struct i2c_client *client) | 1167 | static int tuner_remove(struct i2c_client *client) |
1169 | { | 1168 | { |
1170 | struct tuner *t = to_tuner(i2c_get_clientdata(client)); | 1169 | struct tuner *t = to_tuner(i2c_get_clientdata(client)); |
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c index 2a49c839f8ac..17d50e3cd518 100644 --- a/drivers/media/video/tvaudio.c +++ b/drivers/media/video/tvaudio.c | |||
@@ -2069,7 +2069,6 @@ static int tvaudio_remove(struct i2c_client *client) | |||
2069 | return 0; | 2069 | return 0; |
2070 | } | 2070 | } |
2071 | 2071 | ||
2072 | |||
2073 | /* This driver supports many devices and the idea is to let the driver | 2072 | /* This driver supports many devices and the idea is to let the driver |
2074 | detect which device is present. So rather than listing all supported | 2073 | detect which device is present. So rather than listing all supported |
2075 | devices here, we pretend to support a single, fake device type. */ | 2074 | devices here, we pretend to support a single, fake device type. */ |
diff --git a/include/media/v4l2-i2c-drv.h b/include/media/v4l2-i2c-drv.h index 1ceeb9cfc8a8..10a2882c3cbf 100644 --- a/include/media/v4l2-i2c-drv.h +++ b/include/media/v4l2-i2c-drv.h | |||
@@ -51,7 +51,7 @@ static struct v4l2_i2c_driver_data v4l2_i2c_data; | |||
51 | static struct i2c_driver v4l2_i2c_driver; | 51 | static struct i2c_driver v4l2_i2c_driver; |
52 | 52 | ||
53 | 53 | ||
54 | /* Bus-based I2C implementation for kernels >= 2.6.22 */ | 54 | /* Bus-based I2C implementation for kernels >= 2.6.26 */ |
55 | 55 | ||
56 | static int __init v4l2_i2c_drv_init(void) | 56 | static int __init v4l2_i2c_drv_init(void) |
57 | { | 57 | { |