i2c for 3.17
Linus,
here is the pull request for 3.17 for the I2C subsystem. Highlights:
* class based instantiation finally dropped for most embedded drivers bringing boot up performance gains
* removed two drivers (one outdated, one a duplicate)
* ACPI has now operation region support (thanks to Lan Tianyu)
* the i2c-stub driver got overhauled and gained new features to become more useful when writing i2c client drivers (thanks to Guenter Roeck and Jean Delvare)
The rest is driver bugfixes, added bindings/ids, cleanups, ... Please pull.
Thanks,
Wolfram
The following changes since commit a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee:
Linux 3.16-rc2 (2014-06-21 19:02:54 -1000)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-3.17
for you to fetch changes up to ebba48b702ab11bbb76e357a7246bc2f19ad02bc:
i2c: mpc: delete unneeded test before of_node_put (2014-08-08 18:45:30 +0200)
----------------------------------------------------------------
Alan Cox (1):
i2c: designware: add new bindings
Christoph Jaeger (1):
i2c: taos-evm: Use module_serio_driver()
Doug Anderson (1):
i2c: exynos5: Properly use the "noirq" variants of suspend/resume
Fabio Estevam (1):
i2c: i2c-st: Use %pa to print 'resource_size_t' type
Guenter Roeck (1):
i2c: stub: Add support for SMBus block commands
Jean Delvare (6):
i2c: stub: Remember the number of emulated chips
i2c: stub: Add support for banked register ranges
i2c: i801: Fix the alignment of the device table
i2c: i801: Add device ID for Intel Wildcat Point PCH
i2c: stub: Avoid an array overrun on I2C block transfers
i2c: gpio: Drop dead code in i2c_gpio_remove
Jisheng Zhang (1):
i2c: pca954x: put the mux to disconnected state after resume
Julia Lawall (1):
i2c: mpc: delete unneeded test before of_node_put
Lan Tianyu (2):
I2C/ACPI: Add i2c ACPI operation region support I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI config
Maxime COQUELIN (1):
i2c: st: Update i2c timings
Naveen Krishna Ch (2):
i2c: exynos5: remove an unnecessary read of FIFO_STATUS register
i2c: exynos5: remove extra line and fix an assignment
Pramod Gurav (1):
i2c: qup: disable clks and return instead of just returning error
Sachin Kamat (1):
i2c: exynos5: always enable HSI2C
Uwe Kleine-König (1):
i2c: efm32: correct namespacing of location property
Vincent Palatin (1):
i2c: s3c2410: resume the I2C controller earlier
Wolfram Sang (19):
i2c: s6000: remove duplicate driver
i2c: scx200: drop GPIO based i2c driver
i2c: add debug info when class instantiation was dropped
i2c: i2c-at91: Drop class based scanning to improve bootup time
i2c: i2c-bcm2835: Drop class based scanning to improve bootup time
i2c: i2c-bfin-twi: Drop class based scanning to improve bootup time
i2c: i2c-davinci: Drop class based scanning to improve bootup time
i2c: i2c-designware-platdrv: Drop class based scanning to improve bootup time
i2c: i2c-mv64xxx: Drop class based scanning to improve bootup time
i2c: i2c-nomadik: Drop class based scanning to improve bootup time
i2c: i2c-ocores: Drop class based scanning to improve bootup time
i2c: i2c-omap: Drop class based scanning to improve bootup time
i2c: i2c-rcar: Drop class based scanning to improve bootup time
i2c: i2c-s3c2410: Drop class based scanning to improve bootup time
i2c: i2c-sirf: Drop class based scanning to improve bootup time
i2c: i2c-stu300: Drop class based scanning to improve bootup time
i2c: i2c-tegra: Drop class based scanning to improve bootup time
i2c: i2c-xiic: Drop class based scanning to improve bootup time drivers/i2c/busses: use correct type for dma_map/unmap
Xiubo Li (1):
i2c: imx: Fix format warning for dev_dbg
addy ke (1):
i2c: rk3x: fix interrupt handling issue
.../devicetree/bindings/i2c/i2c-efm32.txt | 4 +- Documentation/i2c/busses/i2c-i801 | 1 + Documentation/i2c/i2c-stub | 23 +- drivers/i2c/Kconfig | 18 +- drivers/i2c/Makefile | 5 +- drivers/i2c/busses/Kconfig | 46 +-- drivers/i2c/busses/Makefile | 2 - drivers/i2c/busses/i2c-at91.c | 6 +- drivers/i2c/busses/i2c-bcm2835.c | 2 +- drivers/i2c/busses/i2c-bfin-twi.c | 2 +- drivers/i2c/busses/i2c-davinci.c | 2 +- drivers/i2c/busses/i2c-designware-pcidrv.c | 9 + drivers/i2c/busses/i2c-designware-platdrv.c | 3 +- drivers/i2c/busses/i2c-efm32.c | 8 +- drivers/i2c/busses/i2c-exynos5.c | 16 +- drivers/i2c/busses/i2c-gpio.c | 2 - drivers/i2c/busses/i2c-i801.c | 139 +++---- drivers/i2c/busses/i2c-imx.c | 5 +- drivers/i2c/busses/i2c-mpc.c | 3 +- drivers/i2c/busses/i2c-mv64xxx.c | 2 +- drivers/i2c/busses/i2c-nomadik.c | 8 +- drivers/i2c/busses/i2c-ocores.c | 12 +- drivers/i2c/busses/i2c-omap.c | 2 +- drivers/i2c/busses/i2c-qup.c | 12 +- drivers/i2c/busses/i2c-rcar.c | 14 +- drivers/i2c/busses/i2c-rk3x.c | 2 +- drivers/i2c/busses/i2c-s3c2410.c | 16 +- drivers/i2c/busses/i2c-s6000.c | 404 --------------------- drivers/i2c/busses/i2c-s6000.h | 79 ---- drivers/i2c/busses/i2c-sirf.c | 2 +- drivers/i2c/busses/i2c-st.c | 34 +- drivers/i2c/busses/i2c-stu300.c | 2 +- drivers/i2c/busses/i2c-taos-evm.c | 13 +- drivers/i2c/busses/i2c-tegra.c | 2 +- drivers/i2c/busses/i2c-xiic.c | 12 +- drivers/i2c/busses/scx200_i2c.c | 129 ------- drivers/i2c/i2c-acpi.c | 362 ++++++++++++++++++ drivers/i2c/i2c-core.c | 107 +----- drivers/i2c/i2c-stub.c | 237 +++++++++++- drivers/i2c/muxes/i2c-mux-pca954x.c | 15 + include/linux/acpi.h | 11 + include/linux/i2c.h | 12 + include/linux/i2c/s6000.h | 10 - 43 files changed, 853 insertions(+), 942 deletions(-) delete mode 100644 drivers/i2c/busses/i2c-s6000.c delete mode 100644 drivers/i2c/busses/i2c-s6000.h delete mode 100644 drivers/i2c/busses/scx200_i2c.c create mode 100644 drivers/i2c/i2c-acpi.c delete mode 100644 include/linux/i2c/s6000.h
Quoted 2 lines · Wolfram Sang
here is the pull request for 3.17 for the I2C subsystem. Highlights:
Lowlight: selecting ACPI support (which used to be the default if ACPI was enabled) now forces i2c to be built-in.
I've pulled this, but it's broken. You need to fix it someway.
The reason for this is
config I2C
tristate "I2C support"
...
config I2C_ACPI
bool "I2C ACPI support"
select I2C
depends on ACPI
...
where if I2C_APCI is on (y), then that "select I2C" will cause I2C to be upgraded to 'y' as well.
This seems to be intentional, judging by the commit message, but it's wrong. Distributions etc generally compile i2c as a module, and you've now broken that.
This is a regression. Change the "select I2C" to a "depends on I2C", and test the end result. Don't force people to build things into the kernel.
Linus
Quoted 23 lines · Linus Torvalds
Quoted 2 lines · Wolfram Sang
here is the pull request for 3.17 for the I2C subsystem. Highlights:
Lowlight: selecting ACPI support (which used to be the default if ACPI was enabled) now forces i2c to be built-in.
I've pulled this, but it's broken. You need to fix it someway.
The reason for this is
config I2C
tristate "I2C support"
...
configI2C_ACPI
bool "I2C ACPI support"
select I2C
depends on ACPI
...where if
I2C_APCIis on (y), then that "select I2C" will cause I2C to be upgraded to 'y' as well.
Quoted 7 lines
This seems to be intentional, judging by the commit message, but it's wrong. Distributions etc generally compile i2c as a module, and you've now broken that.
This is a regression. Change the "select I2C" to a "depends on I2C", and test the end result. Don't force people to build things into the kernel.
Hi Linus:
Sorry about this, I will create a fix patch soon. Thanks.
Quoted 3 lines
Linus
Signature · 2 lines
Best regards Tianyu Lan