|
@@ -674,16 +674,20 @@ static int qup_i2c_probe(struct platform_device *pdev)
|
|
qup->adap.dev.of_node = pdev->dev.of_node;
|
|
qup->adap.dev.of_node = pdev->dev.of_node;
|
|
strlcpy(qup->adap.name, "QUP I2C adapter", sizeof(qup->adap.name));
|
|
strlcpy(qup->adap.name, "QUP I2C adapter", sizeof(qup->adap.name));
|
|
|
|
|
|
- ret = i2c_add_adapter(&qup->adap);
|
|
|
|
- if (ret)
|
|
|
|
- goto fail;
|
|
|
|
-
|
|
|
|
pm_runtime_set_autosuspend_delay(qup->dev, MSEC_PER_SEC);
|
|
pm_runtime_set_autosuspend_delay(qup->dev, MSEC_PER_SEC);
|
|
pm_runtime_use_autosuspend(qup->dev);
|
|
pm_runtime_use_autosuspend(qup->dev);
|
|
pm_runtime_set_active(qup->dev);
|
|
pm_runtime_set_active(qup->dev);
|
|
pm_runtime_enable(qup->dev);
|
|
pm_runtime_enable(qup->dev);
|
|
|
|
+
|
|
|
|
+ ret = i2c_add_adapter(&qup->adap);
|
|
|
|
+ if (ret)
|
|
|
|
+ goto fail_runtime;
|
|
|
|
+
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+fail_runtime:
|
|
|
|
+ pm_runtime_disable(qup->dev);
|
|
|
|
+ pm_runtime_set_suspended(qup->dev);
|
|
fail:
|
|
fail:
|
|
qup_i2c_disable_clocks(qup);
|
|
qup_i2c_disable_clocks(qup);
|
|
return ret;
|
|
return ret;
|