Linus, here is my pull request for this cycle. I finally started using '--edit-description' of 'git branch', so hopefully this is helpful to you. Other than that, my pull request and some of the applied patches are later than I would like, yet the christmas and holiday season were shortening the working time of this cycle quite a bit. Still, all the code got linux-next coverage and didn't show conflicts. Please pull. Thanks, Wolfram The following changes since commit b3a987b0264d3ddbb24293ebff10eddfc472f653: Linux 5.5-rc6 (2020-01-12 16:55:08 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-5.6 for you to fetch changes up to b49f8e0e7bd17b968129790e40f9e2566f4f95ec: i2c: cros-ec-tunnel: Fix ACPI identifier (2020-01-31 09:01:25 +0100) ---------------------------------------------------------------- (from the branch description for i2c/for-5.6 local branch) The I2C subsystems has for 5.6: - huge improvements and refactorizations of the Linux I2C documentation (lots of thanks to Luca for doing it and Jean for the careful review) - subsystem wide API conversion to i2c_new_client_device() - remove obsolete parport-light driver - smaller core updates (removal of 'extern', enabling more compile testing, use more helper macros) - and quite a bunch of driver updates (new IDs, simplifications, better PM, support of atomic transfers and other improvements) i2c-mux updates for 5.6: - The main feature is the idle-state rework of the pca954x driver from Biwen Li at24 updates for 5.6: - minor maintenance: update the license tag, sort headers - move support for the write-protect pin into nvmem core - add a reference to the new wp-gpios property in nvmem to at25 bindings - add support for regulator and pm_runtime control ---------------------------------------------------------------- Akshu Agrawal (1): i2c: cros-ec-tunnel: Fix slave device enumeration Alain Volmat (1): i2c: stm32f7: add PM_SLEEP suspend/resume support Alex Williams (1): i2c: cadence: Handle transfer_size rollover Bartosz Golaszewski (3): eeprom: at24: update the license tag eeprom: at24: sort headers alphabetically nvmem: fix a 'makes pointer from integer without a cast' build warning Bibby Hsieh (2): dt-binding: eeprom: at24: add vcc-supply property misc: eeprom: at24: support pm_runtime control Biwen Li (2): dt-bindings: i2c: support property idle-state i2c: mux: pca954x: support property idle-state Christoph Müllner (1): i2c: tiny-usb: Correct I2C fault codes. Colin Ian King (2): i2c: parport: fix spelling mistake: "Atmost" -> "At most" i2c: xiic: fix indentation issue Dmitry Osipenko (8): i2c: tegra: Fix suspending in active runtime PM state i2c: tegra: Properly disable runtime PM on driver's probe error i2c: tegra: Prevent interrupt triggering after transfer timeout i2c: tegra: Support atomic transfers i2c: tegra: Rename I2C_PIO_MODE_MAX_LEN to I2C_PIO_MODE_PREFERRED_LEN i2c: tegra: Use relaxed versions of readl/writel i2c: tegra: Always terminate DMA transfer i2c: tegra: Check DMA completion status in addition to left time Eugen Hristev (2): dt-bindings: i2c: at91: cosmetic formatting of compatible list i2c: at91: remote default value initialization Geert Uytterhoeven (3): i2c: core: Use DEVICE_ATTR_*() helper macros dt-bindings: i2c: rcar: Document r8a77961 support dt-bindings: i2c: sh_mobile: Document r8a77961 support Jarkko Nikula (1): i2c: i801: Add support for Intel Comet Lake PCH-V Khouloud Touil (5): dt-bindings: nvmem: new optional property wp-gpios nvmem: add support for the write-protect pin dt-bindings: at24: make wp-gpios a reference to the property defined by nvmem eeprom: at24: remove the write-protect pin support dt-bindings: at25: add reference for the wp-gpios property Krzysztof Kozlowski (6): i2c: stu300: Use proper printk format for iomem pointer i2c: pmcmsp: Use proper printk format for resource_size_t i2c: pnx: Use proper printk format for resource_size_t i2c: highlander: Use proper printk format for size_t i2c: Enable compile testing for more drivers i2c: exynos: Update Kconfig documentation Luca Ceresoli (29): i2c: remove unneeded 'extern' from function declatations docs: i2c: sort index logically docs: i2c: summary: extend introduction docs: i2c: summary: rewrite the "terminology" section docs: i2c: call it "I2C" consistently docs: i2c: fix typo docs: i2c: replace "I2C-transfer" -> "I2C transfer" consistently docs: i2c: i2c-protocol: fix kernel-doc function syntax docs: i2c: i2c-protocol: properly name start and stop conditions docs: i2c: i2c-protocol: remove unneeded colons from table docs: i2c: i2c-protocol: use proper names for ACK and NACK docs: i2c: smbus-protocol: fix link syntax docs: i2c: smbus-protocol: properly name start and stop conditions docs: i2c: smbus-protocol: remove unneeded colons from table docs: i2c: smbus-protocol: use proper names for ACK and NACK docs: i2c: smbus-protocol: enable kernel-doc function syntax docs: i2c: smbus-protocol: fix kernel-doc function syntax docs: i2c: smbus-protocol: fix typo docs: i2c: smbus-protocol: fix punctuation docs: i2c: smbus-protocol: improve I2C Block transactions description docs: i2c: instantiating-devices: fix internal hyperlink docs: i2c: instantiating-devices: rearrange static instatiation docs: i2c: instantiating-devices: use monospace for sysfs attributes docs: i2c: old-module-parameters: fix internal hyperlink docs: i2c: old-module-parameters: clarify this is for obsolete kernels docs: i2c: old-module-parameters: use monospace instead of "" docs: i2c: rename sections so the overall picture is clearer docs: i2c: i2c-protocol: use same wording as smbus-protocol docs: i2c: writing-clients: properly name the stop condition Martin Blumenstingl (1): i2c: meson: implement the master_xfer_atomic callback Michal Simek (1): i2c: cadence: Fix wording in i2c-cadence driver Peter Rosin (1): i2c: mux: pca9541: use the BIT macro Raul E Rangel (1): i2c: cros-ec-tunnel: Fix ACPI identifier Shubhrajyoti Datta (3): i2c: xiic: Add timeout to the rx fifo wait loop i2c: xiic: Fix the clocking across bind unbind i2c: cadence: Fix error printing in case of defer Topi Kuutela (1): i2c: cadence: Fix power management order of operations Venkatesh Yadav Abbarapu (1): i2c: xiic: defer the probe if clock is not found Wolfram Sang (18): i2c: parport-light: remove driver i2c: parport: simplify Kconfig description i2c: parport: move include file into main source Merge branch 'i2c/for-current' into i2c/for-5.6 i2c: cht-wc: convert to use i2c_new_client_device() i2c: i801: convert to use i2c_new_client_device() i2c: nvidia-gpu: convert to use i2c_new_client_device() i2c: ocores: convert to use i2c_new_client_device() i2c: powermac: convert to use i2c_new_client_device() i2c: taos-evm: convert to use i2c_new_client_device() i2c: xiic: convert to use i2c_new_client_device() i2c: i2c-core-acpi: convert to use i2c_new_client_device() i2c: i2c-core-base: convert to use i2c_new_client_device() i2c: i2c-core-of: convert to use i2c_new_client_device() docs: i2c: use the new API in 'instantiating-devices.rst' docs: i2c: use the new API in 'writing-clients' Merge tag 'at24-updates-for-v5.6' of git://git.kernel.org/.../brgl/linux into i2c/for-5.6 Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-5.6 周琰杰 (Zhou Yanjie) (2): dt-bindings: I2C: Add X1000 bindings. I2C: JZ4780: Add support for the X1000. with much appreciated quality assurance from ---------------------------------------------------------------- Andrew Lunn (1): (Rev.) i2c: ocores: convert to use i2c_new_client_device() Enric Balletbo i Serra (1): (Rev.) i2c: cros-ec-tunnel: Fix slave device enumeration Guenter Roeck (1): (Rev.) i2c: mux: pca9541: use the BIT macro Hans de Goede (2): (Test) i2c: cht-wc: convert to use i2c_new_client_device() (Rev.) i2c: cht-wc: convert to use i2c_new_client_device() Ioana Ciornei (1): (Test) i2c: mux: pca954x: support property idle-state Jean Delvare (36): (Rev.) i2c: i801: Add support for Intel Comet Lake PCH-V (Rev.) docs: i2c: writing-clients: properly name the stop condition (Rev.) docs: i2c: i2c-protocol: use same wording as smbus-protocol (Rev.) docs: i2c: rename sections so the overall picture is clearer (Rev.) docs: i2c: old-module-parameters: use monospace instead of "" (Rev.) docs: i2c: old-module-parameters: clarify this is for obsolete kernels (Rev.) docs: i2c: old-module-parameters: fix internal hyperlink (Rev.) docs: i2c: instantiating-devices: use monospace for sysfs attributes (Rev.) docs: i2c: instantiating-devices: rearrange static instatiation (Rev.) docs: i2c: instantiating-devices: fix internal hyperlink (Rev.) docs: i2c: smbus-protocol: improve I2C Block transactions description (Rev.) docs: i2c: smbus-protocol: fix punctuation (Rev.) docs: i2c: smbus-protocol: fix typo (Rev.) docs: i2c: smbus-protocol: fix kernel-doc function syntax (Rev.) docs: i2c: smbus-protocol: enable kernel-doc function syntax (Rev.) docs: i2c: smbus-protocol: use proper names for ACK and NACK (Rev.) docs: i2c: smbus-protocol: remove unneeded colons from table (Rev.) docs: i2c: smbus-protocol: properly name start and stop conditions (Rev.) docs: i2c: smbus-protocol: fix link syntax (Rev.) docs: i2c: i2c-protocol: use proper names for ACK and NACK (Rev.) docs: i2c: i2c-protocol: remove unneeded colons from table (Rev.) docs: i2c: i2c-protocol: properly name start and stop conditions (Rev.) docs: i2c: i2c-protocol: fix kernel-doc function syntax (Rev.) docs: i2c: replace "I2C-transfer" -> "I2C transfer" consistently (Rev.) docs: i2c: fix typo (Rev.) docs: i2c: call it "I2C" consistently (Rev.) docs: i2c: summary: rewrite the "terminology" section (Rev.) docs: i2c: summary: extend introduction (Rev.) docs: i2c: sort index logically (Rev.) i2c: parport: fix spelling mistake: "Atmost" -> "At most" (Rev.) i2c: taos-evm: convert to use i2c_new_client_device() (Test) i2c: taos-evm: convert to use i2c_new_client_device() (Rev.) i2c: i801: convert to use i2c_new_client_device() (Rev.) i2c: parport: move include file into main source (Rev.) i2c: parport: simplify Kconfig description (Rev.) i2c: parport-light: remove driver Kieran Bingham (1): (Rev.) i2c: core: Use DEVICE_ATTR_*() helper macros Linus Walleij (5): (Rev.) i2c: stu300: Use proper printk format for iomem pointer (Rev.) eeprom: at24: remove the write-protect pin support (Rev.) dt-bindings: at24: make wp-gpios a reference to the property defined by nvmem (Rev.) nvmem: add support for the write-protect pin (Rev.) dt-bindings: nvmem: new optional property wp-gpios Luca Ceresoli (1): (Rev.) i2c: core: Use DEVICE_ATTR_*() helper macros Ludovic Desroches (1): (Rev.) i2c: at91: remote default value initialization Michal Simek (1): (Rev.) i2c: cadence: Handle transfer_size rollover Neil Armstrong (1): (Rev.) i2c: meson: implement the master_xfer_atomic callback Peter Korsgaard (1): (Rev.) i2c: ocores: convert to use i2c_new_client_device() Rob Herring (5): (Rev.) dt-binding: eeprom: at24: add vcc-supply property (Rev.) dt-bindings: at25: add reference for the wp-gpios property (Rev.) dt-bindings: at24: make wp-gpios a reference to the property defined by nvmem (Rev.) dt-bindings: nvmem: new optional property wp-gpios (Rev.) dt-bindings: i2c: support property idle-state Shubhrajyoti Datta (2): (Rev.) i2c: cadence: Handle transfer_size rollover (Rev.) i2c: xiic: fix indentation issue Thierry Reding (8): (Test) i2c: tegra: Check DMA completion status in addition to left time (Test) i2c: tegra: Always terminate DMA transfer (Test) i2c: tegra: Use relaxed versions of readl/writel (Test) i2c: tegra: Rename I2C_PIO_MODE_MAX_LEN to I2C_PIO_MODE_PREFERRED_LEN (Test) i2c: tegra: Support atomic transfers (Test) i2c: tegra: Prevent interrupt triggering after transfer timeout (Test) i2c: tegra: Properly disable runtime PM on driver's probe error (Test) i2c: tegra: Fix suspending in active runtime PM state Vladimir Zapolskiy (1): (Rev.) i2c: mux: pca9541: use the BIT macro Documentation/devicetree/bindings/eeprom/at24.yaml | 9 +- Documentation/devicetree/bindings/eeprom/at25.txt | 2 + Documentation/devicetree/bindings/i2c/i2c-at91.txt | 14 +- .../devicetree/bindings/i2c/i2c-jz4780.txt | 4 +- .../devicetree/bindings/i2c/i2c-mux-pca954x.txt | 2 + .../devicetree/bindings/i2c/renesas,i2c.txt | 3 +- .../devicetree/bindings/i2c/renesas,iic.txt | 1 + Documentation/devicetree/bindings/nvmem/nvmem.yaml | 11 + Documentation/i2c/busses/i2c-parport-light.rst | 24 - Documentation/i2c/busses/index.rst | 1 - Documentation/i2c/dev-interface.rst | 24 +- Documentation/i2c/dma-considerations.rst | 2 +- Documentation/i2c/i2c-protocol.rst | 45 +- Documentation/i2c/i2c-topology.rst | 72 +- Documentation/i2c/i2c.svg | 1341 ++++++++++++++++++++ Documentation/i2c/index.rst | 58 +- Documentation/i2c/instantiating-devices.rst | 123 +- Documentation/i2c/old-module-parameters.rst | 31 +- Documentation/i2c/slave-interface.rst | 4 +- Documentation/i2c/smbus-protocol.rst | 107 +- Documentation/i2c/summary.rst | 62 +- Documentation/i2c/writing-clients.rst | 36 +- MAINTAINERS | 2 - drivers/i2c/busses/Kconfig | 107 +- drivers/i2c/busses/Makefile | 1 - drivers/i2c/busses/i2c-at91-core.c | 39 - drivers/i2c/busses/i2c-cadence.c | 32 +- drivers/i2c/busses/i2c-cht-wc.c | 6 +- drivers/i2c/busses/i2c-cros-ec-tunnel.c | 3 +- drivers/i2c/busses/i2c-highlander.c | 2 +- drivers/i2c/busses/i2c-i801.c | 10 +- drivers/i2c/busses/i2c-jz4780.c | 156 ++- drivers/i2c/busses/i2c-meson.c | 97 +- drivers/i2c/busses/i2c-nvidia-gpu.c | 6 +- drivers/i2c/busses/i2c-ocores.c | 2 +- drivers/i2c/busses/i2c-parport-light.c | 267 ---- drivers/i2c/busses/i2c-parport.c | 113 +- drivers/i2c/busses/i2c-parport.h | 106 -- drivers/i2c/busses/i2c-pmcmsp.c | 6 +- drivers/i2c/busses/i2c-pnx.c | 4 +- drivers/i2c/busses/i2c-powermac.c | 8 +- drivers/i2c/busses/i2c-stm32f7.c | 117 +- drivers/i2c/busses/i2c-stu300.c | 2 +- drivers/i2c/busses/i2c-taos-evm.c | 4 +- drivers/i2c/busses/i2c-tegra.c | 216 ++-- drivers/i2c/busses/i2c-tiny-usb.c | 8 +- drivers/i2c/busses/i2c-xiic.c | 69 +- drivers/i2c/i2c-core-acpi.c | 12 +- drivers/i2c/i2c-core-base.c | 33 +- drivers/i2c/i2c-core-of.c | 7 +- drivers/i2c/muxes/i2c-mux-pca9541.c | 29 +- drivers/i2c/muxes/i2c-mux-pca954x.c | 69 +- drivers/misc/eeprom/at24.c | 72 +- drivers/nvmem/core.c | 19 +- drivers/nvmem/nvmem.h | 2 + include/linux/i2c.h | 115 +- include/linux/nvmem-provider.h | 3 + 57 files changed, 2604 insertions(+), 1116 deletions(-) delete mode 100644 Documentation/i2c/busses/i2c-parport-light.rst create mode 100644 Documentation/i2c/i2c.svg delete mode 100644 drivers/i2c/busses/i2c-parport-light.c delete mode 100644 drivers/i2c/busses/i2c-parport.h