mbox

[PULL,REQUEST] i2c for 3.9

Message ID 20130225202735.GA1928@the-dreams.de
State Accepted
Headers show

Pull-request

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

Message

Wolfram Sang Feb. 25, 2013, 8:27 p.m. UTC
Linus,

here are the changes for the i2c subsystem for 3.9. Highlights:

* new drivers for Intel ismt & Broadcom bcm2835
* a number of drivers got support for more variants and mostly got cleaned up
  on the way (sis630, i801, at91, tegra, designware)
* i2c got rid of all *_set_drvdata(..., NULL) on remove/probe failure
* removed the i2c_smbus_process_call from the core since there are no
  users
* mxs can now switch between PIO and DMA depending on the message size
  and the bus speed can now be arbitrary

In addition, there is the usual bunch of fixes, cleanups, devm_*
conversions, etc. Please pull.

Thanks,

   Wolfram


The following changes since commit 949db153b6466c6f7cad5a427ecea94985927311:

  Linux 3.8-rc5 (2013-01-25 11:57:28 -0800)

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 55827f4aa6442ddd1d6a4e1e32f2f457eb113c22:

  i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls (2013-02-22 00:25:50 +0100)

----------------------------------------------------------------
Alexander Stein (1):
      i2c: isch: Add module parameter for backbone clock rate if divider is unset

Amaury Decrême (6):
      i2c: sis630: Add SIS964 support
      i2c: sis630: clear sticky bits
      i2c: sis630: fix behavior after collision
      i2c: sis630: use hex to constants for SMBus commands
      i2c: sis630: display unsigned hex
      i2c: sis630: checkpatch cleanup

Dmitry Torokhov (1):
      i2c: pxa: remove incorrect __exit annotations

Doug Anderson (1):
      i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls

Giridhar Maruthy (1):
      i2c: s3c2410: Add quirk to exclude GPIO config for exynos5440

Guennadi Liakhovetski (4):
      i2c: sh_mobile: cosmetic: trivially simplify 2 functions
      i2c: sh_mobile: fix timeout error handling
      i2c: sh_mobile: eliminate an open-coded "goto" loop
      i2c: sh_mobile: don't send a stop condition by default inside transfers

James Ralston (1):
      i2c: i801: Add Device IDs for Intel Wellsburg PCH

Jayachandran C (1):
      i2c: ocores: Fix pointer to integer cast warning

Joachim Eastwood (2):
      i2c: at91: add of_device_id entry for at91rm9200
      i2c: at91: fix unsed variable warning when building with !CONFIG_OF

Lars Poeschel (1):
      drivers: misc: at24: mention other supported types in Kconfig

Laurent Navet (1):
      i2c: nforce2: fix coding style issues

Laxman Dewangan (2):
      i2c: tegra: add support for Tegra114 SoC
      i2c: tegra: remove warning dump if timeout happen in transfer

Marek Vasut (2):
      i2c: mxs: Add PIO and mixed-DMA support
      i2c: mxs: Implement arbitrary clock speed derivation algorithm

Mika Westerberg (3):
      i2c-designware: always set the STOP bit after last byte
      i2c-designware: add minimal support for runtime PM
      i2c-designware: add support for Intel Lynxpoint

Neil Horman (2):
      i2c: Adding support for Intel iSMT SMBus 2.0 host controller
      i2c: ismt: Add Seth and Myself as maintainers

Patrice Chotard (1):
      i2c: nomadik: adopt pinctrl support

Randy Dunlap (1):
      i2c: fix i2c-ismt.c printk format warning

Seth Heasley (1):
      i2c: i801: SMBus patch for Intel Avoton DeviceIDs

Stephen Warren (1):
      i2c: add bcm2835 driver

Tushar Behera (5):
      i2c: core: Remove definition of i2c_smbus_process_call
      i2c: s3c2410: Remove unnecessary label err_noclk
      i2c: s3c2410: Convert to use devm_* APIs
      i2c: s3c2410: Move location of clk_prepare_enable() call in probe function
      i2c: s3c2410: Remove err_cpufreq label

Wolfram Sang (1):
      i2c: nomadik: drop superfluous variable initialization

 .../devicetree/bindings/i2c/brcm,bcm2835-i2c.txt   |   20 +
 .../devicetree/bindings/i2c/i2c-s3c2410.txt        |    2 +
 Documentation/i2c/busses/i2c-i801                  |    2 +
 Documentation/i2c/busses/i2c-ismt                  |   36 +
 Documentation/i2c/busses/i2c-sis630                |    9 +
 Documentation/i2c/smbus-protocol                   |    4 +-
 Documentation/i2c/writing-clients                  |    4 +-
 MAINTAINERS                                        |    7 +
 drivers/i2c/busses/Kconfig                         |   28 +-
 drivers/i2c/busses/Makefile                        |    2 +
 drivers/i2c/busses/i2c-at91.c                      |   17 +-
 drivers/i2c/busses/i2c-au1550.c                    |    1 -
 drivers/i2c/busses/i2c-bcm2835.c                   |  342 +++++++
 drivers/i2c/busses/i2c-bfin-twi.c                  |    2 -
 drivers/i2c/busses/i2c-cpm.c                       |    2 -
 drivers/i2c/busses/i2c-davinci.c                   |    2 -
 drivers/i2c/busses/i2c-designware-core.c           |   16 +-
 drivers/i2c/busses/i2c-designware-pcidrv.c         |    2 -
 drivers/i2c/busses/i2c-designware-platdrv.c        |   61 +-
 drivers/i2c/busses/i2c-eg20t.c                     |    2 -
 drivers/i2c/busses/i2c-highlander.c                |    4 -
 drivers/i2c/busses/i2c-i801.c                      |   19 +-
 drivers/i2c/busses/i2c-ibm_iic.c                   |    3 -
 drivers/i2c/busses/i2c-imx.c                       |    1 -
 drivers/i2c/busses/i2c-intel-mid.c                 |    2 -
 drivers/i2c/busses/i2c-iop3xx.c                    |    2 -
 drivers/i2c/busses/i2c-isch.c                      |   17 +
 drivers/i2c/busses/i2c-ismt.c                      |  963 ++++++++++++++++++++
 drivers/i2c/busses/i2c-mpc.c                       |    2 -
 drivers/i2c/busses/i2c-mxs.c                       |  272 ++++--
 drivers/i2c/busses/i2c-nforce2.c                   |  152 +--
 drivers/i2c/busses/i2c-nomadik.c                   |  100 +-
 drivers/i2c/busses/i2c-ocores.c                    |    3 +-
 drivers/i2c/busses/i2c-octeon.c                    |    5 +-
 drivers/i2c/busses/i2c-omap.c                      |    3 -
 drivers/i2c/busses/i2c-pca-platform.c              |    1 -
 drivers/i2c/busses/i2c-pmcmsp.c                    |    2 -
 drivers/i2c/busses/i2c-pnx.c                       |    2 -
 drivers/i2c/busses/i2c-powermac.c                  |    1 -
 drivers/i2c/busses/i2c-puv3.c                      |    2 -
 drivers/i2c/busses/i2c-pxa-pci.c                   |    2 -
 drivers/i2c/busses/i2c-pxa.c                       |    6 +-
 drivers/i2c/busses/i2c-s3c2410.c                   |   61 +-
 drivers/i2c/busses/i2c-s6000.c                     |    1 -
 drivers/i2c/busses/i2c-sh7760.c                    |    1 -
 drivers/i2c/busses/i2c-sh_mobile.c                 |  152 +--
 drivers/i2c/busses/i2c-sis630.c                    |  360 ++++----
 drivers/i2c/busses/i2c-stu300.c                    |    1 -
 drivers/i2c/busses/i2c-taos-evm.c                  |    2 -
 drivers/i2c/busses/i2c-tegra.c                     |   79 +-
 drivers/i2c/busses/i2c-versatile.c                 |    2 -
 drivers/i2c/busses/i2c-xiic.c                      |    2 -
 drivers/i2c/busses/i2c-xlr.c                       |    1 -
 drivers/i2c/busses/scx200_acb.c                    |    1 -
 drivers/i2c/i2c-core.c                             |   23 -
 drivers/i2c/muxes/i2c-mux-gpio.c                   |    1 -
 drivers/misc/eeprom/Kconfig                        |   11 +-
 57 files changed, 2310 insertions(+), 513 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt
 create mode 100644 Documentation/i2c/busses/i2c-ismt
 create mode 100644 drivers/i2c/busses/i2c-bcm2835.c
 create mode 100644 drivers/i2c/busses/i2c-ismt.c

Comments

Linus Torvalds Feb. 26, 2013, 5:54 p.m. UTC | #1
On Mon, Feb 25, 2013 at 12:27 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
>
> here are the changes for the i2c subsystem for 3.9. Highlights:
>    ....
> In addition, there is the usual bunch of fixes, cleanups, devm_*
> conversions, etc. Please pull.

Pulled, but when doing the conflict resolution, I noted that at least
one devm_* conversion had been done incorrectly. It's an older one,
but then there were changes to the area that made it conflict, and
Inotied.

These three lines have two separate bugs in them:

        i2c->regs = devm_request_and_ioremap(&pdev->dev, res);
        if (i2c->regs == NULL) {
                dev_err(&pdev->dev, "cannot request and map IO\n");

The bugs are:
 (a) the error case for devm_request_and_ioremap() doesn't return NULL
 (b) dev_err() is very wrong, since one of the whole points of devm_*
is that it already prints out errors for the error case.

There have been other complaints about the mindless devm_* conversion
lately (it changes the order of deallocations which can be deadly), so
please please *please* be more careful about these kinds of "trivial"
patches.

                  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