diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-02-15 01:40:34 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-03-01 10:09:44 -0500 |
commit | d55c7aec666658495e5b57a6b194c8c2a1ac255f (patch) | |
tree | 90a4cc31656b2e264533b4c2433b841e29c603d7 /drivers/media/video/cx25840 | |
parent | 2ff7354fe888f46f6629b57e463b0a1eb956c02b (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/cx25840')
-rw-r--r-- | drivers/media/video/cx25840/cx25840-core.c | 4 | ||||
-rw-r--r-- | drivers/media/video/cx25840/cx25840-firmware.c | 2 |
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 cc535ca713d..3ff5fc00c09 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 1958d4016ea..0e86b9d033a 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 | ||
42 | static char *firmware = FWFILE; | 42 | static char *firmware = FWFILE; |
43 | 43 | ||