Skip to contentSkip to conversation

i2c-embedded for 3.8

GIT PULL Wolfram Sang 4 participants 4 messages Dec 18, 2012 – Dec 20, 2012 I2C subsystem host drivers

lore
Share & tools
lore
#0 lore raw

Linus,

please pull the i2c-embedded changes for 3.8 which include:

* CBUS driver (an I2C variant)
* continued rework of the omap driver
* s3c2410 gets lots of fixes and gains pinctrl support
* at91 gains DMA support
* the GPIO muxer gains devicetree probing
* typical fixes and additions all over

All patches have been in linux-next before. Please pull.

Kind regards,

Wolfram

The following changes since commit 77b67063bb6bce6d475e910d3b886a606d0d91f7:

Linux 3.7-rc5 (2012-11-11 13:44:33 +0100)

are available in the git repository at:

git://git.pengutronix.de/git/wsa/linux.git i2c-embedded/for-next

for you to fetch changes up to 972deb4f49b5b6703d9c6117ba0aeda2180d4447:

i2c: omap: Remove the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE flag (2012-11-28 11:36:32 +0100)

----------------------------------------------------------------
Aaro Koskinen (1):
i2c: i2c-cbus-gpio: introduce driver

Abhilash Kesavan (2):
i2c: s3c2410: Fix code to free gpios
i2c: s3c2410: Add fix for i2c suspend/resume

Andreas Larsson (3):
i2c: ocores: Add irq support for sparc
i2c: ocores: Add support for the GRLIB port of the controller and use function pointers for getreg and setreg functions
i2c: ocores: Move grlib set/get functions into #ifdef CONFIG_OF block

Bo Shen (1):
i2c: i2c-gpio: fix name issue with multiple i2c gpio nodes

Chuansheng Liu (1):
i2c: nomadik: Fix the usage of wait_for_completion_timeout

Daniel Kurtz (4):
i2c: s3c2410: grab adapter lock while changing i2c clock
i2c: s3c2410: do not generate STOP for QUIRK_HDMIPHY
i2c: s3c2410: use exponential back off while polling for bus idle
i2c: s3c2410: do not special case HDMIPHY stuck bus detection

Felipe Balbi (1):

      i2c: omap: ensure writes to dev->buf_len are ordered

Kuninori Morimoto (1):
i2c: rcar: used devm_request_and_ioremap() instead of devm_ioremap()

Ludovic Desroches (4):
i2c: at91: fix SMBus quick command
i2c: at91: fix compilation warning
i2c: at91: change struct members indentation
i2c: at91: add dma support

Marek Vasut (2):
i2c: mxs: Handle i2c DMA failure properly
i2c: mxs: Do not disable the I2C SMBus quick mode

Mark Brown (3):
i2c: s3c2410: Refactor ifdefs for PM_SLEEP
i2c: s3c2410: Convert to devm_request_and_ioremap()
i2c: s3c2410: Remove recently introduced performance overheads

Maxime Ripard (2):
i2c: mux: Add dt support to i2c-mux-gpio driver
ARM: dts: cfa10049: Add the i2c muxer buses to the CFA-10049

Paul Walmsley (1):
Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints"

Sebastien Guiriec (1):
i2c: omap: adopt pinctrl support

Shinya Kuribayashi (4):
i2c: i2c-sh_mobile: calculate clock parameters at driver probing time
i2c: i2c-sh_mobile: optimize ICCH/ICCL values according to I2C bus speed
i2c: i2c-sh_mobile: support I2C hardware block with a faster operating clock
i2c: i2c-sh_mobile: fix spurious transfer request timed out

Shubhrajyoti D (10):
i2c: omap: Fix the revision register read
i2c: omap: use revision check for OMAP_I2C_FLAG_APPLY_ERRATA_I207
i2c: omap: remove the dtrev
ARM: i2c: omap: Remove the i207 errata flag
i2c: omap: re-factor omap_i2c_init function
i2c: omap: make reset a seperate function
i2c: omap: Restore i2c context always
i2c: omap: cleanup the sysc write
i2c: omap: Move the remove constraint
i2c: omap: Remove the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE flag

Thierry Reding (1):
i2c: ocores: Use devm_request_and_ioremap()

Tomasz Figa (1):
i2c: s3c2410: Add support for pinctrl

Wolfram Sang (2):
i2c: rcar: fix section mismatch
i2c: omap: don't save a value only needed for read-clearing

 .../devicetree/bindings/i2c/i2c-cbus-gpio.txt      |   27 ++
 .../devicetree/bindings/i2c/i2c-mux-gpio.txt       |   81 +++++
 .../devicetree/bindings/i2c/i2c-ocores.txt         |    2 +-
 .../devicetree/bindings/i2c/samsung-i2c.txt        |   20 +-
 arch/arm/boot/dts/imx28-cfa10049.dts               |   24 ++
 arch/arm/mach-omap2/board-n8x0.c                   |   42 +++
 arch/arm/mach-omap2/omap_hwmod_2430_data.c         |    3 +-
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c         |    3 +-
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |   12 +-
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c         |    3 +-
 arch/arm/plat-omap/i2c.c                           |   21 ++
 drivers/i2c/busses/Kconfig                         |   10 +
 drivers/i2c/busses/Makefile                        |    1 +
 drivers/i2c/busses/i2c-at91.c                      |  345 ++++++++++++++++++--
 drivers/i2c/busses/i2c-cbus-gpio.c                 |  300 +++++++++++++++++
 drivers/i2c/busses/i2c-gpio.c                      |    6 +-
 drivers/i2c/busses/i2c-mxs.c                       |    4 +-
 drivers/i2c/busses/i2c-nomadik.c                   |   14 -
 drivers/i2c/busses/i2c-ocores.c                    |  164 ++++++++--
 drivers/i2c/busses/i2c-omap.c                      |  258 ++++++++-------
 drivers/i2c/busses/i2c-rcar.c                      |    6 +-
 drivers/i2c/busses/i2c-s3c2410.c                   |  212 +++++++-----
 drivers/i2c/busses/i2c-sh_mobile.c                 |  150 ++++++---
 drivers/i2c/muxes/i2c-mux-gpio.c                   |  145 ++++++--
 include/linux/i2c-omap.h                           |    3 +-
 include/linux/i2c/i2c-sh_mobile.h                  |    1 +
 include/linux/platform_data/i2c-cbus-gpio.h        |   27 ++
 27 files changed, 1507 insertions(+), 377 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-cbus-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-mux-gpio.txt
 create mode 100644 drivers/i2c/busses/i2c-cbus-gpio.c
 create mode 100644 include/linux/platform_data/i2c-cbus-gpio.h
Signature · 2 lines
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#1 lore raw

Ugh, guys. Please check this out.

Quoted 11 lines · Wolfram Sang

please pull the i2c-embedded changes for 3.8 which include:

* CBUS driver (an I2C variant)
* continued rework of the omap driver
* s3c2410 gets lots of fixes and gains pinctrl support
* at91 gains DMA support
* the GPIO muxer gains devicetree probing
* typical fixes and additions all over

All patches have been in linux-next before. Please pull.

I get a conflict because both sides have this:

Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints"

which re-introduced the omap-specific ->set_mpu_wkup_lat() thing.

But in mainline the only *user* of that has gone away. And the call location where it originally existed has moved.

It originally existed in

arch/arm/plat-omap/i2c.c

but looking at the history, the omap i2c code first got split into omap1 and omap2, and at that point the call-site got moved to

arch/arm/mach-omap2/i2c.c

but then the code that the revert re-introduced got lost.

Now, in the merge I just did, I *reinstated* that ->set_mpu_wkup_lat() code that had gotten lost in mainline. But quite frankly, the thing is ugly as heck, and I hope it could just be deleted. Clearly nobody had noticed yet that it got lost in some merge (possibly an earlier one of mine, but considering that I usually notice things like this, I suspect it's one of the internal ARM ones).

I'm adding Arnd, Tony and Olof to the participants list, since they are the main suspects.

And guys, if you decide to remove the ->set_mpu_wkup_lat() from arch/arm/mach-omap2/i2c.c again, please make sure that you remove the whole infrastructure too:

include/linux/i2c-omap.h
drivers/i2c/busses/i2c-omap.c

Hmm? Somebody *really* needs to double-check my merge, it's possibly quite broken, since I have in no way tested it, and I did this by looking at some *very* messy history with code being moved across different files etc etc.

Linus

#2 lore raw
Quoted 33 lines · Linus Torvalds

Ugh, guys. Please check this out.

Quoted 11 lines · Wolfram Sang

please pull the i2c-embedded changes for 3.8 which include:

* CBUS driver (an I2C variant)
* continued rework of the omap driver
* s3c2410 gets lots of fixes and gains pinctrl support
* at91 gains DMA support
* the GPIO muxer gains devicetree probing
* typical fixes and additions all over

All patches have been in linux-next before. Please pull.

I get a conflict because both sides have this:

Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints"

which re-introduced the omap-specific ->set_mpu_wkup_lat() thing.

But in mainline the only *user* of that has gone away. And the call location where it originally existed has moved.

It originally existed in

arch/arm/plat-omap/i2c.c

but looking at the history, the omap i2c code first got split into omap1 and omap2, and at that point the call-site got moved to

arch/arm/mach-omap2/i2c.c

Quoted 8 lines

but then the code that the revert re-introduced got lost.

Now, in the merge I just did, I *reinstated* that ->set_mpu_wkup_lat() code that had gotten lost in mainline. But quite frankly, the thing is ugly as heck, and I hope it could just be deleted. Clearly nobody had noticed yet that it got lost in some merge (possibly an earlier one of mine, but considering that I usually notice things like this, I suspect it's one of the internal ARM ones).

Your merge looks good and has zero diff to what I resolved earlier, and what Arnd and Olof resolved earlier, and what Stephen resolved earlier. It seems that the right thing to do here would have been to pull that revert into arm-soc to avoid this.

Quoted 9 lines

I'm adding Arnd, Tony and Olof to the participants list, since they are the main suspects.

And guys, if you decide to remove the ->set_mpu_wkup_lat() from arch/arm/mach-omap2/i2c.c again, please make sure that you remove the whole infrastructure too:

include/linux/i2c-omap.h
drivers/i2c/busses/i2c-omap.c

Looks like that's still needed until runtime PM can deal with latencies, that's why the revert was needed :(

Quoted 4 lines

Hmm? Somebody *really* needs to double-check my merge, it's possibly quite broken, since I have in no way tested it, and I did this by looking at some *very* messy history with code being moved across different files etc etc.

Yes thanks again. We've now pretty much cut all the remaining nasty dependencies between arch/arm/*omap*/ code and drivers and can enable multiplatform support for omap2+ for v3.9. So things should be a lot easier with merge conflicts as far as omap is concerned.

Regards,

Tony

#3 lore raw
In reply to Linus Torvalds
Quoted 2 lines · Linus Torvalds

But quite frankly, the thing is ugly as heck, and I hope it could just be deleted.

With luck we'll be able to get rid of it in 3.9, once the underlying issue with the I2C driver is tracked down.

- Paul