Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 285652
b: refs/heads/master
c: 19ad6a0
h: refs/heads/master
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Jan 5, 2012
1 parent 741fd71 commit 19e23ff
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 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: 1b0bfee39d531ffaf91b3294a2204b2ed8151fb8
refs/heads/master: 19ad6a01bbb011b88b7a12a5baad6888cf216b35
26 changes: 22 additions & 4 deletions trunk/drivers/media/common/tuners/mt2063.c
Original file line number Diff line number Diff line change
Expand Up @@ -1790,6 +1790,7 @@ static int mt2063_init(struct dvb_frontend *fe)
struct mt2063_state *state = fe->tuner_priv;
u8 all_resets = 0xF0; /* reset/load bits */
const u8 *def = NULL;
char *step;
u32 FCRUN;
s32 maxReads;
u32 fcu_osc;
Expand All @@ -1807,21 +1808,38 @@ static int mt2063_init(struct dvb_frontend *fe)
}

/* Check the part/rev code */
if (((state->reg[MT2063_REG_PART_REV] != MT2063_B0) /* MT2063 B0 */
&& (state->reg[MT2063_REG_PART_REV] != MT2063_B1) /* MT2063 B1 */
&& (state->reg[MT2063_REG_PART_REV] != MT2063_B3))) /* MT2063 B3 */
switch (state->reg[MT2063_REG_PART_REV]) {
case MT2063_B0:
step = "B0";
break;
case MT2063_B1:
step = "B1";
break;
case MT2063_B2:
step = "B2";
break;
case MT2063_B3:
step = "B3";
break;
default:
printk(KERN_ERR "mt2063: Unknown mt2063 device ID (0x%02x)\n",
state->reg[MT2063_REG_PART_REV]);
return -ENODEV; /* Wrong tuner Part/Rev code */
}

/* Check the 2nd byte of the Part/Rev code from the tuner */
status = mt2063_read(state, MT2063_REG_RSVD_3B,
&state->reg[MT2063_REG_RSVD_3B], 1);

/* b7 != 0 ==> NOT MT2063 */
if (status < 0 || ((state->reg[MT2063_REG_RSVD_3B] & 0x80) != 0x00)) {
printk(KERN_ERR "Can't read mt2063 2nd part ID\n");
printk(KERN_ERR "mt2063: Unknown 2nd part ID\n");
return -ENODEV; /* Wrong tuner Part/Rev code */
}

dprintk(1, "Discovered a mt2063 %s (2nd part number 0x%02x)\n",
step, state->reg[MT2063_REG_RSVD_3B]);

/* Reset the tuner */
status = mt2063_write(state, MT2063_REG_LO2CQ_3, &all_resets, 1);
if (status < 0)
Expand Down

0 comments on commit 19e23ff

Please sign in to comment.