Reads of chip identification code (both on registers 0x00 and 0xff) always return 0x00. Skip chip identification to have the device complete probing. Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> --- drivers/media/i2c/mt9m111.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/drivers/media/i2c/mt9m111.c b/drivers/media/i2c/mt9m111.c index 72e71b7..8e86d51 100644 --- a/drivers/media/i2c/mt9m111.c +++ b/drivers/media/i2c/mt9m111.c @@ -890,31 +890,12 @@ static struct v4l2_subdev_ops mt9m111_subdev_ops = { static int mt9m111_video_probe(struct i2c_client *client) { struct mt9m111 *mt9m111 = to_mt9m111(client); - s32 data; int ret; ret = mt9m111_s_power(&mt9m111->subdev, 1); if (ret < 0) return ret; - data = reg_read(CHIP_VERSION); - - switch (data) { - case 0x143a: /* MT9M111 or MT9M131 */ - dev_info(&client->dev, - "Detected a MT9M111/MT9M131 chip ID %x\n", data); - break; - case 0x148c: /* MT9M112 */ - dev_info(&client->dev, "Detected a MT9M112 chip ID %x\n", data); - break; - default: - dev_err(&client->dev, - "No MT9M111/MT9M112/MT9M131 chip detected register read %x\n", - data); - ret = -ENODEV; - goto done; - } - ret = mt9m111_init(mt9m111); if (ret) goto done; -- 2.7.4