Skip to content

Commit 5601df3

Browse files
Wolfram SangWolfram Sang
authored andcommitted
i2c: zx2967: use core helper to mark adapter suspended
Rejecting transfers should be handled by the core. Also, this will ensure proper locking which was forgotten in this open coded version and make sure resume mark is set after enabling clocks (not before). Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
1 parent f2e0d28 commit 5601df3

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

drivers/i2c/busses/i2c-zx2967.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ struct zx2967_i2c {
6666
int msg_rd;
6767
u8 *cur_trans;
6868
u8 access_cnt;
69-
bool is_suspended;
7069
int error;
7170
};
7271

@@ -313,9 +312,6 @@ static int zx2967_i2c_xfer(struct i2c_adapter *adap,
313312
int ret;
314313
int i;
315314

316-
if (i2c->is_suspended)
317-
return -EBUSY;
318-
319315
zx2967_set_addr(i2c, msgs->addr);
320316

321317
for (i = 0; i < num; i++) {
@@ -470,7 +466,7 @@ static int __maybe_unused zx2967_i2c_suspend(struct device *dev)
470466
{
471467
struct zx2967_i2c *i2c = dev_get_drvdata(dev);
472468

473-
i2c->is_suspended = true;
469+
i2c_mark_adapter_suspended(&i2c->adap);
474470
clk_disable_unprepare(i2c->clk);
475471

476472
return 0;
@@ -480,8 +476,8 @@ static int __maybe_unused zx2967_i2c_resume(struct device *dev)
480476
{
481477
struct zx2967_i2c *i2c = dev_get_drvdata(dev);
482478

483-
i2c->is_suspended = false;
484479
clk_prepare_enable(i2c->clk);
480+
i2c_mark_adapter_resumed(&i2c->adap);
485481

486482
return 0;
487483
}

0 commit comments

Comments
 (0)