|
@@ -700,6 +700,8 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap,
|
|
|
|
|
|
pm_runtime_get_sync(dev);
|
|
pm_runtime_get_sync(dev);
|
|
|
|
|
|
|
|
+ rcar_i2c_init(priv);
|
|
|
|
+
|
|
ret = rcar_i2c_bus_barrier(priv);
|
|
ret = rcar_i2c_bus_barrier(priv);
|
|
if (ret < 0)
|
|
if (ret < 0)
|
|
goto out;
|
|
goto out;
|
|
@@ -860,8 +862,6 @@ static int rcar_i2c_probe(struct platform_device *pdev)
|
|
if (ret < 0)
|
|
if (ret < 0)
|
|
goto out_pm_put;
|
|
goto out_pm_put;
|
|
|
|
|
|
- rcar_i2c_init(priv);
|
|
|
|
-
|
|
|
|
/* Don't suspend when multi-master to keep arbitration working */
|
|
/* Don't suspend when multi-master to keep arbitration working */
|
|
if (of_property_read_bool(dev->of_node, "multi-master"))
|
|
if (of_property_read_bool(dev->of_node, "multi-master"))
|
|
priv->flags |= ID_P_PM_BLOCKED;
|
|
priv->flags |= ID_P_PM_BLOCKED;
|