|
@@ -648,18 +648,6 @@ static int mn88473_probe(struct i2c_client *client,
|
|
|
goto err_kfree;
|
|
|
}
|
|
|
|
|
|
- /* Check demod answers with correct chip id */
|
|
|
- ret = regmap_read(dev->regmap[0], 0xff, &uitmp);
|
|
|
- if (ret)
|
|
|
- goto err_regmap_0_regmap_exit;
|
|
|
-
|
|
|
- dev_dbg(&client->dev, "chip id=%02x\n", uitmp);
|
|
|
-
|
|
|
- if (uitmp != 0x03) {
|
|
|
- ret = -ENODEV;
|
|
|
- goto err_regmap_0_regmap_exit;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* Chip has three I2C addresses for different register banks. Used
|
|
|
* addresses are 0x18, 0x1a and 0x1c. We register two dummy clients,
|
|
@@ -696,6 +684,18 @@ static int mn88473_probe(struct i2c_client *client,
|
|
|
}
|
|
|
i2c_set_clientdata(dev->client[2], dev);
|
|
|
|
|
|
+ /* Check demod answers with correct chip id */
|
|
|
+ ret = regmap_read(dev->regmap[2], 0xff, &uitmp);
|
|
|
+ if (ret)
|
|
|
+ goto err_regmap_2_regmap_exit;
|
|
|
+
|
|
|
+ dev_dbg(&client->dev, "chip id=%02x\n", uitmp);
|
|
|
+
|
|
|
+ if (uitmp != 0x03) {
|
|
|
+ ret = -ENODEV;
|
|
|
+ goto err_regmap_2_regmap_exit;
|
|
|
+ }
|
|
|
+
|
|
|
/* Sleep because chip is active by default */
|
|
|
ret = regmap_write(dev->regmap[2], 0x05, 0x3e);
|
|
|
if (ret)
|