Re: [PATCH] i2c: aspeed: Fix initial values of master and slave state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/10/2018 10:47 PM, Brendan Higgins wrote:
On Mon, Jul 2, 2018 at 2:20 PM Jae Hyun Yoo
<jae.hyun.yoo@xxxxxxxxxxxxxxx> wrote:

This patch changes the order of enum aspeed_i2c_master_state and
enum aspeed_i2c_slave_state defines to make their initial value to
ASPEED_I2C_MASTER_INACTIVE and ASPEED_I2C_SLAVE_STOP respectively.
In case of multi-master use, if a slave data comes ahead of the
first master xfer, master_state starts from an invalid state so
this change fixes the issue.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx>
---
  drivers/i2c/busses/i2c-aspeed.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
index 60e4d0e939a3..2714c7fbe7c9 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
@@ -111,22 +111,22 @@
  #define ASPEED_I2CD_DEV_ADDR_MASK                      GENMASK(6, 0)

  enum aspeed_i2c_master_state {
+       ASPEED_I2C_MASTER_INACTIVE,
         ASPEED_I2C_MASTER_START,
         ASPEED_I2C_MASTER_TX_FIRST,
         ASPEED_I2C_MASTER_TX,
         ASPEED_I2C_MASTER_RX_FIRST,
         ASPEED_I2C_MASTER_RX,
         ASPEED_I2C_MASTER_STOP,
-       ASPEED_I2C_MASTER_INACTIVE,
  };

  enum aspeed_i2c_slave_state {
+       ASPEED_I2C_SLAVE_STOP,
         ASPEED_I2C_SLAVE_START,
         ASPEED_I2C_SLAVE_READ_REQUESTED,
         ASPEED_I2C_SLAVE_READ_PROCESSED,
         ASPEED_I2C_SLAVE_WRITE_REQUESTED,
         ASPEED_I2C_SLAVE_WRITE_RECEIVED,
-       ASPEED_I2C_SLAVE_STOP,
  };

  struct aspeed_i2c_bus {
--
2.17.1


Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>

Thanks!

BTW, sorry for the delay, just got back from vacation. I will review
the rest tomorrow.


Thanks a lot for the review!

Jae



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux