mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-11 07:39:47 +00:00
Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang: "Two i2c driver bugfixes" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: qup: Fix order of runtime pm initialization i2c: rk3x: fix 0 length write transfers
This commit is contained in:
commit
126d4576cb
@ -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;
|
||||||
|
@ -238,7 +238,7 @@ static void rk3x_i2c_fill_transmit_buf(struct rk3x_i2c *i2c)
|
|||||||
for (i = 0; i < 8; ++i) {
|
for (i = 0; i < 8; ++i) {
|
||||||
val = 0;
|
val = 0;
|
||||||
for (j = 0; j < 4; ++j) {
|
for (j = 0; j < 4; ++j) {
|
||||||
if (i2c->processed == i2c->msg->len)
|
if ((i2c->processed == i2c->msg->len) && (cnt != 0))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (i2c->processed == 0 && cnt == 0)
|
if (i2c->processed == 0 && cnt == 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user