|
@@ -1324,15 +1324,29 @@ int cx231xx_dev_init(struct cx231xx *dev)
|
|
|
dev->i2c_bus[2].i2c_reserve = 0;
|
|
|
|
|
|
/* register I2C buses */
|
|
|
- cx231xx_i2c_register(&dev->i2c_bus[0]);
|
|
|
- cx231xx_i2c_register(&dev->i2c_bus[1]);
|
|
|
- cx231xx_i2c_register(&dev->i2c_bus[2]);
|
|
|
+ errCode = cx231xx_i2c_register(&dev->i2c_bus[0]);
|
|
|
+ if (errCode < 0)
|
|
|
+ return errCode;
|
|
|
+ errCode = cx231xx_i2c_register(&dev->i2c_bus[1]);
|
|
|
+ if (errCode < 0)
|
|
|
+ return errCode;
|
|
|
+ errCode = cx231xx_i2c_register(&dev->i2c_bus[2]);
|
|
|
+ if (errCode < 0)
|
|
|
+ return errCode;
|
|
|
|
|
|
errCode = cx231xx_i2c_mux_create(dev);
|
|
|
+ if (errCode < 0) {
|
|
|
+ dev_err(dev->dev,
|
|
|
+ "%s: Failed to create I2C mux\n", __func__);
|
|
|
+ return errCode;
|
|
|
+ }
|
|
|
+ errCode = cx231xx_i2c_mux_register(dev, 0);
|
|
|
+ if (errCode < 0)
|
|
|
+ return errCode;
|
|
|
+
|
|
|
+ errCode = cx231xx_i2c_mux_register(dev, 1);
|
|
|
if (errCode < 0)
|
|
|
return errCode;
|
|
|
- cx231xx_i2c_mux_register(dev, 0);
|
|
|
- cx231xx_i2c_mux_register(dev, 1);
|
|
|
|
|
|
/* scan the real bus segments in the order of physical port numbers */
|
|
|
cx231xx_do_i2c_scan(dev, I2C_0);
|