diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-09-25 23:39:26 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-10-20 23:06:19 -0400 |
commit | bfc3d57ff75a6ac34cc4b88a4abd6d6d9ef32e73 (patch) | |
tree | 157de13bfd50b2a94188e1795e50726e5148f7b5 /drivers/media/common | |
parent | 3fd8e647eaa76a1eb5bdd0fcecf49364a089b71d (diff) |
V4L/DVB: tda18271: Add some hint about what tda18217 reg ID returned
Instead of doing:
[ 82.581639] tda18271 4-0060: creating new instance
[ 82.588411] Unknown device detected @ 4-0060, device not supported.
[ 82.594695] tda18271_attach: [4-0060|M] error -22 on line 1272
[ 82.600530] tda18271 4-0060: destroying instance
Print:
[ 468.740392] Unknown device (0) detected @ 4-0060, device not supported.
for the error message, to help detecting what's going wrong with the
device.
This helps to detect when the driver is using the wrong I2C bus (or have
the i2g gate switch pointing to the wrong place), on devices like cx231xx
that just return 0 on reads to a non-existent i2c device.
Reviewed-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r-- | drivers/media/common/tuners/tda18271-fe.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c index 7955e49a3440..9ad4454a148d 100644 --- a/drivers/media/common/tuners/tda18271-fe.c +++ b/drivers/media/common/tuners/tda18271-fe.c | |||
@@ -1156,7 +1156,6 @@ static int tda18271_get_id(struct dvb_frontend *fe) | |||
1156 | struct tda18271_priv *priv = fe->tuner_priv; | 1156 | struct tda18271_priv *priv = fe->tuner_priv; |
1157 | unsigned char *regs = priv->tda18271_regs; | 1157 | unsigned char *regs = priv->tda18271_regs; |
1158 | char *name; | 1158 | char *name; |
1159 | int ret = 0; | ||
1160 | 1159 | ||
1161 | mutex_lock(&priv->lock); | 1160 | mutex_lock(&priv->lock); |
1162 | tda18271_read_regs(fe); | 1161 | tda18271_read_regs(fe); |
@@ -1172,17 +1171,16 @@ static int tda18271_get_id(struct dvb_frontend *fe) | |||
1172 | priv->id = TDA18271HDC2; | 1171 | priv->id = TDA18271HDC2; |
1173 | break; | 1172 | break; |
1174 | default: | 1173 | default: |
1175 | name = "Unknown device"; | 1174 | tda_info("Unknown device (%i) detected @ %d-%04x, device not supported.\n", |
1176 | ret = -EINVAL; | 1175 | regs[R_ID], i2c_adapter_id(priv->i2c_props.adap), |
1177 | break; | 1176 | priv->i2c_props.addr); |
1177 | return -EINVAL; | ||
1178 | } | 1178 | } |
1179 | 1179 | ||
1180 | tda_info("%s detected @ %d-%04x%s\n", name, | 1180 | tda_info("%s detected @ %d-%04x\n", name, |
1181 | i2c_adapter_id(priv->i2c_props.adap), | 1181 | i2c_adapter_id(priv->i2c_props.adap), priv->i2c_props.addr); |
1182 | priv->i2c_props.addr, | ||
1183 | (0 == ret) ? "" : ", device not supported."); | ||
1184 | 1182 | ||
1185 | return ret; | 1183 | return 0; |
1186 | } | 1184 | } |
1187 | 1185 | ||
1188 | static int tda18271_setup_configuration(struct dvb_frontend *fe, | 1186 | static int tda18271_setup_configuration(struct dvb_frontend *fe, |