mbox series

[PULL,REQUEST] i2c-for-6.13-rc1

Message ID Zz7_OUd-y4ZjnlFZ@ninjato
State New
Headers show
Series [PULL,REQUEST] i2c-for-6.13-rc1 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git tags/i2c-for-6.13-rc1

Message

Wolfram Sang Nov. 21, 2024, 9:36 a.m. UTC
The following changes since commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623:

  Linux 6.12-rc7 (2024-11-10 14:19:35 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git tags/i2c-for-6.13-rc1

for you to fetch changes up to 1b3073291ddbe23fede7e0dd1b6f5635e370f8ba:

  Merge tag 'i2c-host-6.13-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-mergewindow (2024-11-18 08:35:47 +0100)

----------------------------------------------------------------
i2c-for-6.13-rc1

i2c-core (Wolfram)

 - drivers can now use a GPIO as a side channel for SMBus Alerts
   using a generic binding

 - regular stuff like mem leak fix, Makefile maintenance...

i2c-host updates (Andi)

Major Improvements and Refactoring:

 - All controllers using the 'remove_new' callback have been
   reverted to use the 'remove' callback.

 - Intel SCH controller underwent significant refactoring,
   this brings love and a modern look to the driver.

 - PIIX4 driver refactored to enable usage by other drivers
   (e.g., AMD ASF).

 - iMX/MXC improved message handling to reduce protocol overhead:
     Refactored DMA/non-DMA read/write and bus polling mechanisms
     to achieve this.

 - ACPI documentation for PIIX4.

New Features:

 - i2c-cadence added support for atomic transfers.
 - Qualcomm CII added support for a 32MHz serial engine clock.

Deprecated Features:

 - Dropped outdated support for AMD756 S4882 and NFORCE2 S4985. If
   somebody misses this, Jean will rewrite support using the proper
   i2c mux framework.

New Hardware Support:

 - Added support for:
   - Intel Panther Lake (new ID)
   - AMD ASF (new driver)
   - S32G2/S32G3 SoCs (new ID)
   - Realtek RTL I2C Controller (new driver)
   - HJMC01 DesignWare ACPI HID (new ID)
   - PIC64GX to Microchip Core (new ID)
   - Qualcomm SDM670 to Qualcomm CCI (new ID)

at24 updates (Bartosz)

- add support for the lockable page on ST M24256E

----------------------------------------------------------------
Andy Shevchenko (18):
      i2c: Use *-y instead of *-objs in Makefile
      i2c: isch: Pass pointer to struct i2c_adapter down
      i2c: isch: Use string_choices API instead of ternary operator
      i2c: isch: Switch to memory mapped IO accessors
      i2c: isch: Use custom private data structure
      i2c: isch: switch i2c registration to devm functions
      i2c: isch: Utilize temporary variable to hold device pointer
      i2c: isch: Use read_poll_timeout()
      i2c: isch: Unify the name of the variable to hold an error code
      i2c: isch: Don't use "proxy" headers
      i2c: isch: Prefer to use octal permission
      i2c: isch: Convert to kernel-doc
      i2c: designware: Use temporary variable for struct device
      i2c: designware: Get rid of redundant 'else'
      i2c: designware: Remove 'cond' from i2c_dw_scl_hcnt()
      i2c: designware: Use sda_hold_time variable name everywhere
      i2c: designware: Fix spelling and other issues in the comments
      i2c: busses: Use *-y instead of *-objs in Makefile

Bryan O'Donoghue (1):
      i2c: qcom-cci: Stop complaining about DT set clock rate

Chen-Yu Tsai (1):
      i2c: core: Remove extra space in Makefile

Chris Packham (2):
      dt-bindings: i2c: Add Realtek RTL I2C Controller
      i2c: Add driver for the RTL9300 I2C controller

Christophe JAILLET (1):
      Documentation: i2c: Constify struct i2c_device_id

Ciprian Marian Costea (2):
      dt-bindings: i2c: imx: add SoC specific compatible strings for S32G
      i2c: imx: add support for S32G2/S32G3 SoCs

Hunter Yu (1):
      i2c: designware: Add a new ACPI HID for HJMC01 I2C controller

Igor Pylypiv (1):
      i2c: dev: Fix memory leak when underlying adapter does not support I2C

Jarkko Nikula (1):
      i2c: i801: Add support for Intel Panther Lake

Jean Delvare (1):
      i2c: Drop legacy muxing pseudo-drivers

Jiapeng Chong (1):
      i2c: qcom-cci: Remove the unused variable cci_clk_rate

Konstantin Aladyshev (1):
      docs: i2c: piix4: Add ACPI section

Manikanta Guntupalli (3):
      i2c: cadence: Relocate cdns_i2c_runtime_suspend and cdns_i2c_runtime_resume to facilitate atomic mode
      i2c: cadence: Split cdns_i2c_master_xfer for Atomic Mode
      i2c: cadence: Add atomic transfer support for controller version 1.4

Manikanta Mylavarapu (1):
      i2c: qcom-geni: Support systems with 32MHz serial engine clock

Marek Vasut (2):
      dt-bindings: at24: add ST M24256E Additional Write lockable page support
      eeprom: at24: add ST M24256E Additional Write lockable page support

Pierre-Henry Moussay (1):
      dt-bindings: i2c: microchip: corei2c: Add PIC64GX as compatible with driver

Qianqiang Liu (1):
      i2c: amd-asf: Fix uninitialized variables issue in amd_asf_process_target

Raag Jadav (1):
      i2c: designware: constify abort_sources

Richard Acayan (1):
      dt-bindings: i2c: qcom-cci: Document SDM670 compatible

Shyam Sundar S K (8):
      i2c: piix4: Change the parameter list of piix4_transaction function
      i2c: piix4: Move i2c_piix4 macros and structures to common header
      i2c: piix4: Export i2c_piix4 driver functions as library
      i2c: amd-asf: Add ACPI support for AMD ASF Controller
      i2c: amd-asf: Add i2c_algorithm operations to support AMD ASF with SMBus
      i2c: amd-asf: Add routine to handle the ASF slave process
      i2c: amd-asf: Clear remote IRR bit to get successive interrupt
      MAINTAINERS: Add AMD ASF driver entry

Stefan Eichenberger (3):
      i2c: imx: do not poll for bus busy in single master mode
      i2c: imx: separate atomic, dma and non-dma use case
      i2c: imx: prevent rescheduling in non dma mode

Tyrone Ting (2):
      i2c: npcm: correct the read/write operation procedure
      i2c: npcm: use a software flag to indicate a BER condition

Uwe Kleine-König (1):
      i2c: Switch back to struct platform_driver::remove()

Vladimir Zapolskiy (1):
      i2c: qcom-cci: Remove unused struct member cci_clk_rate

Wolfram Sang (5):
      i2c: testunit: improve error handling for GPIO
      i2c: support gpio-binding for SMBAlerts
      Merge tag 'at24-updates-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-mergewindow
      i2c: qcom-geni: Keep comment why interrupts start disabled
      Merge tag 'i2c-host-6.13-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-mergewindow


with much appreciated quality assurance from
----------------------------------------------------------------
Andi Shyti (8):
      (Rev.) i2c: Add driver for the RTL9300 I2C controller
      (Rev.) i2c: designware: Get rid of redundant 'else'
      (Rev.) i2c: designware: Use temporary variable for struct device
      (Rev.) i2c: cadence: Add atomic transfer support for controller version 1.4
      (Rev.) i2c: cadence: Split cdns_i2c_master_xfer for Atomic Mode
      (Rev.) i2c: cadence: Relocate cdns_i2c_runtime_suspend and cdns_i2c_runtime_resume to facilitate atomic mode
      (Rev.) i2c: core: Remove extra space in Makefile
      (Rev.) i2c: support gpio-binding for SMBAlerts

Andy Shevchenko (10):
      (Rev.) docs: i2c: piix4: Add ACPI section
      (Rev.) i2c: designware: Add a new ACPI HID for HJMC01 I2C controller
      (Rev.) i2c: amd-asf: Clear remote IRR bit to get successive interrupt
      (Rev.) i2c: amd-asf: Add routine to handle the ASF slave process
      (Rev.) i2c: amd-asf: Add i2c_algorithm operations to support AMD ASF with SMBus
      (Rev.) i2c: amd-asf: Add ACPI support for AMD ASF Controller
      (Rev.) i2c: piix4: Export i2c_piix4 driver functions as library
      (Rev.) i2c: piix4: Move i2c_piix4 macros and structures to common header
      (Rev.) i2c: piix4: Change the parameter list of piix4_transaction function
      (Rev.) i2c: core: Remove extra space in Makefile

Bagas Sanjaya (1):
      (Rev.) docs: i2c: piix4: Add ACPI section

Bjorn Andersson (2):
      (Rev.) i2c: qcom-geni: Keep comment why interrupts start disabled
      (Rev.) i2c: qcom-geni: Support systems with 32MHz serial engine clock

Dan Carpenter (1):
      (Rev.) i2c: amd-asf: Fix uninitialized variables issue in amd_asf_process_target

Dmitry Baryshkov (1):
      (Rev.) i2c: qcom-cci: Remove the unused variable cci_clk_rate

Frank Li (4):
      (Rev.) i2c: imx: add support for S32G2/S32G3 SoCs
      (Rev.) dt-bindings: i2c: imx: add SoC specific compatible strings for S32G
      (Rev.) i2c: imx: separate atomic, dma and non-dma use case
      (Rev.) i2c: imx: do not poll for bus busy in single master mode

Krzysztof Kozlowski (2):
      (Rev.) dt-bindings: i2c: Add Realtek RTL I2C Controller
      (Rev.) dt-bindings: i2c: qcom-cci: Document SDM670 compatible

Mario Limonciello (3):
      (Rev.) i2c: designware: Fix spelling and other issues in the comments
      (Rev.) i2c: designware: Get rid of redundant 'else'
      (Rev.) i2c: designware: Use temporary variable for struct device

Rob Herring (1):
      (Rev.) dt-bindings: at24: add ST M24256E Additional Write lockable page support

Serge Semin (1):
      (Test) i2c: designware: Get rid of redundant 'else'

Tali Perry (2):
      (Rev.) i2c: npcm: use a software flag to indicate a BER condition
      (Rev.) i2c: npcm: correct the read/write operation procedure

Vladimir Zapolskiy (3):
      (Rev.) i2c: qcom-cci: Remove the unused variable cci_clk_rate
      (Rev.) i2c: qcom-cci: Stop complaining about DT set clock rate
      (Rev.) dt-bindings: i2c: qcom-cci: Document SDM670 compatible

 Documentation/devicetree/bindings/eeprom/at24.yaml |   2 +
 Documentation/devicetree/bindings/i2c/i2c-imx.yaml |   4 +
 .../devicetree/bindings/i2c/microchip,corei2c.yaml |   4 +-
 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml      |  19 +
 .../bindings/i2c/realtek,rtl9301-i2c.yaml          |  69 ++++
 Documentation/i2c/busses/i2c-i801.rst              |   1 +
 Documentation/i2c/busses/i2c-piix4.rst             |  63 +++
 Documentation/i2c/writing-clients.rst              |   3 +-
 MAINTAINERS                                        |  17 +-
 drivers/i2c/Makefile                               |   6 +-
 drivers/i2c/busses/Kconfig                         |  65 ++--
 drivers/i2c/busses/Makefile                        |  16 +-
 drivers/i2c/busses/i2c-altera.c                    |   2 +-
 drivers/i2c/busses/i2c-amd-asf-plat.c              | 369 ++++++++++++++++++
 drivers/i2c/busses/i2c-amd-mp2-plat.c              |   2 +-
 drivers/i2c/busses/i2c-amd756-s4882.c              | 245 ------------
 drivers/i2c/busses/i2c-amd756.c                    |   4 +-
 drivers/i2c/busses/i2c-aspeed.c                    |   2 +-
 drivers/i2c/busses/i2c-at91-core.c                 |   2 +-
 drivers/i2c/busses/i2c-au1550.c                    |   2 +-
 drivers/i2c/busses/i2c-axxia.c                     |   2 +-
 drivers/i2c/busses/i2c-bcm-iproc.c                 |   2 +-
 drivers/i2c/busses/i2c-bcm-kona.c                  |   2 +-
 drivers/i2c/busses/i2c-bcm2835.c                   |   2 +-
 drivers/i2c/busses/i2c-brcmstb.c                   |   2 +-
 drivers/i2c/busses/i2c-cadence.c                   | 425 +++++++++++++++------
 drivers/i2c/busses/i2c-cbus-gpio.c                 |   2 +-
 drivers/i2c/busses/i2c-cht-wc.c                    |   2 +-
 drivers/i2c/busses/i2c-cpm.c                       |   2 +-
 drivers/i2c/busses/i2c-cros-ec-tunnel.c            |   2 +-
 drivers/i2c/busses/i2c-davinci.c                   |   2 +-
 drivers/i2c/busses/i2c-designware-amdpsp.c         |  10 +-
 drivers/i2c/busses/i2c-designware-common.c         |  68 ++--
 drivers/i2c/busses/i2c-designware-core.h           |  12 +-
 drivers/i2c/busses/i2c-designware-master.c         |  17 +-
 drivers/i2c/busses/i2c-designware-pcidrv.c         |  39 +-
 drivers/i2c/busses/i2c-designware-platdrv.c        |  55 ++-
 drivers/i2c/busses/i2c-designware-slave.c          |   6 +-
 drivers/i2c/busses/i2c-digicolor.c                 |   2 +-
 drivers/i2c/busses/i2c-dln2.c                      |   2 +-
 drivers/i2c/busses/i2c-emev2.c                     |   2 +-
 drivers/i2c/busses/i2c-exynos5.c                   |   2 +-
 drivers/i2c/busses/i2c-gpio.c                      |   2 +-
 drivers/i2c/busses/i2c-gxp.c                       |   2 +-
 drivers/i2c/busses/i2c-highlander.c                |   2 +-
 drivers/i2c/busses/i2c-hix5hd2.c                   |   2 +-
 drivers/i2c/busses/i2c-i801.c                      |   6 +
 drivers/i2c/busses/i2c-ibm_iic.c                   |   2 +-
 drivers/i2c/busses/i2c-img-scb.c                   |   2 +-
 drivers/i2c/busses/i2c-imx-lpi2c.c                 |   2 +-
 drivers/i2c/busses/i2c-imx.c                       | 409 +++++++++++++++++---
 drivers/i2c/busses/i2c-iop3xx.c                    |   2 +-
 drivers/i2c/busses/i2c-isch.c                      | 317 +++++++--------
 drivers/i2c/busses/i2c-jz4780.c                    |   2 +-
 drivers/i2c/busses/i2c-kempld.c                    |   2 +-
 drivers/i2c/busses/i2c-lpc2k.c                     |   2 +-
 drivers/i2c/busses/i2c-meson.c                     |   2 +-
 drivers/i2c/busses/i2c-microchip-corei2c.c         |   2 +-
 drivers/i2c/busses/i2c-mlxbf.c                     |   2 +-
 drivers/i2c/busses/i2c-mlxcpld.c                   |   2 +-
 drivers/i2c/busses/i2c-mpc.c                       |   2 +-
 drivers/i2c/busses/i2c-mt65xx.c                    |   2 +-
 drivers/i2c/busses/i2c-mt7621.c                    |   2 +-
 drivers/i2c/busses/i2c-mv64xxx.c                   |   2 +-
 drivers/i2c/busses/i2c-mxs.c                       |   2 +-
 drivers/i2c/busses/i2c-nforce2-s4985.c             | 240 ------------
 drivers/i2c/busses/i2c-nforce2.c                   |  16 -
 drivers/i2c/busses/i2c-npcm7xx.c                   |  24 +-
 drivers/i2c/busses/i2c-ocores.c                    |   2 +-
 drivers/i2c/busses/i2c-octeon-platdrv.c            |   2 +-
 drivers/i2c/busses/i2c-omap.c                      |   2 +-
 drivers/i2c/busses/i2c-opal.c                      |   2 +-
 drivers/i2c/busses/i2c-pasemi-platform.c           |   2 +-
 drivers/i2c/busses/i2c-pca-platform.c              |   2 +-
 drivers/i2c/busses/i2c-piix4.c                     |  51 +--
 drivers/i2c/busses/i2c-piix4.h                     |  44 +++
 drivers/i2c/busses/i2c-pnx.c                       |   2 +-
 drivers/i2c/busses/i2c-powermac.c                  |   2 +-
 drivers/i2c/busses/i2c-pxa.c                       |   2 +-
 drivers/i2c/busses/i2c-qcom-cci.c                  |  23 +-
 drivers/i2c/busses/i2c-qcom-geni.c                 |  27 +-
 drivers/i2c/busses/i2c-qup.c                       |   2 +-
 drivers/i2c/busses/i2c-rcar.c                      |   2 +-
 drivers/i2c/busses/i2c-riic.c                      |   2 +-
 drivers/i2c/busses/i2c-rk3x.c                      |   2 +-
 drivers/i2c/busses/i2c-rtl9300.c                   | 423 ++++++++++++++++++++
 drivers/i2c/busses/i2c-rzv2m.c                     |   2 +-
 drivers/i2c/busses/i2c-s3c2410.c                   |   2 +-
 drivers/i2c/busses/i2c-scmi.c                      |   2 +-
 drivers/i2c/busses/i2c-sh7760.c                    |   2 +-
 drivers/i2c/busses/i2c-sh_mobile.c                 |   2 +-
 drivers/i2c/busses/i2c-simtec.c                    |   2 +-
 drivers/i2c/busses/i2c-sprd.c                      |   2 +-
 drivers/i2c/busses/i2c-st.c                        |   2 +-
 drivers/i2c/busses/i2c-stm32f4.c                   |   2 +-
 drivers/i2c/busses/i2c-stm32f7.c                   |   2 +-
 drivers/i2c/busses/i2c-sun6i-p2wi.c                |   2 +-
 drivers/i2c/busses/i2c-synquacer.c                 |   2 +-
 drivers/i2c/busses/i2c-tegra-bpmp.c                |   2 +-
 drivers/i2c/busses/i2c-tegra.c                     |   2 +-
 drivers/i2c/busses/i2c-uniphier-f.c                |   2 +-
 drivers/i2c/busses/i2c-uniphier.c                  |   2 +-
 drivers/i2c/busses/i2c-versatile.c                 |   2 +-
 drivers/i2c/busses/i2c-viai2c-wmt.c                |   2 +-
 drivers/i2c/busses/i2c-viperboard.c                |   2 +-
 drivers/i2c/busses/i2c-xgene-slimpro.c             |   2 +-
 drivers/i2c/busses/i2c-xiic.c                      |   2 +-
 drivers/i2c/busses/i2c-xlp9xx.c                    |   2 +-
 drivers/i2c/busses/scx200_acb.c                    |   2 +-
 drivers/i2c/i2c-core-smbus.c                       |   9 +-
 drivers/i2c/i2c-dev.c                              |  17 +-
 drivers/i2c/i2c-slave-testunit.c                   |   7 +
 drivers/i2c/i2c-smbus.c                            |  22 +-
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c         |   2 +-
 drivers/i2c/muxes/i2c-demux-pinctrl.c              |   2 +-
 drivers/i2c/muxes/i2c-mux-gpio.c                   |   2 +-
 drivers/i2c/muxes/i2c-mux-gpmux.c                  |   2 +-
 drivers/i2c/muxes/i2c-mux-mlxcpld.c                |   2 +-
 drivers/i2c/muxes/i2c-mux-pinctrl.c                |   2 +-
 drivers/i2c/muxes/i2c-mux-reg.c                    |   2 +-
 drivers/misc/eeprom/at24.c                         |   4 +
 121 files changed, 2164 insertions(+), 1158 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/realtek,rtl9301-i2c.yaml
 create mode 100644 drivers/i2c/busses/i2c-amd-asf-plat.c
 delete mode 100644 drivers/i2c/busses/i2c-amd756-s4882.c
 delete mode 100644 drivers/i2c/busses/i2c-nforce2-s4985.c
 create mode 100644 drivers/i2c/busses/i2c-piix4.h
 create mode 100644 drivers/i2c/busses/i2c-rtl9300.c