aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-eg20t.c26
1 files changed, 4 insertions, 22 deletions
diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c
index 0f3752967c4b..ff15ae90aaf5 100644
--- a/drivers/i2c/busses/i2c-eg20t.c
+++ b/drivers/i2c/busses/i2c-eg20t.c
@@ -312,24 +312,6 @@ static void pch_i2c_start(struct i2c_algo_pch_data *adap)
312} 312}
313 313
314/** 314/**
315 * pch_i2c_getack() - to confirm ACK/NACK
316 * @adap: Pointer to struct i2c_algo_pch_data.
317 */
318static s32 pch_i2c_getack(struct i2c_algo_pch_data *adap)
319{
320 u32 reg_val;
321 void __iomem *p = adap->pch_base_address;
322 reg_val = ioread32(p + PCH_I2CSR) & PCH_GETACK;
323
324 if (reg_val != 0) {
325 pch_err(adap, "return%d\n", -EPROTO);
326 return -EPROTO;
327 }
328
329 return 0;
330}
331
332/**
333 * pch_i2c_stop() - generate stop condition in normal mode. 315 * pch_i2c_stop() - generate stop condition in normal mode.
334 * @adap: Pointer to struct i2c_algo_pch_data. 316 * @adap: Pointer to struct i2c_algo_pch_data.
335 */ 317 */
@@ -344,6 +326,7 @@ static void pch_i2c_stop(struct i2c_algo_pch_data *adap)
344static int pch_i2c_wait_for_check_xfer(struct i2c_algo_pch_data *adap) 326static int pch_i2c_wait_for_check_xfer(struct i2c_algo_pch_data *adap)
345{ 327{
346 long ret; 328 long ret;
329 void __iomem *p = adap->pch_base_address;
347 330
348 ret = wait_event_timeout(pch_event, 331 ret = wait_event_timeout(pch_event,
349 (adap->pch_event_flag != 0), msecs_to_jiffies(1000)); 332 (adap->pch_event_flag != 0), msecs_to_jiffies(1000));
@@ -366,10 +349,9 @@ static int pch_i2c_wait_for_check_xfer(struct i2c_algo_pch_data *adap)
366 349
367 adap->pch_event_flag = 0; 350 adap->pch_event_flag = 0;
368 351
369 if (pch_i2c_getack(adap)) { 352 if (ioread32(p + PCH_I2CSR) & PCH_GETACK) {
370 pch_dbg(adap, "Receive NACK for slave address" 353 pch_dbg(adap, "Receive NACK for slave address setting\n");
371 "setting\n"); 354 return -ENXIO;
372 return -EIO;
373 } 355 }
374 356
375 return 0; 357 return 0;