From: John Keeping Date: Thu, 18 Aug 2016 19:08:41 +0000 (+0100) Subject: rockchip: i2c: move register write out of inner loop X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=551288bd8ba5db8f7553a9b7e4420fd005767b88;p=u-boot.git rockchip: i2c: move register write out of inner loop There is no point in writing intermediate values to the txdata registers. Also add padding to the debug logging to make it easier to read when there are leading zeroes. Signed-off-by: John Keeping Acked-by: Simon Glass --- diff --git a/drivers/i2c/rk_i2c.c b/drivers/i2c/rk_i2c.c index 2597970bb0..a4c0032fd8 100644 --- a/drivers/i2c/rk_i2c.c +++ b/drivers/i2c/rk_i2c.c @@ -277,9 +277,9 @@ static int rk_i2c_write(struct rk_i2c *i2c, uchar chip, uint reg, uint r_len, } else { txdata |= (*pbuf++)<<(j * 8); } - writel(txdata, ®s->txdata[i]); } - debug("I2c Write TXDATA[%d] = 0x%x\n", i, txdata); + writel(txdata, ®s->txdata[i]); + debug("I2c Write TXDATA[%d] = 0x%08x\n", i, txdata); } writel(I2C_CON_EN | I2C_CON_MOD(I2C_MODE_TX), ®s->con);