X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fmedia%2Fvideo%2Fsaa7110.c;h=7bb85a7b326ef9bd8955e4beae8c944b015c73f0;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=41d951db6ec0f34c731644d6dfa74b71dc8b8519;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c index 41d951db6..7bb85a7b3 100644 --- a/drivers/media/video/saa7110.c +++ b/drivers/media/video/saa7110.c @@ -39,6 +39,7 @@ MODULE_AUTHOR("Pauline Middelink"); MODULE_LICENSE("GPL"); #include +#include #define I2C_NAME(s) (s)->name @@ -107,8 +108,13 @@ saa7110_write_block (struct i2c_client *client, * the adapter understands raw I2C */ if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { struct saa7110 *decoder = i2c_get_clientdata(client); + struct i2c_msg msg; - ret = i2c_master_send(client, data, len); + msg.len = len; + msg.buf = (char *) data; + msg.addr = client->addr; + msg.flags = 0; + ret = i2c_transfer(client->adapter, &msg, 1); /* Cache the written data */ memcpy(decoder->reg + reg, data + 1, len - 1); @@ -139,7 +145,7 @@ saa7110_read (struct i2c_client *client) static int saa7110_selmux (struct i2c_client *client, - int chan) + int chan) { static const unsigned char modes[9][8] = { /* mode 0 */ @@ -426,13 +432,15 @@ saa7110_command (struct i2c_client *client, break; case DECODER_DUMP: - for (v = 0; v < SAA7110_NR_REG; v += 16) { + for (v = 0; v < 0x34; v += 16) { int j; - dprintk(1, KERN_DEBUG "%s: %02x:", I2C_NAME(client), + dprintk(1, KERN_INFO "%s: %03x\n", I2C_NAME(client), v); - for (j = 0; j < 16 && v + j < SAA7110_NR_REG; j++) - dprintk(1, " %02x", decoder->reg[v + j]); - dprintk(1, "\n"); + for (j = 0; j < 16; j++) { + dprintk(1, KERN_INFO " %02x", + decoder->reg[v + j]); + } + dprintk(1, KERN_INFO "\n"); } break; @@ -457,7 +465,7 @@ static unsigned short normal_i2c[] = { }; static unsigned short ignore = I2C_CLIENT_END; - + static struct i2c_client_address_data addr_data = { .normal_i2c = normal_i2c, .probe = &ignore,