[PULL REQUEST] i2c for v5.16

From: Wolfram Sang
Date: Mon Nov 08 2021 - 03:28:40 EST


Linus,

after the hot-fix, here is my main pull request for I2C:

* big refactoring of the PASEMI driver to support the Apple M1
* huge improvements to the XIIC in terms of locking and SMP safety
* refactoring and clean ups for the i801 driver
* and a usual bunch of small driver updates

The latest two patches look like they have been applied only yesterday,
but they have been in the tree before and got lost for reasons I sadly
cannot recall or reproduce. They have been reviewed on October, 17th.

Please pull.

Thanks,

Wolfram


The following changes since commit 64570fbc14f8d7cb3fe3995f20e26bc25ce4b2cc:

Linux 5.15-rc5 (2021-10-10 17:01:59 -0700)

are available in the Git repository at:

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

for you to fetch changes up to c6f49acb52c79f8e84af2eda4fc002a2068a6c9e:

i2c: amd-mp2-plat: ACPI: Use ACPI_COMPANION() directly (2021-11-07 14:57:41 +0100)

----------------------------------------------------------------
Andy Shevchenko (1):
i2c: i801: Add support for Intel Ice Lake PCH-N

Christophe JAILLET (2):
i2c: switch from 'pci_' to 'dma_' API
i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_probe()'

Dmitry Osipenko (1):
i2c: tegra: Ensure that device is suspended before driver is removed

Heiner Kallweit (6):
i2c: i801: Improve is_dell_system_with_lis3lv02d
i2c: i801: Remove not needed check for PCI_COMMAND_INTX_DISABLE
i2c: i801: Improve i801_acpi_probe/remove functions
i2c: i801: Improve i801_add_mux
i2c: i801: Use PCI bus rescan mutex to protect P2SB access
i2c: i801: Stop using pm_runtime_set_autosuspend_delay(-1)

Jarkko Nikula (1):
i2c: i801: Fix incorrect and needless software PEC disabling

Jie Deng (1):
i2c: virtio: update the maintainer to Conghui

Kewei Xu (3):
i2c: mediatek: fixing the incorrect register offset
i2c: mediatek: Reset the handshake signal between i2c and dma
i2c: mediatek: Dump i2c/dma register when a timeout occurs

Krzysztof Kozlowski (2):
i2c: pxa: drop unneeded MODULE_ALIAS
i2c: exynos: describe drivers in KConfig

Marek Vasut (6):
i2c: xiic: Fix broken locking on tx_msg
i2c: xiic: Drop broken interrupt handler
i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
i2c: xiic: Switch from waitqueue to completion
i2c: xiic: Only ever transfer single message
i2c: xiic: Fix RX IRQ busy check

Michael Brunner (1):
i2c: kempld: deprecate class based instantiation

Raag Jadav (1):
dt-bindings: at24: add ON Semi CAT24C04 and CAT24C05

Rafael J. Wysocki (1):
i2c: amd-mp2-plat: ACPI: Use ACPI_COMPANION() directly

Randy Dunlap (1):
i2c: qup: fix a trivial typo

Sven Peter (11):
dt-bindings: i2c: Add Apple I2C controller bindings
i2c: pasemi: Use io{read,write}32
i2c: pasemi: Use dev_name instead of port number
i2c: pasemi: Remove usage of pci_dev
i2c: pasemi: Split off common probing code
i2c: pasemi: Split pci driver to its own file
i2c: pasemi: Move common reset code to own function
i2c: pasemi: Allow to configure bus frequency
i2c: pasemi: Refactor _probe to use devm_*
i2c: pasemi: Add Apple platform driver
i2c: pasemi: Set enable bit for Apple variant

Tian Tao (1):
i2c: qup: move to use request_irq by IRQF_NO_AUTOEN flag

Vadim Pasternak (2):
i2c: mlxcpld: Reduce polling time for performance improvement
i2c: mlxcpld: Allow flexible polling time setting for I2C transactions

Wolfram Sang (3):
i2c: rcar: enable interrupts before starting transfer
Merge branch 'i2c/for-current' into i2c/for-mergewindow
Merge tag 'at24-updates-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-mergewindow

zhaoxiao (1):
i2c: bcm-kona: Fix return value in probe()


with much appreciated quality assurance from
----------------------------------------------------------------
Andy Shevchenko (2):
(Rev.) i2c: i801: Use PCI bus rescan mutex to protect P2SB access
(Rev.) i2c: i801: Remove not needed check for PCI_COMMAND_INTX_DISABLE

Arnd Bergmann (10):
(Rev.) i2c: pasemi: Set enable bit for Apple variant
(Rev.) i2c: pasemi: Add Apple platform driver
(Rev.) i2c: pasemi: Refactor _probe to use devm_*
(Rev.) i2c: pasemi: Allow to configure bus frequency
(Rev.) i2c: pasemi: Move common reset code to own function
(Rev.) i2c: pasemi: Split pci driver to its own file
(Rev.) i2c: pasemi: Split off common probing code
(Rev.) i2c: pasemi: Remove usage of pci_dev
(Rev.) i2c: pasemi: Use io{read,write}32
(Rev.) dt-bindings: i2c: Add Apple I2C controller bindings

Chen-Yu Tsai (1):
(Rev.) i2c: mediatek: fixing the incorrect register offset

Christian Zigotzky (11):
(Test) i2c: pasemi: Set enable bit for Apple variant
(Test) i2c: pasemi: Add Apple platform driver
(Test) i2c: pasemi: Refactor _probe to use devm_*
(Test) i2c: pasemi: Allow to configure bus frequency
(Test) i2c: pasemi: Move common reset code to own function
(Test) i2c: pasemi: Split pci driver to its own file
(Test) i2c: pasemi: Split off common probing code
(Test) i2c: pasemi: Remove usage of pci_dev
(Test) i2c: pasemi: Use dev_name instead of port number
(Test) i2c: pasemi: Use io{read,write}32
(Test) dt-bindings: i2c: Add Apple I2C controller bindings

Jean Delvare (10):
(Rev.) i2c: i801: Add support for Intel Ice Lake PCH-N
(Rev.) i2c: i801: Fix incorrect and needless software PEC disabling
(Rev.) i2c: i801: Stop using pm_runtime_set_autosuspend_delay(-1)
(Rev.) i2c: i801: Use PCI bus rescan mutex to protect P2SB access
(Rev.) i2c: i801: Improve i801_add_mux
(Test) i2c: i801: Improve i801_add_mux
(Rev.) i2c: i801: Improve i801_acpi_probe/remove functions
(Test) i2c: i801: Improve i801_acpi_probe/remove functions
(Rev.) i2c: i801: Remove not needed check for PCI_COMMAND_INTX_DISABLE
(Rev.) i2c: i801: Improve is_dell_system_with_lis3lv02d

Mika Westerberg (1):
(Rev.) i2c: i801: Improve i801_acpi_probe/remove functions

Niklas Söderlund (1):
(Rev.) i2c: rcar: enable interrupts before starting transfer

Qii Wang (3):
(Rev.) i2c: mediatek: Dump i2c/dma register when a timeout occurs
(Rev.) i2c: mediatek: Reset the handshake signal between i2c and dma
(Rev.) i2c: mediatek: fixing the incorrect register offset

Rob Herring (1):
(Rev.) dt-bindings: i2c: Add Apple I2C controller bindings

Ulrich Hecht (1):
(Rev.) i2c: rcar: enable interrupts before starting transfer

Documentation/devicetree/bindings/eeprom/at24.yaml | 6 +
.../devicetree/bindings/i2c/apple,i2c.yaml | 61 ++++++++
MAINTAINERS | 2 +-
drivers/i2c/busses/Kconfig | 16 +-
drivers/i2c/busses/Makefile | 3 +
drivers/i2c/busses/i2c-amd-mp2-pci.c | 4 +-
drivers/i2c/busses/i2c-amd-mp2-plat.c | 5 +-
drivers/i2c/busses/i2c-bcm-kona.c | 2 +-
drivers/i2c/busses/i2c-i801.c | 83 ++++-------
drivers/i2c/busses/i2c-ismt.c | 12 +-
drivers/i2c/busses/i2c-kempld.c | 3 +-
drivers/i2c/busses/i2c-mlxcpld.c | 14 +-
drivers/i2c/busses/i2c-mt65xx.c | 82 ++++++++++-
.../i2c/busses/{i2c-pasemi.c => i2c-pasemi-core.c} | 114 ++++-----------
drivers/i2c/busses/i2c-pasemi-core.h | 21 +++
drivers/i2c/busses/i2c-pasemi-pci.c | 85 +++++++++++
drivers/i2c/busses/i2c-pasemi-platform.c | 122 ++++++++++++++++
drivers/i2c/busses/i2c-pxa.c | 1 -
drivers/i2c/busses/i2c-qup.c | 6 +-
drivers/i2c/busses/i2c-rcar.c | 6 +-
drivers/i2c/busses/i2c-tegra.c | 4 +-
drivers/i2c/busses/i2c-xiic.c | 161 +++++++++------------
drivers/i2c/busses/i2c-xlr.c | 6 +-
23 files changed, 558 insertions(+), 261 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/apple,i2c.yaml
rename drivers/i2c/busses/{i2c-pasemi.c => i2c-pasemi-core.c} (77%)
create mode 100644 drivers/i2c/busses/i2c-pasemi-core.h
create mode 100644 drivers/i2c/busses/i2c-pasemi-pci.c
create mode 100644 drivers/i2c/busses/i2c-pasemi-platform.c

Attachment: signature.asc
Description: PGP signature