aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-02-15 01:40:34 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-03-01 10:09:44 -0500
commitd55c7aec666658495e5b57a6b194c8c2a1ac255f (patch)
tree90a4cc31656b2e264533b4c2433b841e29c603d7 /drivers/media/video
parent2ff7354fe888f46f6629b57e463b0a1eb956c02b (diff)
V4L/DVB (5255): Fix cx25840 firmware loading.
Due to changes in the i2c handling in 2.6.20 this cx25840 bug surfaced, causing the firmware load to fail for the ivtv driver. The correct sequence is to first attach the i2c client, then use the client's device to load the firmware. Acked-by: Mike Isely <isely@pobox.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/cx25840/cx25840-core.c4
-rw-r--r--drivers/media/video/cx25840/cx25840-firmware.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c
index cc535ca713d2..3ff5fc00c09d 100644
--- a/drivers/media/video/cx25840/cx25840-core.c
+++ b/drivers/media/video/cx25840/cx25840-core.c
@@ -903,13 +903,13 @@ static int cx25840_detect_client(struct i2c_adapter *adapter, int address,
903 state->vbi_line_offset = 8; 903 state->vbi_line_offset = 8;
904 state->id = id; 904 state->id = id;
905 905
906 i2c_attach_client(client);
907
906 if (state->is_cx25836) 908 if (state->is_cx25836)
907 cx25836_initialize(client); 909 cx25836_initialize(client);
908 else 910 else
909 cx25840_initialize(client, 1); 911 cx25840_initialize(client, 1);
910 912
911 i2c_attach_client(client);
912
913 return 0; 913 return 0;
914} 914}
915 915
diff --git a/drivers/media/video/cx25840/cx25840-firmware.c b/drivers/media/video/cx25840/cx25840-firmware.c
index 1958d4016ea1..0e86b9d033ac 100644
--- a/drivers/media/video/cx25840/cx25840-firmware.c
+++ b/drivers/media/video/cx25840/cx25840-firmware.c
@@ -37,7 +37,7 @@
37 */ 37 */
38#define FWSEND 48 38#define FWSEND 48
39 39
40#define FWDEV(x) &((x)->adapter->dev) 40#define FWDEV(x) &((x)->dev)
41 41
42static char *firmware = FWFILE; 42static char *firmware = FWFILE;
43 43