Hi Andi, Wolfram, Due to some corporate and personal delays, I only recently had time to prepare the patch v3. Please kindly review. In version v2, the patch consists of 2 files. In version v3, the patch consists of 12 files. I wish it was a little clearer how I do with it. Among them, patch 0001-0009 is mainly some format modification and removal of redundancy. Patch 0010 splits i2c-wmt.c into i2c-wmt-plt.c and i2c-viai2c-common.c. Patch 0011 shows some differences between zhaoxin and wmt. Patch 0012 is the reset driver by zhaoxin's own controller. Hans Hu (12): i2c: wmt: Reduce redundant: bus busy check i2c: wmt: Reduce redundant: wait event complete i2c: wmt: Reduce redundant: clock mode setting i2c: wmt: Reduce redundant: REG_CR setting i2c: wmt: Reduce redundant: function parameter i2c: wmt: delete .remove_new i2c: wmt: create wmt_i2c_init for general init i2c: wmt: rename marcos with prefix WMTI2C_ i2c: wmt: adjust line length to meet style i2c: wmt: split out common files i2c: via-common: add zhaoxin platform i2c: add zhaoxin i2c controller driver MAINTAINERS | 8 + drivers/i2c/busses/Kconfig | 10 + drivers/i2c/busses/Makefile | 4 + drivers/i2c/busses/i2c-viai2c-common.c | 246 +++++++++++++ drivers/i2c/busses/i2c-viai2c-common.h | 79 +++++ drivers/i2c/busses/i2c-wmt-plt.c | 139 ++++++++ drivers/i2c/busses/i2c-wmt.c | 466 ------------------------- drivers/i2c/busses/i2c-zhaoxin-plt.c | 296 ++++++++++++++++ 8 files changed, 782 insertions(+), 466 deletions(-) create mode 100644 drivers/i2c/busses/i2c-viai2c-common.c create mode 100644 drivers/i2c/busses/i2c-viai2c-common.h create mode 100644 drivers/i2c/busses/i2c-wmt-plt.c delete mode 100644 drivers/i2c/busses/i2c-wmt.c create mode 100644 drivers/i2c/busses/i2c-zhaoxin-plt.c -- 2.34.1