Chris Kennedy wrote:
> #0.3.3e: http://www.ivtv.tv/releases/ivtv-0.3/
Chris-
Don't know if you're interested in this, but just in case, here's a
patch that converts all your cx25840_read_0X (or write) functions to
cx25840_read (or write) calls.
--
Tyler Trafford
diff -Nur ivtv-0.3.3e/driver/cx25840-driver.c ivtv-0.3.3e-tt/driver/cx25840-driver.c
--- ivtv-0.3.3e/driver/cx25840-driver.c 2005-04-19 14:30:48.000000000 -0400
+++ ivtv-0.3.3e-tt/driver/cx25840-driver.c 2005-04-19 15:32:09.000000000 -0400
@@ -158,56 +158,6 @@
-1, -1, -1
};
-static inline int cx25840_write_01(struct i2c_client *client, u8 reg, u8 value)
-{
- unsigned char buffer[3];
-
- buffer[0] = 0x01;
- buffer[1] = reg;
- buffer[2] = value;
-
- return i2c_master_send(client, buffer, 3);
-}
-
-static inline int cx25840_read_01(struct i2c_client *client, u8 reg)
-{
- unsigned char buffer[2];
- unsigned char byte;
-
- buffer[0] = 0x01;
- buffer[1] = reg;
-
- i2c_master_send(client, buffer, 2);
-
- i2c_master_recv(client, &byte, 1);
- return byte;
-}
-
-static inline int cx25840_write_04(struct i2c_client *client, u8 reg, u8 value)
-{
- unsigned char buffer[3];
-
- buffer[0] = 0x04;
- buffer[1] = reg;
- buffer[2] = value;
-
- return i2c_master_send(client, buffer, 3);
-}
-
-static inline int cx25840_read_04(struct i2c_client *client, u8 reg)
-{
- unsigned char buffer[2];
- unsigned char byte;
-
- buffer[0] = 0x04;
- buffer[1] = reg;
-
- i2c_master_send(client, buffer, 2);
-
- i2c_master_recv(client, &byte, 1);
- return byte;
-}
-
/* ----------------------------------------------------------------------- */
static inline int execute_wi2c(struct i2c_client *client, int addr, u8 * b,
@@ -779,10 +729,10 @@
static void vbi_reg_setup(struct i2c_client *client)
{
- cx25840_write_04(client, 0x74, 0x24);
- cx25840_write_04(client, 0x75, 0x40);
- cx25840_write_04(client, 0x76, 0x24);
- cx25840_write_04(client, 0x77, 0x28);
+ cx25840_write(client, 0x0474, 0x24);
+ cx25840_write(client, 0x0475, 0x40);
+ cx25840_write(client, 0x0476, 0x24);
+ cx25840_write(client, 0x0477, 0x28);
return;
}
@@ -802,14 +752,14 @@
{
struct cx25840_reg_raw *reg = arg;
- reg->val = cx25840_read_04(client, reg->reg);
+ reg->val = cx25840_read(client, 0x0400 | reg->reg);
break;
}
case DECODER_SET_REG:
{
struct cx25840_reg_raw *reg = arg;
- cx25840_write_04(client, reg->reg, reg->val);
+ cx25840_write(client, 0x0400 | reg->reg, reg->val);
break;
}
@@ -1121,10 +1071,10 @@
state->enable = enable;
if (state->enable) {
- cx25840_write_04(client, 0x15,
- (cx25840_read_04(client, 0x15)|0x04));
- cx25840_write_04(client, 0x16,
- (cx25840_read_04(client, 0x16)|0x04));
+ cx25840_write(client, 0x0415,
+ (cx25840_read(client, 0x0415)|0x04));
+ cx25840_write(client, 0x0416,
+ (cx25840_read(client, 0x0416)|0x04));
if (no_black_magic == 0) {
// 01063 time 3:37.684
WI2C(4, 0x43, 0x00, 0x16, 0x70, 0x4a);
@@ -1146,10 +1096,10 @@
CX25840_SET_VD_SOFT_RST(0x0001);
// Video assert
#endif
- cx25840_write_04(client, 0x15,
- (cx25840_read_04(client, 0x15)&0xfb));
- cx25840_write_04(client, 0x16,
- (cx25840_read_04(client, 0x16)&0xfb));
+ cx25840_write(client, 0x0415,
+ (cx25840_read(client, 0x0415)&0xfb));
+ cx25840_write(client, 0x0416,
+ (cx25840_read(client, 0x0416)&0xfb));
}
}
break;
@@ -1177,13 +1127,13 @@
int *iarg = arg;
u8 status = 0, cc1 = 0, cc2 = 0;
- status = cx25840_read_04(client, 0x44);
+ status = cx25840_read(client, 0x0444);
if (!(status & 0x08) || !(status & 0x80)) {
*iarg = -1;
break;
}
- cc1 = cx25840_read_04(client, 0x45);
- cc2 = cx25840_read_04(client, 0x45);
+ cc1 = cx25840_read(client, 0x0445);
+ cc2 = cx25840_read(client, 0x0445);
*iarg = cc2 << 8 | cc1;
break;
}
@@ -1193,13 +1143,13 @@
int *iarg = arg;
u8 status = 0, cc1 = 0, cc2 = 0;
- status = cx25840_read_04(client, 0x44);
+ status = cx25840_read(client, 0x0444);
if (status & 0x08 || !(status & 0x80)) {
*iarg = -1;
break;
}
- cc1 = cx25840_read_04(client, 0x45);
- cc2 = cx25840_read_04(client, 0x45);
+ cc1 = cx25840_read(client, 0x0445);
+ cc2 = cx25840_read(client, 0x0445);
*iarg = cc2 << 8 | cc1;
break;
}
@@ -1217,21 +1167,21 @@
/* Raw VBI */
if (set == 0) {
- for (x = 0, i = 0x24; i <= 0x34; i++, x++) {
- cx25840_write_04(client, i, 0x00);
+ for (x = 0, i = 0x0424; i <= 0x0434; i++, x++) {
+ cx25840_write(client, i, 0x00);
}
/* Setup VBI */
vbi_reg_setup(client);
/* VBI Offset */
- cx25840_write_04(client, 0x7F, vbi_offset);
+ cx25840_write(client, 0x047F, vbi_offset);
- cx25840_write_04(client, 0x04, 0x3e);
+ cx25840_write(client, 0x0404, 0x3e);
break;
}
/* Sliced VBI */
- cx25840_write_04(client, 0x04, 0x3a);
+ cx25840_write(client, 0x0404, 0x3a);
/* Setup VBI */
vbi_reg_setup(client);
@@ -1272,10 +1222,10 @@
ERR("VPS not supported for NTSC");
}
/* VBI Offset */
- cx25840_write_04(client, 0x7F, vbi_offset);
+ cx25840_write(client, 0x047F, vbi_offset);
- for (x = 1, i = 0x24; i <= 0x34; i++, x++) {
- cx25840_write_04(client, i, lcr[x]);
+ for (x = 1, i = 0x0424; i <= 0x0434; i++, x++) {
+ cx25840_write(client, i, lcr[x]);
}
break;
}