V4L: 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.

(cherry picked from commit d55c7aec66)

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Hans Verkuil
2007-02-15 03:40:34 -03:00
committed by Greg Kroah-Hartman
parent 87edb548fa
commit 943918d8b5
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -907,13 +907,13 @@ static int cx25840_detect_client(struct i2c_adapter *adapter, int address,
state->vbi_line_offset = 8;
state->id = id;
i2c_attach_client(client);
if (state->is_cx25836)
cx25836_initialize(client);
else
cx25840_initialize(client, 1);
i2c_attach_client(client);
return 0;
}
@@ -37,7 +37,7 @@
*/
#define FWSEND 48
#define FWDEV(x) &((x)->adapter->dev)
#define FWDEV(x) &((x)->dev)
static char *firmware = FWFILE;