Skip to content

Commit 2088716

Browse files
Wolfram SangWolfram Sang
authored andcommitted
i2c: s3c2410: 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. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
1 parent d5c95bd commit 2088716

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

drivers/i2c/busses/i2c-s3c2410.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ enum s3c24xx_i2c_state {
104104
struct s3c24xx_i2c {
105105
wait_queue_head_t wait;
106106
kernel_ulong_t quirks;
107-
unsigned int suspended:1;
108107

109108
struct i2c_msg *msg;
110109
unsigned int msg_num;
@@ -703,9 +702,6 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,
703702
unsigned long timeout;
704703
int ret;
705704

706-
if (i2c->suspended)
707-
return -EIO;
708-
709705
ret = s3c24xx_i2c_set_master(i2c);
710706
if (ret != 0) {
711707
dev_err(i2c->dev, "cannot get bus (error %d)\n", ret);
@@ -1246,7 +1242,7 @@ static int s3c24xx_i2c_suspend_noirq(struct device *dev)
12461242
{
12471243
struct s3c24xx_i2c *i2c = dev_get_drvdata(dev);
12481244

1249-
i2c->suspended = 1;
1245+
i2c_mark_adapter_suspended(&i2c->adap);
12501246

12511247
if (!IS_ERR(i2c->sysreg))
12521248
regmap_read(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, &i2c->sys_i2c_cfg);
@@ -1267,7 +1263,7 @@ static int s3c24xx_i2c_resume_noirq(struct device *dev)
12671263
return ret;
12681264
s3c24xx_i2c_init(i2c);
12691265
clk_disable(i2c->clk);
1270-
i2c->suspended = 0;
1266+
i2c_mark_adapter_resumed(&i2c->adap);
12711267

12721268
return 0;
12731269
}

0 commit comments

Comments
 (0)