Hi Andi, Wolfram, The Zhaoxin I2C controller uses the same I2C IP as Wonder Media. Both Zhaoxin and Wonder Media's I2C IP are come from VIA I2C IP. Therefore, some codes of i2c-wmt.c can be re-used by i2c-zhaoxin.c. As suggested earlier, created two files, named i2c-viai2c-common.{c,h}. They contains the macro definitions, functions declaration and data structure used by both i2c-zhaoxin.c and i2c-wmt.c. v1->v2: 1. Fixed a compilation error for header file references. 2. use I2C platform device's name to define the irq's name. Hans Hu (2): i2c: wmt: split out i2c-viai2c-common.{c,h} i2c: add support for Zhaoxin I2C controller MAINTAINERS | 7 + drivers/i2c/busses/Kconfig | 15 + drivers/i2c/busses/Makefile | 2 + drivers/i2c/busses/i2c-viai2c-common.c | 239 +++++++++++++++ drivers/i2c/busses/i2c-viai2c-common.h | 76 +++++ drivers/i2c/busses/i2c-wmt.c | 402 ++----------------------- drivers/i2c/busses/i2c-zhaoxin.c | 274 +++++++++++++++++ 7 files changed, 644 insertions(+), 371 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-zhaoxin.c -- 2.34.1