Skip to contentSkip to conversation

i2c for 3.13

GIT PULL Wolfram Sang 4 participants 5 messages Nov 18, 2013 – Nov 19, 2013 I2C subsystem host drivers

lore
Share & tools
lore
#0 lore raw

Linus,

here is the pull request from the i2c subsystem for 3.13:

* new drivers for exynos5, bcm kona, and st micro
* bigger overhauls for drivers mxs and rcar
* typical driver bugfixes, cleanups, improvements
* got rid of the superfluous 'driver' member in i2c_client struct This touches a few drivers in other subsystems. All acked.

There is one conflict because of the INIT_COMPLETION to reinit_completion rename. linux-next has a proper fix.

The topmost patch has not been in linux-next, yet it is trivial and a bugfix which I wanted to have in this request. All the rest has linux-next coverage.

Please pull.

Thanks,

Wolfram

The following changes since commit 15c03dd4859ab16f9212238f29dd315654aa94f6:

Linux 3.12-rc3 (2013-09-29 15:02:38 -0700)

are available in the git repository at:

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

for you to fetch changes up to cfff1f4a9367bfe0d88413e8807f8369e9564729:

i2c: bcm-kona: fix error return code in bcm_kona_i2c_probe() (2013-11-18 20:26:23 +0100)

----------------------------------------------------------------
Andreas Werner (1):
i2c: i2c-eg20t: do not print error message in syslog if no ACK received

Dan Carpenter (1):
i2c: scmi: remove some bogus NULL checks

Guennadi Liakhovetski (5):
i2c: rcar: (cosmetic) remove superfluous parenthesis
i2c: rcar: get clock rate only once and simplify calculation
i2c: rcar: add Device Tree support
i2c: rcar: fix clk_get() error handling
i2c: rcar: use per-device clock

Guenter Roeck (1):
i2c: i2c-dev: Create 'name' attribute automatically

Ionut Nicu (2):
i2c: mux: gpio: use gpio_set_value_cansleep()
i2c: mux: gpio: use reg value for i2c_add_mux_adapter

James Ralston (1):
i2c: i801: Add Device IDs for Intel Wildcat Point-LP PCH

Jingoo Han (2):
i2c: xiic: Remove casting the return value which is a void pointer
i2c: bfin-twi: Remove casting the return value which is a void pointer

Juergen Beisert (1):
i2c: mxs: distinguish i.MX23 and i.MX28 based I2C controller

Kuninori Morimoto (1):
i2c: rcar: fixup rcar type naming

Lars-Peter Clausen (8):

      media: s5c73m3: Don't use i2c_client->driver
      media: exynos4-is: Don't use i2c_client->driver
      media: core: Don't use i2c_client->driver
      drm: encoder_slave: Don't use i2c_client->driver
      drm: nouveau: Don't use i2c_client->driver
      ALSA: ppc: keywest: Don't use i2c_client->driver
      ASoC: imx-wm8962: Don't use i2c_client->driver
      i2c: Remove redundant 'driver' field from the i2c_client struct

Laurent Pinchart (2):
i2c: sh_mobile: Convert to clk_prepare/unprepare
i2c: sh_mobile & rcar: Enable the driver on all ARM platforms

Marek Vasut (2):
i2c: mxs: Rework the PIO mode operation
i2c: mxs: Fix PIO mode on i.MX23

Maxime COQUELIN (1):
i2c: i2c-st: Add ST I2C controller

Mika Westerberg (1):
i2c: designware: add new ACPI IDs

Naveen Krishna Ch (1):
i2c: exynos5: add High Speed I2C controller driver

Sachin Kamat (3):
i2c: remove redundant of_match_ptr
i2c: Include linux/of.h header
i2c: exynos5: Remove incorrect clk_disable_unprepare

Tim Kryger (1):
i2c: bcm-kona: Introduce Broadcom I2C Driver

Tony Lindgren (1):
i2c: cbus-gpio: Fix device tree binding

Vivien Didelot (1):
misc: (at24) move header to linux/platform_data/

Wei Yongjun (2):
i2c: wmt: add missing clk_disable_unprepare() on error
i2c: bcm-kona: fix error return code in bcm_kona_i2c_probe()

 .../devicetree/bindings/i2c/i2c-bcm-kona.txt       |  35 +
 .../devicetree/bindings/i2c/i2c-exynos5.txt        |  44 +
 Documentation/devicetree/bindings/i2c/i2c-rcar.txt |  23 +
 Documentation/devicetree/bindings/i2c/i2c-st.txt   |  41 +
 Documentation/i2c/busses/i2c-i801                  |   1 +
 MAINTAINERS                                        |   2 +-
 arch/arm/mach-at91/board-sam9260ek.c               |   2 +-
 arch/arm/mach-at91/board-sam9263ek.c               |   2 +-
 arch/arm/mach-davinci/board-da830-evm.c            |   2 +-
 arch/arm/mach-davinci/board-da850-evm.c            |   2 +-
 arch/arm/mach-davinci/board-dm365-evm.c            |   2 +-
 arch/arm/mach-davinci/board-dm644x-evm.c           |   2 +-
 arch/arm/mach-davinci/board-dm646x-evm.c           |   2 +-
 arch/arm/mach-davinci/board-mityomapl138.c         |   2 +-
 arch/arm/mach-davinci/board-sffsdr.c               |   2 +-
 arch/arm/mach-imx/mach-pca100.c                    |   2 +-
 arch/arm/mach-imx/mach-pcm037.c                    |   2 +-
 arch/arm/mach-imx/mach-pcm038.c                    |   2 +-
 arch/arm/mach-imx/mach-pcm043.c                    |   2 +-
 arch/arm/mach-imx/mach-vpr200.c                    |   2 +-
 arch/arm/mach-kirkwood/lacie_v2-common.c           |   2 +-
 arch/arm/mach-omap1/board-osk.c                    |   2 +-
 arch/arm/mach-omap2/board-cm-t35.c                 |   2 +-
 arch/arm/mach-omap2/board-h4.c                     |   2 +-
 arch/arm/mach-omap2/board-omap3stalker.c           |   2 +-
 arch/arm/mach-pxa/stargate2.c                      |   2 +-
 arch/arm/mach-s3c24xx/mach-mini2440.c              |   2 +-
 drivers/gpu/drm/drm_encoder_slave.c                |   8 +-
 drivers/gpu/drm/nouveau/core/subdev/therm/ic.c     |   3 +-
 drivers/i2c/busses/Kconfig                         |  32 +-
 drivers/i2c/busses/Makefile                        |   3 +
 drivers/i2c/busses/i2c-bcm-kona.c                  | 909 +++++++++++++++++++++
 drivers/i2c/busses/i2c-bfin-twi.c                  |   6 +-
 drivers/i2c/busses/i2c-cbus-gpio.c                 |   2 +
 drivers/i2c/busses/i2c-davinci.c                   |   2 +-
 drivers/i2c/busses/i2c-designware-platdrv.c        |   2 +
 drivers/i2c/busses/i2c-eg20t.c                     |  26 +-
 drivers/i2c/busses/i2c-exynos5.c                   | 769 +++++++++++++++++
 drivers/i2c/busses/i2c-gpio.c                      |   1 +
 drivers/i2c/busses/i2c-i801.c                      |   3 +
 drivers/i2c/busses/i2c-mv64xxx.c                   |   2 +-
 drivers/i2c/busses/i2c-mxs.c                       | 340 +++++---
 drivers/i2c/busses/i2c-pnx.c                       |   1 +
 drivers/i2c/busses/i2c-rcar.c                      |  65 +-
 drivers/i2c/busses/i2c-s3c2410.c                   |   1 +
 drivers/i2c/busses/i2c-scmi.c                      |   6 +-
 drivers/i2c/busses/i2c-sh_mobile.c                 |   8 +-
 drivers/i2c/busses/i2c-st.c                        | 872 ++++++++++++++++++++
 drivers/i2c/busses/i2c-wmt.c                       |   1 +
 drivers/i2c/busses/i2c-xiic.c                      |   3 +-
 drivers/i2c/i2c-core.c                             |  21 +-
 drivers/i2c/i2c-dev.c                              |  19 +-
 drivers/i2c/i2c-smbus.c                            |  10 +-
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c         |   2 +-
 drivers/i2c/muxes/i2c-mux-gpio.c                   |  10 +-
 drivers/i2c/muxes/i2c-mux-pinctrl.c                |   1 +
 drivers/media/i2c/s5c73m3/s5c73m3-core.c           |   2 +-
 drivers/media/platform/exynos4-is/media-dev.c      |   6 +-
 drivers/media/v4l2-core/tuner-core.c               |   6 +-
 drivers/media/v4l2-core/v4l2-common.c              |  10 +-
 drivers/misc/eeprom/at24.c                         |   2 +-
 include/linux/i2c.h                                |   2 -
 include/linux/{i2c => platform_data}/at24.h        |   2 +-
 include/media/v4l2-common.h                        |   2 +-
 sound/ppc/keywest.c                                |   4 +-
 sound/soc/fsl/imx-wm8962.c                         |   2 +-
 66 files changed, 3111 insertions(+), 243 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-bcm-kona.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-exynos5.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-rcar.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-st.txt
 create mode 100644 drivers/i2c/busses/i2c-bcm-kona.c
 create mode 100644 drivers/i2c/busses/i2c-exynos5.c
 create mode 100644 drivers/i2c/busses/i2c-st.c
 rename include/linux/{i2c => platform_data}/at24.h (97%)
#1 lore raw
Quoted 2 lines · Wolfram Sang

here is the pull request from the i2c subsystem for 3.13:

So while resolving some fairly trivial conflicts here, I noticed that commit a76e9bd89ae7 ("i2c: attach/detach I2C client device to the ACPI power domain") that I got earlier through the ACPI/PM tree calls acpi_dev_pm_detach() even when the device "->remove()" function fails. But it only sets clientdata to NULL if it succeeds.

That looks a bit odd.

I didn't try to fix it, though. I just thought I'd point out the oddity.

Linus

#2 lore raw
Quoted 10 lines · Linus Torvalds
Quoted 2 lines · Wolfram Sang

here is the pull request from the i2c subsystem for 3.13:

So while resolving some fairly trivial conflicts here, I noticed that commit a76e9bd89ae7 ("i2c: attach/detach I2C client device to the ACPI power domain") that I got earlier through the ACPI/PM tree calls acpi_dev_pm_detach() even when the device "->remove()" function fails. But it only sets clientdata to NULL if it succeeds.

Quoted 3 lines

That looks a bit odd.

I didn't try to fix it, though. I just thought I'd point out the oddity.

Well, given that the driver core doesn't even check the return value of dev->bus->remove(dev), I think doing the unconditional acpi_dev_pm_detach() is actually correct and clientdata should be cleared unconditionally too.

Rafael

#3 lore raw
Quoted 11 lines · Rafael J. Wysocki
Quoted 10 lines · Linus Torvalds
Quoted 2 lines · Wolfram Sang

here is the pull request from the i2c subsystem for 3.13:

So while resolving some fairly trivial conflicts here, I noticed that commit a76e9bd89ae7 ("i2c: attach/detach I2C client device to the ACPI power domain") that I got earlier through the ACPI/PM tree calls acpi_dev_pm_detach() even when the device "->remove()" function fails. But it only sets clientdata to NULL if it succeeds.

Quoted 7 lines
Quoted 3 lines

That looks a bit odd.

I didn't try to fix it, though. I just thought I'd point out the oddity.

Well, given that the driver core doesn't even check the return value of dev->bus->remove(dev), I think doing the unconditional acpi_dev_pm_detach() is actually correct and clientdata should be cleared unconditionally too.

Actually, can we remove the whole clientdata setting there?

Commit 0998d0631001 (device-core: Ensure drvdata = NULL when no driver is bound) modified the driver core to always clear out that field. Same seems to apply if driver probe fails.

#4 lore raw
Quoted 6 lines

Actually, can we remove the whole clientdata setting there?

Commit 0998d0631001 (device-core: Ensure drvdata = NULL when no driver is bound) modified the driver core to always clear out that field. Same seems to apply if driver probe fails.

Oh, nice, missed that commit. That indeed should help cleaning up the i2c core a little. I will prepare something.