From: Dirk Brandewie<dirk.brandewie@xxxxxxxxx>
This patch set reworks i2c-designware.c to enable supporting multiple
instances of the driver in the system and adds support for Designware
I2C IP cores behind PCI devices.
Previous discussion thread:
https://lkml.org/lkml/2011/3/12/70
Changes since V3:
commits 330d1c^..5c7d3e from linux-next rebased onto v3.0-rc2
Changes since V2:
Fixed bug that kept PCI driver from compiling :-(
PCI Runtime power mangement code changed to remove warning at probe
time and remove device.
Fix checking of component version on big endian machine to work
correctly.
Changes since V1 of the patch set:
Patches 1-3 are now Jean-Hugues Deschenes patches unmodified from
http://www.spinics.net/lists/linux-i2c/msg02421.html
Patch 4 moves the version checking introduced in Jean's code to the
core init function.
Patch 5 splits i2c-designware.c into IP core and bus specific files.
Patch 6-9 rework i2c-designware-core.c and i2c-designware-platdrv.c to
add the ability to support multiple instances of the driver.
Patch 10 Finishes moving all register access and associated offset and
bit definitions into the core.
Patch 11 Adds support for designware I2C IP cores behind PCI
devices on the Moorestown and Medfield platforms. removed change to
authors name.
Patch 12 Adds runtime power management to the PCI driver.
Dirk Brandewie (10):
i2c-designware: Move checking of IP core version to i2c_dw_init()
i2c-designware: split of i2c-designware.c into core and bus specific
parts
i2c-designware: Move retriveving the clock speed out of core code.
i2c-designware: move i2c functionality bit field to be adapter
specific
i2c-designware: move controller config to bus specific portion of
driver
i2c-designware: Support multiple cores using same ISR
i2c-designware: Push all register reads/writes into the core code.
i2c-designware: Add support for Designware core behind PCI devices.
i2c-designware: Add runtime power management support
i2c-intel-mid.c: Remove i2c-intel-mid.c
Jean-Hugues Deschenes (3):
i2c-designware: Use local version of readl& writel
i2c-designware: Check component type register
i2c-designware: Allow mixed endianness accesses
drivers/i2c/busses/Kconfig | 26 +-
drivers/i2c/busses/Makefile | 6 +-
drivers/i2c/busses/i2c-designware-core.c | 705 +++++++++++++++++
drivers/i2c/busses/i2c-designware-core.h | 106 +++
drivers/i2c/busses/i2c-designware-pcidrv.c | 405 ++++++++++
drivers/i2c/busses/i2c-designware-platdrv.c | 215 +++++
drivers/i2c/busses/i2c-designware.c | 847 --------------------
drivers/i2c/busses/i2c-intel-mid.c | 1140 ---------------------------
8 files changed, 1448 insertions(+), 2002 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-designware-core.c
create mode 100644 drivers/i2c/busses/i2c-designware-core.h
create mode 100644 drivers/i2c/busses/i2c-designware-pcidrv.c
create mode 100644 drivers/i2c/busses/i2c-designware-platdrv.c
delete mode 100644 drivers/i2c/busses/i2c-designware.c
delete mode 100644 drivers/i2c/busses/i2c-intel-mid.c