[PULL REQUEST] i2c for 4.7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus,

I2C updates for 4.7:

* Peter Rosin did some major rework on the locking of i2c muxes by
  seperating parent-locked muxes and mux-locked muxes. This avoids
  deadlocks/workarounds when the mux itself needs i2c commands for
  muxing. And as a side-effect, other workarounds in the media layer
  could be eliminated. Also, Peter stepped up as the i2c mux
  maintainer and will keep an eye on these changes.
* major updates to the octeon driver
* Add a helper to the core to generate the address+rw_bit octal and
  make drivers use it
* quite a bunch of driver updates

Please pull.

Thanks,

   Wolfram


The following changes since commit bf16200689118d19de1b8d2a3c314fc21f5dc7bb:

  Linux 4.6-rc3 (2016-04-10 17:58:30 -0700)

are available in the git repository at:

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

for you to fetch changes up to 73e8b0528346e88a0624f2d9821f382cd6256677:

  i2c: rcar: add DMA support (2016-05-15 08:52:49 +0200)

----------------------------------------------------------------
Antti Palosaari (1):
      [media] si2168: change the i2c gate to be mux-locked

Axel Lin (2):
      i2c: exynos5: Use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS instead of open-coded
      i2c: s3c2410: Use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS instead of open-coded

Bartosz Golaszewski (2):
      eeprom: at24: remove a reduntant if
      eeprom: at24: replace msleep() with usleep_range()

David Daney (2):
      i2c: octeon: Enable High-Level Controller
      i2c: octeon: Add workaround for broken irqs on CN3860

David Wu (1):
      i2c: rk3x: switch to i2c generic dt parsing

Irina Tirdea (1):
      i2c: dln2: Pass forward ACPI companion

Jan Glauber (9):
      i2c: octeon: Increase retry default and use fixed timeout value
      i2c: octeon: Move set-clock and init-lowlevel upward
      i2c: octeon: Rename [read|write]_sw to reg_[read|write]
      i2c: octeon: Introduce helper functions for register access
      i2c: octeon: Remove superfluous check in octeon_i2c_test_iflg
      i2c: octeon: Improve error status checking
      i2c: octeon: Use i2c recovery framework
      i2c: octeon: Add support for cn78xx chips
      i2c: octeon: Remove zero-length message support

Jarkko Nikula (2):
      i2c: i801: Convert to struct dev_pm_ops for suspend/resume
      i2c: i801: Add runtime PM support with autosuspend

Javier Martinez Canillas (3):
      i2c: s3c2410: Print errno code in error logs
      i2c: s3c2410: Check clk_prepare_enable() return value
      i2c: nforce2: Use IS_ENABLED() instead of checking for built-in or module

Krzysztof Kozlowski (3):
      i2c: s3c2410: Add missing clock unprepare on probe() error path
      i2c: s3c2410: Minor function-level comment cleanup
      i2c: s3c2410: Cleanup indentation and comment style

Linus Walleij (1):
      i2c: let I2C masters ignore their children for PM

Masahiro Yamada (1):
      i2c: uniphier: add "\n" at the end of error log

Michele Curti (1):
      i2c: algo-bit: declare i2c_bit_quirk_no_clk_stretch as static

Niklas Söderlund (1):
      i2c: rcar: add DMA support

Oleksij Rempel (1):
      i2c: imx: reduce load by using usleep_range instead of udelay

Peter Griffin (1):
      i2c: st: Implement bus clear

Peter Rosin (23):
      i2c: mux: add common data for every i2c-mux instance
      i2c: i2c-mux-gpio: convert to use an explicit i2c mux core
      i2c: i2c-mux-pinctrl: convert to use an explicit i2c mux core
      i2c: i2c-arb-gpio-challenge: convert to use an explicit i2c mux core
      i2c: i2c-mux-pca9541: convert to use an explicit i2c mux core
      i2c: i2c-mux-pca954x: convert to use an explicit i2c mux core
      i2c: i2c-mux-reg: convert to use an explicit i2c mux core
      iio: imu: inv_mpu6050: convert to use an explicit i2c mux core
      [media] m88ds3103: convert to use an explicit i2c mux core
      [media] rtl2830: convert to use an explicit i2c mux core
      [media] rtl2832: convert to use an explicit i2c mux core
      [media] si2168: convert to use an explicit i2c mux core
      [media] cx231xx: convert to use an explicit i2c mux core
      of/unittest: convert to use an explicit i2c mux core
      i2c: mux: drop old unused i2c-mux api
      i2c: allow adapter drivers to override the adapter locking
      i2c: muxes always lock the parent adapter
      i2c: mux: relax locking of the top i2c adapter during mux-locked muxing
      i2c: mux: document i2c muxes and elaborate on parent-/mux-locked muxes
      iio: imu: inv_mpu6050: change the i2c gate to be mux-locked
      [media] rtl2832: change the i2c gate to be mux-locked
      [media] rtl2832_sdr: get rid of empty regmap wrappers
      [media] rtl2832: regmap is aware of lockdep, drop local locking hack

Peter Swain (2):
      i2c: octeon: Add flush writeq helper function
      i2c: octeon: Improve performance if interrupt is early

Sebastian Andrzej Siewior (1):
      i2c: omap: drop the lock hard irq context

Shardar Shariff Md (2):
      i2c: tegra: enable multi master mode for tegra210
      i2c: tegra: disable clock before returning error

Thomas Petazzoni (4):
      i2c: mv64xxx: enable the driver on ARCH_MVEBU
      i2c: mv64xxx: handle probe deferral for the clock
      i2c: mv64xxx: use clk_{prepare_enable,disable_unprepare}
      i2c: mv64xxx: remove CONFIG_HAVE_CLK conditionals

Wolfram Sang (20):
      i2c: guarantee that I2C_M_RD will be 0x0001 forever
      i2c: introduce helper function to get 8 bit address from a message
      i2c: core: use new 8 bit address helper function
      i2c: bcm-iproc: use new 8 bit address helper function
      i2c: bcm-kona: use new 8 bit address helper function
      i2c: brcmstb: use new 8 bit address helper function
      i2c: cpm: use new 8 bit address helper function
      i2c: ibm_iic: use new 8 bit address helper function
      i2c: img-scb: use new 8 bit address helper function
      i2c: iop3xx: use new 8 bit address helper function
      i2c: lpc2k: use new 8 bit address helper function
      i2c: mt65xx: use new 8 bit address helper function
      i2c: ocores: use new 8 bit address helper function
      i2c: powermac: use new 8 bit address helper function
      i2c: qup: use new 8 bit address helper function
      i2c: sh_mobile: use new 8 bit address helper function
      i2c: sirf: use new 8 bit address helper function
      i2c: st: use new 8 bit address helper function
      i2c: mux: pinctrl: fix indentation for better readability
      i2c: only check scl functions when using generic recovery

 .../devicetree/bindings/i2c/i2c-octeon.txt         |   6 +
 Documentation/devicetree/bindings/i2c/i2c-rcar.txt |   3 +
 Documentation/i2c/i2c-topology                     | 370 ++++++++
 MAINTAINERS                                        |   1 +
 drivers/i2c/algos/i2c-algo-bit.c                   |   2 +-
 drivers/i2c/busses/Kconfig                         |   2 +-
 drivers/i2c/busses/i2c-bcm-iproc.c                 |   2 +-
 drivers/i2c/busses/i2c-bcm-kona.c                  |   5 +-
 drivers/i2c/busses/i2c-brcmstb.c                   |   4 +-
 drivers/i2c/busses/i2c-cpm.c                       |   4 +-
 drivers/i2c/busses/i2c-dln2.c                      |   2 +
 drivers/i2c/busses/i2c-exynos5.c                   |  10 +-
 drivers/i2c/busses/i2c-i801.c                      |  52 +-
 drivers/i2c/busses/i2c-ibm_iic.c                   |   2 +-
 drivers/i2c/busses/i2c-img-scb.c                   |   4 +-
 drivers/i2c/busses/i2c-imx.c                       |   2 +-
 drivers/i2c/busses/i2c-iop3xx.c                    |   5 +-
 drivers/i2c/busses/i2c-lpc2k.c                     |   4 +-
 drivers/i2c/busses/i2c-mt65xx.c                    |   5 +-
 drivers/i2c/busses/i2c-mv64xxx.c                   |  45 +-
 drivers/i2c/busses/i2c-nforce2.c                   |   2 +-
 drivers/i2c/busses/i2c-ocores.c                    |   5 +-
 drivers/i2c/busses/i2c-octeon.c                    | 998 +++++++++++++++++----
 drivers/i2c/busses/i2c-omap.c                      |  12 +-
 drivers/i2c/busses/i2c-powermac.c                  |   4 +-
 drivers/i2c/busses/i2c-qup.c                       |   2 +-
 drivers/i2c/busses/i2c-rcar.c                      | 233 ++++-
 drivers/i2c/busses/i2c-rk3x.c                      |  87 +-
 drivers/i2c/busses/i2c-s3c2410.c                   | 244 +++--
 drivers/i2c/busses/i2c-sh_mobile.c                 |   3 +-
 drivers/i2c/busses/i2c-sirf.c                      |   4 +-
 drivers/i2c/busses/i2c-st.c                        |  48 +-
 drivers/i2c/busses/i2c-tegra.c                     |  81 +-
 drivers/i2c/busses/i2c-uniphier-f.c                |   2 +-
 drivers/i2c/busses/i2c-uniphier.c                  |   2 +-
 drivers/i2c/i2c-core.c                             |  72 +-
 drivers/i2c/i2c-mux.c                              | 300 +++++--
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c         |  47 +-
 drivers/i2c/muxes/i2c-mux-gpio.c                   |  73 +-
 drivers/i2c/muxes/i2c-mux-pca9541.c                |  58 +-
 drivers/i2c/muxes/i2c-mux-pca954x.c                |  61 +-
 drivers/i2c/muxes/i2c-mux-pinctrl.c                | 135 +--
 drivers/i2c/muxes/i2c-mux-reg.c                    |  69 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c         |   2 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c         |   1 -
 drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c          |  79 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h          |   3 +-
 drivers/media/dvb-frontends/m88ds3103.c            |  19 +-
 drivers/media/dvb-frontends/m88ds3103_priv.h       |   2 +-
 drivers/media/dvb-frontends/rtl2830.c              |  20 +-
 drivers/media/dvb-frontends/rtl2830_priv.h         |   2 +-
 drivers/media/dvb-frontends/rtl2832.c              | 243 +----
 drivers/media/dvb-frontends/rtl2832.h              |   4 +-
 drivers/media/dvb-frontends/rtl2832_priv.h         |   3 +-
 drivers/media/dvb-frontends/rtl2832_sdr.c          | 303 +++----
 drivers/media/dvb-frontends/rtl2832_sdr.h          |   5 +-
 drivers/media/dvb-frontends/si2168.c               | 106 +--
 drivers/media/dvb-frontends/si2168_priv.h          |   3 +-
 drivers/media/usb/cx231xx/cx231xx-core.c           |   6 +-
 drivers/media/usb/cx231xx/cx231xx-i2c.c            |  47 +-
 drivers/media/usb/cx231xx/cx231xx.h                |   4 +-
 drivers/media/usb/dvb-usb-v2/rtl28xxu.c            |   5 +-
 drivers/misc/eeprom/at24.c                         |   9 +-
 drivers/of/unittest.c                              |  37 +-
 include/linux/i2c-mux.h                            |  55 +-
 include/linux/i2c.h                                |  50 +-
 include/uapi/linux/i2c.h                           |  13 +-
 67 files changed, 2648 insertions(+), 1445 deletions(-)
 create mode 100644 Documentation/i2c/i2c-topology

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux