From 19ad6a01bbb011b88b7a12a5baad6888cf216b35 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 22 Jul 2011 21:24:33 -0300 Subject: [PATCH] [media] mt2063: Print a message about the detected mt2063 type This also helps to identify when a device is not initialized, if the bridge doesn't return an error for a I2C failed transfer. Signed-off-by: Mauro Carvalho Chehab --- drivers/media/common/tuners/mt2063.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/drivers/media/common/tuners/mt2063.c b/drivers/media/common/tuners/mt2063.c index db347d9e7d4..fdf605034ca 100644 --- a/drivers/media/common/tuners/mt2063.c +++ b/drivers/media/common/tuners/mt2063.c @@ -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; @@ -1807,10 +1808,24 @@ 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, @@ -1818,10 +1833,13 @@ static int mt2063_init(struct dvb_frontend *fe) /* 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) -- 2.39.5