mbox

[PULL,REQUEST] i2c for 3.17

Message ID 20140809135557.GA4837@katana
State Accepted
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-3.17

Message

Wolfram Sang Aug. 9, 2014, 1:56 p.m. UTC
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

Comments

Linus Torvalds Aug. 9, 2014, 5:34 p.m. UTC | #1
On Sat, Aug 9, 2014 at 6:56 AM, Wolfram Sang <wsa@the-dreams.de> wrote:
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lan Tianyu Aug. 11, 2014, 1:39 a.m. UTC | #2
On 2014年08月10日 01:34, Linus Torvalds wrote:
> On Sat, Aug 9, 2014 at 6:56 AM, Wolfram Sang <wsa@the-dreams.de> wrote:
>>
>> 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.

Hi Linus:
	Sorry about this, I will create a fix patch soon. Thanks.

> 
>                  Linus
>