[PATCH v4 0/5] i2c: designware: Add slave support

From: Luis Oliveira
Date: Wed Dec 07 2016 - 12:58:11 EST


The purpose of this patch is to enable Linux to be a I2C slave by enabling the
slave functionality in the designware I2C controller. The patch refactors the
original i2c-designware-core and extracts all master functions to a
i2c-designware-master source file as suggested by Andy Shevchenko. It also
creates a i2c-designware-slave source file and keeps the common functions in the
i2c-designware-src source file. For that changes also had to be made in the
Makefile and Kconfig.
The driver instantiates in slave or master mode by checking the compatible string
of the device tree (see devicetree/bindings/i2c/i2c-designware.txt). ACPI is not
supported.
The functionality was tested using the hardware independent software backend
slave-eeprom driver.

Luis Oliveira (5):
i2c: designware: Refactoring of the i2c-designware
i2c: designware: Master mode as separated driver
i2c: designware: Add slave definitions
i2c: designware: Add slave mode as separated driver
i2c: designware: Cleaning comments and formatation

.../devicetree/bindings/i2c/i2c-designware.txt | 4 +
drivers/i2c/busses/Kconfig | 1 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-designware-common.c | 258 ++++++++++++
drivers/i2c/busses/i2c-designware-core.h | 158 ++++++++
...c-designware-core.c => i2c-designware-master.c} | 380 ++----------------
drivers/i2c/busses/i2c-designware-platdrv.c | 106 ++++-
drivers/i2c/busses/i2c-designware-slave.c | 435 +++++++++++++++++++++
8 files changed, 973 insertions(+), 370 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-designware-common.c
rename drivers/i2c/busses/{i2c-designware-core.c => i2c-designware-master.c} (66%)
create mode 100644 drivers/i2c/busses/i2c-designware-slave.c

--
2.11.0