Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 219511
b: refs/heads/master
c: 84d0d4f
h: refs/heads/master
i:
  219509: 5ee9d94
  219507: a9e3a2e
  219503: 351c43f
v: v3
  • Loading branch information
Laurent Pinchart authored and Mauro Carvalho Chehab committed Oct 22, 2010
1 parent f6acb14 commit ba91448
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 35 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dfffec67951494a02244b43b0b2cdc9cded841b2
refs/heads/master: 84d0d4f0674c55d0625bd1b6eb91dba4ef3948f9
42 changes: 8 additions & 34 deletions trunk/drivers/media/video/ivtv/ivtv-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,31 +120,6 @@ static const u8 hw_addrs[] = {
IVTV_Z8F0811_IR_RX_I2C_ADDR, /* IVTV_HW_Z8F0811_IR_RX_HAUP */
};

/* This array should match the IVTV_HW_ defines */
static const char *hw_modules[] = {
"cx25840",
"saa7115",
"saa7127",
"msp3400",
"tuner",
"wm8775",
"cs53l32a",
NULL,
"saa7115",
"upd64031a",
"upd64083",
"saa717x",
"wm8739",
"vp27smpx",
"m52790",
NULL,
NULL, /* IVTV_HW_I2C_IR_RX_AVER */
NULL, /* IVTV_HW_I2C_IR_RX_HAUP_EXT */
NULL, /* IVTV_HW_I2C_IR_RX_HAUP_INT */
NULL, /* IVTV_HW_Z8F0811_IR_TX_HAUP */
NULL, /* IVTV_HW_Z8F0811_IR_RX_HAUP */
};

/* This array should match the IVTV_HW_ defines */
static const char * const hw_devicenames[] = {
"cx25840",
Expand Down Expand Up @@ -257,7 +232,6 @@ int ivtv_i2c_register(struct ivtv *itv, unsigned idx)
{
struct v4l2_subdev *sd;
struct i2c_adapter *adap = &itv->i2c_adap;
const char *mod = hw_modules[idx];
const char *type = hw_devicenames[idx];
u32 hw = 1 << idx;

Expand All @@ -266,17 +240,17 @@ int ivtv_i2c_register(struct ivtv *itv, unsigned idx)
if (hw == IVTV_HW_TUNER) {
/* special tuner handling */
sd = v4l2_i2c_new_subdev(&itv->v4l2_dev,
adap, mod, type,
adap, NULL, type,
0, itv->card_i2c->radio);
if (sd)
sd->grp_id = 1 << idx;
sd = v4l2_i2c_new_subdev(&itv->v4l2_dev,
adap, mod, type,
adap, NULL, type,
0, itv->card_i2c->demod);
if (sd)
sd->grp_id = 1 << idx;
sd = v4l2_i2c_new_subdev(&itv->v4l2_dev,
adap, mod, type,
adap, NULL, type,
0, itv->card_i2c->tv);
if (sd)
sd->grp_id = 1 << idx;
Expand All @@ -293,16 +267,17 @@ int ivtv_i2c_register(struct ivtv *itv, unsigned idx)
/* It's an I2C device other than an analog tuner or IR chip */
if (hw == IVTV_HW_UPD64031A || hw == IVTV_HW_UPD6408X) {
sd = v4l2_i2c_new_subdev(&itv->v4l2_dev,
adap, mod, type, 0, I2C_ADDRS(hw_addrs[idx]));
adap, NULL, type, 0, I2C_ADDRS(hw_addrs[idx]));
} else if (hw == IVTV_HW_CX25840) {
struct cx25840_platform_data pdata;

pdata.pvr150_workaround = itv->pvr150_workaround;
sd = v4l2_i2c_new_subdev_cfg(&itv->v4l2_dev,
adap, mod, type, 0, &pdata, hw_addrs[idx], NULL);
adap, NULL, type, 0, &pdata, hw_addrs[idx],
NULL);
} else {
sd = v4l2_i2c_new_subdev(&itv->v4l2_dev,
adap, mod, type, hw_addrs[idx], NULL);
adap, NULL, type, hw_addrs[idx], NULL);
}
if (sd)
sd->grp_id = 1 << idx;
Expand Down Expand Up @@ -706,8 +681,7 @@ int init_ivtv_i2c(struct ivtv *itv)
/* Sanity checks for the I2C hardware arrays. They must be the
* same size.
*/
if (ARRAY_SIZE(hw_devicenames) != ARRAY_SIZE(hw_addrs) ||
ARRAY_SIZE(hw_devicenames) != ARRAY_SIZE(hw_modules)) {
if (ARRAY_SIZE(hw_devicenames) != ARRAY_SIZE(hw_addrs)) {
IVTV_ERR("Mismatched I2C hardware arrays\n");
return -ENODEV;
}
Expand Down

0 comments on commit ba91448

Please sign in to comment.