Skip to contentSkip to conversation

i2c for 3.17

GIT PULL Wolfram Sang 3 participants 3 messages Aug 9, 2014 – Aug 11, 2014 I2C subsystem host drivers

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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

#2 lore raw
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"
...
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.

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