Recently, some bugs have been discovered during use, patch3 and patch5-6 are bug fixes. Also, this patchset add new features: patch1 allows I2C to use more frequencies for communication, patch2 allows I2C to use 'reset framework' for reset, and patch4 allows I2C controller to dynamically switch frequencies during use. change in V2 -Using 'I2C' instead of 'IIC' in the patch set. -Using imperative form in patch subject. -Use 'switch case' instead of 'else if' in PATCH 1/7. -Modify if (i2c_dev->rst != NULL) to if (i2c_dev->rst) in PATCH 2/7. -Modify some dev_err() to dev_warn() or dev_dbg(). -Clear i2c_dev->ack_flag in sprd_i2c_clear_ack() in PATCH 3/7. -Modify the indentation format of the code in PATCH 4/7. -Move sprd_i2c_enable() above its caller in PATCH 5/7. -Remove 'Set I2C_RX_ACK when clear irq' commit. -Add Fixes tags. Huangzheng Lai (7): i2c: sprd: Add configurations that support 1Mhz and 3.4Mhz frequencies i2c: sprd: Add I2C driver to use 'reset framework' function i2c: sprd: Use global variables to record I2C ack/nack status instead of local variables i2c: sprd: Add I2C controller driver to support dynamic switching of 400K/1M/3.4M frequency i2c: sprd: Configure the enable bit of the I2C controller before each transmission initiation i2c: sprd: Increase the waiting time for I2C transmission to avoid system crash issues i2c: sprd: Add I2C_NACK_EN and I2C_TRANS_EN control bits drivers/i2c/busses/i2c-sprd.c | 166 ++++++++++++++++++++++------------ 1 file changed, 106 insertions(+), 60 deletions(-) -- 2.17.1