Merge branch 'i2c/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 30 Apr 2021 20:01:02 +0000 (13:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 30 Apr 2021 20:01:02 +0000 (13:01 -0700)
Pull i2c updates from Wolfram Sang:

 - new drivers for Silicon Labs CP2615 and the HiSilicon I2C unit

 - bigger refactoring for the MPC driver

 - support for full software nodes - no need to work around with only
   properties anymore

 - we now have 'devm_i2c_add_adapter', too

 - sub-system wide fixes for the RPM refcounting problem which often
   caused a leak when an error was encountered during probe

 - the rest is usual driver updates and improvements

* 'i2c/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (77 commits)
  i2c: mediatek: Use scl_int_delay_ns to compensate clock-stretching
  i2c: mediatek: Fix wrong dma sync flag
  i2c: mediatek: Fix send master code at more than 1MHz
  i2c: sh7760: fix IRQ error path
  i2c: i801: Add support for Intel Alder Lake PCH-M
  i2c: core: Fix spacing error by checkpatch
  i2c: s3c2410: simplify getting of_device_id match data
  i2c: nomadik: Fix space errors
  i2c: iop3xx: Fix coding style issues
  i2c: amd8111: Fix coding style issues
  i2c: mpc: Drop duplicate message from devm_platform_ioremap_resource()
  i2c: mpc: Use device_get_match_data() helper
  i2c: mpc: Remove CONFIG_PM_SLEEP ifdeffery
  i2c: mpc: Use devm_clk_get_optional()
  i2c: mpc: Update license and copyright
  i2c: mpc: Interrupt driven transfer
  i2c: sh7760: add IRQ check
  i2c: rcar: add IRQ check
  i2c: mlxbf: add IRQ check
  i2c: jz4780: add IRQ check
  ...

1  2 
MAINTAINERS
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-designware-master.c
drivers/i2c/busses/i2c-jz4780.c
drivers/i2c/i2c-core-base.c

diff --combined MAINTAINERS
@@@ -300,6 -300,7 +300,6 @@@ M: Syed Nayyar Waris <syednwaris@gmail.
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-counter-104-quad-8
 -F:    Documentation/ABI/testing/sysfs-bus-iio-counter-104-quad-8
  F:    drivers/counter/104-quad-8.c
  
  ACCES PCI-IDIO-16 GPIO DRIVER
@@@ -572,12 -573,6 +572,12 @@@ S:       Maintaine
  F:    Documentation/scsi/advansys.rst
  F:    drivers/scsi/advansys.c
  
 +ADVANTECH SWBTN DRIVER
 +M:    Andrea Ho <Andrea.Ho@advantech.com.tw>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/adv_swbutton.c
 +
  ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  S:    Supported
@@@ -702,11 -697,6 +702,11 @@@ S:       Maintaine
  F:    Documentation/i2c/busses/i2c-ali1563.rst
  F:    drivers/i2c/busses/i2c-ali1563.c
  
 +ALIENWARE WMI DRIVER
 +L:    Dell.Client.Kernel@dell.com
 +S:    Maintained
 +F:    drivers/platform/x86/dell/alienware-wmi.c
 +
  ALL SENSORS DLH SERIES PRESSURE SENSORS DRIVER
  M:    Tomislav Denis <tomislav.denis@avl.com>
  L:    linux-iio@vger.kernel.org
@@@ -880,6 -870,13 +880,6 @@@ S:        Supporte
  T:    git git://people.freedesktop.org/~agd5f/linux
  F:    drivers/gpu/drm/amd/display/
  
 -AMD ENERGY DRIVER
 -M:    Naveen Krishna Chatradhi <nchatrad@amd.com>
 -L:    linux-hwmon@vger.kernel.org
 -S:    Maintained
 -F:    Documentation/hwmon/amd_energy.rst
 -F:    drivers/hwmon/amd_energy.c
 -
  AMD FAM15H PROCESSOR POWER MONITORING DRIVER
  M:    Huang Rui <ray.huang@amd.com>
  L:    linux-hwmon@vger.kernel.org
@@@ -1145,7 -1142,7 +1145,7 @@@ W:      http://ez.analog.com/community/linux
  F:    Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523
  F:    Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350
  F:    Documentation/devicetree/bindings/iio/*/adi,*
 -F:    Documentation/devicetree/bindings/iio/dac/ad5758.txt
 +F:    Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
  F:    drivers/iio/*/ad*
  F:    drivers/iio/adc/ltc249*
  F:    drivers/iio/amplifiers/hmc425a.c
@@@ -1326,7 -1323,7 +1326,7 @@@ ARC PGU DRM DRIVE
  M:    Alexey Brodkin <abrodkin@synopsys.com>
  S:    Supported
  F:    Documentation/devicetree/bindings/display/snps,arcpgu.txt
 -F:    drivers/gpu/drm/arc/
 +F:    drivers/gpu/drm/tiny/arcpgu.c
  
  ARCNET NETWORK LAYER
  M:    Michael Grzeschik <m.grzeschik@pengutronix.de>
@@@ -1533,7 -1530,6 +1533,7 @@@ F:      Documentation/devicetree/bindings/dm
  F:    Documentation/devicetree/bindings/i2c/i2c-owl.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/actions,owl-sirq.yaml
  F:    Documentation/devicetree/bindings/mmc/owl-mmc.yaml
 +F:    Documentation/devicetree/bindings/net/actions,owl-emac.yaml
  F:    Documentation/devicetree/bindings/pinctrl/actions,*
  F:    Documentation/devicetree/bindings/power/actions,owl-sps.txt
  F:    Documentation/devicetree/bindings/timer/actions,owl-timer.txt
@@@ -1546,7 -1542,6 +1546,7 @@@ F:      drivers/dma/owl-dma.
  F:    drivers/i2c/busses/i2c-owl.c
  F:    drivers/irqchip/irq-owl-sirq.c
  F:    drivers/mmc/host/owl-mmc.c
 +F:    drivers/net/ethernet/actions/
  F:    drivers/pinctrl/actions/*
  F:    drivers/soc/actions/
  F:    include/dt-bindings/power/owl-*
@@@ -1581,13 -1576,11 +1581,13 @@@ R:   Jernej Skrabec <jernej.skrabec@siol.
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
 +L:    linux-sunxi@lists.linux.dev
  F:    arch/arm/mach-sunxi/
  F:    arch/arm64/boot/dts/allwinner/
  F:    drivers/clk/sunxi-ng/
  F:    drivers/pinctrl/sunxi/
  F:    drivers/soc/sunxi/
 +N:    allwinner
  N:    sun[x456789]i
  N:    sun50i
  
@@@ -1644,20 -1637,6 +1644,20 @@@ F:    arch/arm/mach-alpine
  F:    arch/arm64/boot/dts/amazon/
  F:    drivers/*/*alpine*
  
 +ARM/APPLE MACHINE SUPPORT
 +M:    Hector Martin <marcan@marcan.st>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +W:    https://asahilinux.org
 +B:    https://github.com/AsahiLinux/linux/issues
 +C:    irc://chat.freenode.net/asahi-dev
 +T:    git https://github.com/AsahiLinux/linux.git
 +F:    Documentation/devicetree/bindings/arm/apple.yaml
 +F:    Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
 +F:    arch/arm64/boot/dts/apple/
 +F:    drivers/irqchip/irq-apple-aic.c
 +F:    include/dt-bindings/interrupt-controller/apple-aic.h
 +
  ARM/ARTPEC MACHINE SUPPORT
  M:    Jesper Nilsson <jesper.nilsson@axis.com>
  M:    Lars Persson <lars.persson@axis.com>
@@@ -1785,7 -1764,6 +1785,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/trace/coresight/*
  F:    drivers/hwtracing/coresight/*
  F:    include/dt-bindings/arm/coresight-cti-dt.h
 +F:    include/linux/coresight*
  F:    tools/perf/arch/arm/util/auxtrace.c
  F:    tools/perf/arch/arm/util/cs-etm.c
  F:    tools/perf/arch/arm/util/cs-etm.h
@@@ -1812,26 -1790,19 +1812,26 @@@ F:   drivers/net/ethernet/cortina
  F:    drivers/pinctrl/pinctrl-gemini.c
  F:    drivers/rtc/rtc-ftrtc010.c
  
 -ARM/CZ.NIC TURRIS MOX SUPPORT
 -M:    Marek Behun <marek.behun@nic.cz>
 +ARM/CZ.NIC TURRIS SUPPORT
 +M:    Marek Behun <kabel@kernel.org>
  S:    Maintained
 -W:    http://mox.turris.cz
 +W:    https://www.turris.cz/
  F:    Documentation/ABI/testing/debugfs-moxtet
  F:    Documentation/ABI/testing/sysfs-bus-moxtet-devices
  F:    Documentation/ABI/testing/sysfs-firmware-turris-mox-rwtm
  F:    Documentation/devicetree/bindings/bus/moxtet.txt
  F:    Documentation/devicetree/bindings/firmware/cznic,turris-mox-rwtm.txt
  F:    Documentation/devicetree/bindings/gpio/gpio-moxtet.txt
 +F:    Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml
 +F:    Documentation/devicetree/bindings/watchdog/armada-37xx-wdt.txt
  F:    drivers/bus/moxtet.c
  F:    drivers/firmware/turris-mox-rwtm.c
 +F:    drivers/leds/leds-turris-omnia.c
 +F:    drivers/mailbox/armada-37xx-rwtm-mailbox.c
  F:    drivers/gpio/gpio-moxtet.c
 +F:    drivers/watchdog/armada_37xx_wdt.c
 +F:    include/dt-bindings/bus/moxtet.h
 +F:    include/linux/armada-37xx-rwtm-mailbox.h
  F:    include/linux/moxtet.h
  
  ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
@@@ -2223,15 -2194,6 +2223,15 @@@ F:    drivers/*/*npcm
  F:    drivers/*/*/*npcm*
  F:    include/dt-bindings/clock/nuvoton,npcm7xx-clock.h
  
 +ARM/NUVOTON WPCM450 ARCHITECTURE
 +M:    Jonathan Neuschäfer <j.neuschaefer@gmx.net>
 +L:    openbmc@lists.ozlabs.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/*/*wpcm*
 +F:    arch/arm/boot/dts/nuvoton-wpcm450*
 +F:    arch/arm/mach-npcm/wpcm450.c
 +F:    drivers/*/*wpcm*
 +
  ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
  L:    openmoko-kernel@lists.openmoko.org (subscribers-only)
  S:    Orphan
@@@ -2334,7 -2296,6 +2334,7 @@@ F:      drivers/tty/serial/msm_serial.
  F:    drivers/usb/dwc3/dwc3-qcom.c
  F:    include/dt-bindings/*/qcom*
  F:    include/linux/*/qcom*
 +F:    include/linux/soc/qcom/
  
  ARM/RADISYS ENP2611 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -2414,7 -2375,7 +2414,7 @@@ F:      sound/soc/rockchip
  N:    rockchip
  
  ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
@@@ -2670,10 -2631,8 +2670,10 @@@ F:    drivers/watchdog/visconti_wdt.
  N:    visconti
  
  ARM/UNIPHIER ARCHITECTURE
 +M:    Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
 +M:    Masami Hiramatsu <mhiramat@kernel.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Orphan
 +S:    Maintained
  F:    Documentation/devicetree/bindings/arm/socionext/uniphier.yaml
  F:    Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
  F:    Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
@@@ -2758,6 -2717,7 +2758,6 @@@ F:      Documentation/devicetree/bindings/i2
  F:    Documentation/devicetree/bindings/i2c/xlnx,xps-iic-2.00.a.yaml
  F:    Documentation/devicetree/bindings/spi/xlnx,zynq-qspi.yaml
  F:    arch/arm/mach-zynq/
 -F:    drivers/block/xsysace.c
  F:    drivers/clocksource/timer-cadence-ttc.c
  F:    drivers/cpuidle/cpuidle-zynq.c
  F:    drivers/edac/synopsys_edac.c
@@@ -2896,18 -2856,6 +2896,18 @@@ W:    http://www.openaoe.org
  F:    Documentation/admin-guide/aoe/
  F:    drivers/block/aoe/
  
 +ATC260X PMIC MFD DRIVER
 +M:    Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 +M:    Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
 +L:    linux-actions@lists.infradead.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mfd/actions,atc260x.yaml
 +F:    drivers/input/misc/atc260x-onkey.c
 +F:    drivers/mfd/atc260*
 +F:    drivers/power/reset/atc260x-poweroff.c
 +F:    drivers/regulator/atc260x-regulator.c
 +F:    include/linux/mfd/atc260x/*
 +
  ATHEROS 71XX/9XXX GPIO DRIVER
  M:    Alban Bedel <albeu@free.fr>
  S:    Maintained
@@@ -3031,11 -2979,9 +3031,11 @@@ L:    linux-audit@redhat.com (moderated fo
  S:    Supported
  W:    https://github.com/linux-audit
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
 +F:    include/asm-generic/audit_*.h
  F:    include/linux/audit.h
  F:    include/uapi/linux/audit.h
  F:    kernel/audit*
 +F:    lib/*audit.c
  
  AUXILIARY DISPLAY DRIVERS
  M:    Miguel Ojeda <ojeda@kernel.org>
@@@ -3287,7 -3233,6 +3287,7 @@@ T:      git git://git.kernel.org/pub/scm/lin
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
  F:    Documentation/bpf/
  F:    Documentation/networking/filter.rst
 +F:    Documentation/userspace-api/ebpf/
  F:    arch/*/net/*
  F:    include/linux/bpf*
  F:    include/linux/filter.h
@@@ -3302,7 -3247,6 +3302,7 @@@ F:      net/core/filter.
  F:    net/sched/act_bpf.c
  F:    net/sched/cls_bpf.c
  F:    samples/bpf/
 +F:    scripts/bpf_doc.py
  F:    tools/bpf/
  F:    tools/lib/bpf/
  F:    tools/testing/selftests/bpf/
@@@ -3425,7 -3369,7 +3425,7 @@@ F:      include/linux/dsa/brcm.
  F:    include/linux/platform_data/b53.h
  
  BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
 -M:    Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
 +M:    Nicolas Saenz Julienne <nsaenz@kernel.org>
  L:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -3614,14 -3558,6 +3614,14 @@@ S:    Supporte
  F:    Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml
  F:    drivers/i2c/busses/i2c-brcmstb.c
  
 +BROADCOM BRCMSTB UART DRIVER
 +M:    Al Cooper <alcooperx@gmail.com>
 +L:    linux-serial@vger.kernel.org
 +L:    bcm-kernel-feedback-list@broadcom.com
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml
 +F:    drivers/tty/serial/8250/8250_bcm7271.c
 +
  BROADCOM BRCMSTB USB EHCI DRIVER
  M:    Al Cooper <alcooperx@gmail.com>
  L:    linux-usb@vger.kernel.org
@@@ -3753,7 -3689,7 +3753,7 @@@ BROADCOM SPI DRIVE
  M:    Kamal Dasu <kdasu.kdev@gmail.com>
  M:    bcm-kernel-feedback-list@broadcom.com
  S:    Maintained
 -F:    Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.txt
 +F:    Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
  F:    drivers/spi/spi-bcm-qspi.*
  F:    drivers/spi/spi-brcmstb-qspi.c
  F:    drivers/spi/spi-iproc-qspi.c
@@@ -4245,20 -4181,13 +4245,20 @@@ X:   drivers/char/tpm
  CHECKPATCH
  M:    Andy Whitcroft <apw@canonical.com>
  M:    Joe Perches <joe@perches.com>
 +R:    Dwaipayan Ray <dwaipayanray1@gmail.com>
 +R:    Lukas Bulwahn <lukas.bulwahn@gmail.com>
  S:    Maintained
  F:    scripts/checkpatch.pl
  
 +CHECKPATCH DOCUMENTATION
 +M:    Dwaipayan Ray <dwaipayanray1@gmail.com>
 +M:    Lukas Bulwahn <lukas.bulwahn@gmail.com>
 +R:    Joe Perches <joe@perches.com>
 +S:    Maintained
 +F:    Documentation/dev-tools/checkpatch.rst
 +
  CHINESE DOCUMENTATION
 -M:    Harry Wei <harryxiyou@gmail.com>
 -M:    Alex Shi <alex.shi@linux.alibaba.com>
 -L:    xiyoulinuxkernelgroup@googlegroups.com (subscribers-only)
 +M:    Alex Shi <alexs@kernel.org>
  S:    Maintained
  F:    Documentation/translations/zh_CN/
  
@@@ -4491,12 -4420,6 +4491,12 @@@ S:    Supporte
  F:    Documentation/process/code-of-conduct-interpretation.rst
  F:    Documentation/process/code-of-conduct.rst
  
 +COMEDI DRIVERS
 +M:    Ian Abbott <abbotti@mev.co.uk>
 +M:    H Hartley Sweeten <hsweeten@visionengravers.com>
 +S:    Odd Fixes
 +F:    drivers/comedi/
 +
  COMMON CLK FRAMEWORK
  M:    Michael Turquette <mturquette@baylibre.com>
  M:    Stephen Boyd <sboyd@kernel.org>
@@@ -4662,6 -4585,11 +4662,11 @@@ F:    drivers/counter
  F:    include/linux/counter.h
  F:    include/linux/counter_enum.h
  
+ CP2615 I2C DRIVER
+ M:    Bence Csókás <bence98@sch.bme.hu>
+ S:    Maintained
+ F:    drivers/i2c/busses/i2c-cp2615.c
  CPMAC ETHERNET DRIVER
  M:    Florian Fainelli <f.fainelli@gmail.com>
  L:    netdev@vger.kernel.org
@@@ -4953,8 -4881,16 +4958,8 @@@ S:     Maintaine
  W:    http://www.armlinux.org.uk/
  F:    drivers/video/fbdev/cyber2000fb.*
  
 -CYCLADES ASYNC MUX DRIVER
 -S:    Orphan
 -W:    http://www.cyclades.com/
 -F:    drivers/tty/cyclades.c
 -F:    include/linux/cyclades.h
 -F:    include/uapi/linux/cyclades.h
 -
  CYCLADES PC300 DRIVER
  S:    Orphan
 -W:    http://www.cyclades.com/
  F:    drivers/net/wan/pc300*
  
  CYPRESS_FIRMWARE MEDIA DRIVER
@@@ -5103,19 -5039,19 +5108,19 @@@ F:   drivers/platform/x86/dell/dell_rbu.
  
  DELL SMBIOS DRIVER
  M:    Pali Rohár <pali@kernel.org>
 -M:    Mario Limonciello <mario.limonciello@dell.com>
 +L:    Dell.Client.Kernel@dell.com
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-smbios.*
  
  DELL SMBIOS SMM DRIVER
 -M:    Mario Limonciello <mario.limonciello@dell.com>
 +L:    Dell.Client.Kernel@dell.com
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-smbios-smm.c
  
  DELL SMBIOS WMI DRIVER
 -M:    Mario Limonciello <mario.limonciello@dell.com>
 +L:    Dell.Client.Kernel@dell.com
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-smbios-wmi.c
@@@ -5129,14 -5065,14 +5134,14 @@@ F:   Documentation/driver-api/dcdbas.rs
  F:    drivers/platform/x86/dell/dcdbas.*
  
  DELL WMI DESCRIPTOR DRIVER
 -M:    Mario Limonciello <mario.limonciello@dell.com>
 +L:    Dell.Client.Kernel@dell.com
  S:    Maintained
  F:    drivers/platform/x86/dell/dell-wmi-descriptor.c
  
  DELL WMI SYSMAN DRIVER
  M:    Divya Bharathi <divya.bharathi@dell.com>
 -M:    Mario Limonciello <mario.limonciello@dell.com>
  M:    Prasanth Ksr <prasanth.ksr@dell.com>
 +L:    Dell.Client.Kernel@dell.com
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-class-firmware-attributes
@@@ -5168,13 -5104,6 +5173,13 @@@ S:    Maintaine
  F:    drivers/dma/dw-edma/
  F:    include/linux/dma/edma.h
  
 +DESIGNWARE XDATA IP DRIVER
 +M:    Gustavo Pimentel <gustavo.pimentel@synopsys.com>
 +L:    linux-pci@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/misc-devices/dw-xdata-pcie.rst
 +F:    drivers/misc/dw-xdata-pcie.c
 +
  DESIGNWARE USB2 DRD IP DRIVER
  M:    Minas Harutyunyan <hminas@synopsys.com>
  L:    linux-usb@vger.kernel.org
@@@ -5245,12 -5174,6 +5250,12 @@@ M:    Torben Mathiasen <device@lanana.org
  S:    Maintained
  W:    http://lanana.org/docs/device-list/index.html
  
 +DEVICE RESOURCE MANAGEMENT HELPERS
 +M:    Hans de Goede <hdegoede@redhat.com>
 +R:    Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
 +S:    Maintained
 +F:    include/linux/devm-helpers.h
 +
  DEVICE-MAPPER  (LVM)
  M:    Alasdair Kergon <agk@redhat.com>
  M:    Mike Snitzer <snitzer@redhat.com>
@@@ -5460,7 -5383,7 +5465,7 @@@ F:      drivers/hwmon/dme1737.
  DMI/SMBIOS SUPPORT
  M:    Jean Delvare <jdelvare@suse.com>
  S:    Maintained
 -T:    quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging.git dmi-for-next
  F:    Documentation/ABI/testing/sysfs-firmware-dmi-tables
  F:    drivers/firmware/dmi-id.c
  F:    drivers/firmware/dmi_scan.c
@@@ -5486,12 -5409,6 +5491,12 @@@ X:    Documentation/power
  X:    Documentation/spi/
  X:    Documentation/userspace-api/media/
  
 +DOCUMENTATION REPORTING ISSUES
 +M:    Thorsten Leemhuis <linux@leemhuis.info>
 +L:    linux-doc@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/admin-guide/reporting-issues.rst
 +
  DOCUMENTATION SCRIPTS
  M:    Mauro Carvalho Chehab <mchehab@kernel.org>
  L:    linux-doc@vger.kernel.org
@@@ -5559,11 -5476,11 +5564,11 @@@ F:   drivers/net/ethernet/freescale/dpaa2
  F:    drivers/net/ethernet/freescale/dpaa2/dpni*
  
  DPAA2 ETHERNET SWITCH DRIVER
 -M:    Ioana Radulescu <ruxandra.radulescu@nxp.com>
  M:    Ioana Ciornei <ioana.ciornei@nxp.com>
 -L:    linux-kernel@vger.kernel.org
 +L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    drivers/staging/fsl-dpaa2/ethsw
 +F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-switch*
 +F:    drivers/net/ethernet/freescale/dpaa2/dpsw*
  
  DPT_I2O SCSI RAID DRIVER
  M:    Adaptec OEM Raid Solutions <aacraid@microsemi.com>
@@@ -5656,12 -5573,6 +5661,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/boe,himax8279d.yaml
  F:    drivers/gpu/drm/panel/panel-boe-himax8279d.c
  
 +DRM DRIVER FOR CHIPONE ICN6211 MIPI-DSI to RGB CONVERTER BRIDGE
 +M:    Jagan Teki <jagan@amarulasolutions.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml
 +F:    drivers/gpu/drm/bridge/chipone-icn6211.c
 +
  DRM DRIVER FOR FARADAY TVE200 TV ENCODER
  M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
@@@ -5680,14 -5591,6 +5685,14 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.yaml
  F:    drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
  
 +DRM DRIVER FOR GENERIC USB DISPLAY
 +M:    Noralf Trønnes <noralf@tronnes.org>
 +S:    Maintained
 +W:    https://github.com/notro/gud/wiki
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/gud/
 +F:    include/drm/gud.h
 +
  DRM DRIVER FOR GRAIN MEDIA GM12U320 PROJECTORS
  M:    Hans de Goede <hdegoede@redhat.com>
  S:    Maintained
@@@ -5881,7 -5784,7 +5886,7 @@@ DRM DRIVER FOR ST-ERICSSON MCD
  M:    Linus Walleij <linus.walleij@linaro.org>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/ste,mcde.txt
 +F:    Documentation/devicetree/bindings/display/ste,mcde.yaml
  F:    drivers/gpu/drm/mcde/
  
  DRM DRIVER FOR TDFX VIDEO CARDS
@@@ -5996,7 -5899,6 +6001,7 @@@ F:      drivers/gpu/drm/atmel-hlcdc
  DRM DRIVERS FOR BRIDGE CHIPS
  M:    Andrzej Hajda <a.hajda@samsung.com>
  M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Robert Foss <robert.foss@linaro.org>
  R:    Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
  R:    Jonas Karlman <jonas@kwiboo.se>
  R:    Jernej Skrabec <jernej.skrabec@siol.net>
@@@ -6066,7 -5968,6 +6071,7 @@@ DRM DRIVERS FOR MEDIATE
  M:    Chun-Kuang Hu <chunkuang.hu@kernel.org>
  M:    Philipp Zabel <p.zabel@pengutronix.de>
  L:    dri-devel@lists.freedesktop.org
 +L:    linux-mediatek@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
  F:    Documentation/devicetree/bindings/display/mediatek/
  F:    drivers/gpu/drm/mediatek/
@@@ -6092,9 -5993,9 +6097,9 @@@ L:      dri-devel@lists.freedesktop.or
  L:    linux-renesas-soc@vger.kernel.org
  S:    Supported
  T:    git git://linuxtv.org/pinchartl/media drm/du/next
 -F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
 +F:    Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml
  F:    Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
 -F:    Documentation/devicetree/bindings/display/renesas,du.txt
 +F:    Documentation/devicetree/bindings/display/renesas,du.yaml
  F:    drivers/gpu/drm/rcar-du/
  F:    drivers/gpu/drm/shmobile/
  F:    include/linux/platform_data/shmob_drm.h
@@@ -6156,7 -6057,7 +6161,7 @@@ DRM DRIVERS FOR V3
  M:    Eric Anholt <eric@anholt.net>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.txt
 +F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
  F:    drivers/gpu/drm/v3d/
  F:    include/uapi/drm/v3d_drm.h
  
@@@ -7094,7 -6995,6 +7099,7 @@@ S:      Maintaine
  F:    Documentation/ABI/testing/sysfs-bus-dfl*
  F:    Documentation/fpga/dfl.rst
  F:    drivers/fpga/dfl*
 +F:    drivers/uio/uio_dfl.c
  F:    include/linux/dfl.h
  F:    include/uapi/linux/fpga-dfl.h
  
@@@ -7194,7 -7094,7 +7199,7 @@@ S:      Maintaine
  F:    drivers/i2c/busses/i2c-cpm.c
  
  FREESCALE IMX / MXC FEC DRIVER
 -M:    Fugang Duan <fugang.duan@nxp.com>
 +M:    Joakim Zhang <qiangqing.zhang@nxp.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/fsl-fec.txt
@@@ -7235,6 -7135,13 +7240,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
  F:    drivers/i2c/busses/i2c-imx-lpi2c.c
  
+ FREESCALE MPC I2C DRIVER
+ M:    Chris Packham <chris.packham@alliedtelesis.co.nz>
+ L:    linux-i2c@vger.kernel.org
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
+ F:    drivers/i2c/busses/i2c-mpc.c
  FREESCALE QORIQ DPAA ETHERNET DRIVER
  M:    Madalin Bucur <madalin.bucur@nxp.com>
  L:    netdev@vger.kernel.org
@@@ -7264,7 -7171,6 +7276,7 @@@ FREESCALE QUAD SPI DRIVE
  M:    Han Xu <han.xu@nxp.com>
  L:    linux-spi@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/spi/fsl,spi-fsl-qspi.yaml
  F:    drivers/spi/spi-fsl-qspi.c
  
  FREESCALE QUICC ENGINE LIBRARY
@@@ -7300,7 -7206,7 +7312,7 @@@ M:      Li Yang <leoyang.li@nxp.com
  L:    linuxppc-dev@lists.ozlabs.org
  L:    linux-arm-kernel@lists.infradead.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/misc/fsl,dpaa2-console.txt
 +F:    Documentation/devicetree/bindings/misc/fsl,dpaa2-console.yaml
  F:    Documentation/devicetree/bindings/soc/fsl/
  F:    drivers/soc/fsl/
  F:    include/linux/fsl/
@@@ -7432,13 -7338,6 +7444,13 @@@ F:    fs/verity
  F:    include/linux/fsverity.h
  F:    include/uapi/linux/fsverity.h
  
 +FT260 FTDI USB-HID TO I2C BRIDGE DRIVER
 +M:    Michael Zaidman <michael.zaidman@gmail.com>
 +L:    linux-i2c@vger.kernel.org
 +L:    linux-input@vger.kernel.org
 +S:    Maintained
 +F:    drivers/hid/hid-ft260.c
 +
  FUJITSU LAPTOP EXTRAS
  M:    Jonathan Woithe <jwoithe@just42.net>
  L:    platform-driver-x86@vger.kernel.org
@@@ -7474,7 -7373,6 +7486,7 @@@ M:      Thomas Gleixner <tglx@linutronix.de
  M:    Ingo Molnar <mingo@redhat.com>
  R:    Peter Zijlstra <peterz@infradead.org>
  R:    Darren Hart <dvhart@infradead.org>
 +R:    Davidlohr Bueso <dave@stgolabs.net>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
@@@ -7497,6 -7395,14 +7509,6 @@@ F:     Documentation/hwmon/gsc-hwmon.rs
  F:    drivers/hwmon/gsc-hwmon.c
  F:    include/linux/platform_data/gsc_hwmon.h
  
 -GASKET DRIVER FRAMEWORK
 -M:    Rob Springer <rspringer@google.com>
 -M:    Todd Poynor <toddpoynor@google.com>
 -M:    Ben Chan <benchan@chromium.org>
 -M:    Richard Yeh <rcy@google.com>
 -S:    Maintained
 -F:    drivers/staging/gasket/
 -
  GCC PLUGINS
  M:    Kees Cook <keescook@chromium.org>
  L:    linux-hardening@vger.kernel.org
@@@ -7648,12 -7554,6 +7660,12 @@@ F:    Documentation/filesystems/gfs2
  F:    fs/gfs2/
  F:    include/uapi/linux/gfs2_ondisk.h
  
 +GIGABYTE WMI DRIVER
 +M:    Thomas Weißschuh <thomas@weissschuh.net>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/gigabyte-wmi.c
 +
  GNSS SUBSYSTEM
  M:    Johan Hovold <johan@kernel.org>
  S:    Maintained
@@@ -7962,7 -7862,6 +7974,7 @@@ F:      Documentation/hwmon
  F:    drivers/hwmon/
  F:    include/linux/hwmon*.h
  F:    include/trace/events/hwmon*.h
 +K:    (devm_)?hwmon_device_(un)?register(|_with_groups|_with_info)
  
  HARDWARE RANDOM NUMBER GENERATOR CORE
  M:    Matt Mackall <mpm@selenic.com>
@@@ -8004,11 -7903,6 +8016,11 @@@ W:    https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/usb/hdpvr/
  
 +HEWLETT PACKARD ENTERPRISE ILO CHIF DRIVER
 +M:    Matt Hsiao <matt.hsiao@hpe.com>
 +S:    Supported
 +F:    drivers/misc/hpilo.[ch]
 +
  HEWLETT PACKARD ENTERPRISE ILO NMI WATCHDOG DRIVER
  M:    Jerry Hoemann <jerry.hoemann@hpe.com>
  S:    Supported
@@@ -8157,6 -8051,13 +8169,13 @@@ F:    drivers/crypto/hisilicon/hpre/hpre.
  F:    drivers/crypto/hisilicon/hpre/hpre_crypto.c
  F:    drivers/crypto/hisilicon/hpre/hpre_main.c
  
+ HISILICON I2C CONTROLLER DRIVER
+ M:    Yicong Yang <yangyicong@hisilicon.com>
+ L:    linux-i2c@vger.kernel.org
+ S:    Maintained
+ W:    https://www.hisilicon.com
+ F:    drivers/i2c/busses/i2c-hisi.c
  HISILICON LPC BUS DRIVER
  M:    john.garry@huawei.com
  S:    Maintained
@@@ -8231,13 -8132,6 +8250,13 @@@ F:    drivers/crypto/hisilicon/sec2/sec_cr
  F:    drivers/crypto/hisilicon/sec2/sec_crypto.h
  F:    drivers/crypto/hisilicon/sec2/sec_main.c
  
 +HISILICON SPI Controller DRIVER FOR KUNPENG SOCS
 +M:    Jay Fang <f.fangjian@huawei.com>
 +L:    linux-spi@vger.kernel.org
 +S:    Maintained
 +W:    http://www.hisilicon.com
 +F:    drivers/spi/spi-hisi-kunpeng.c
 +
  HISILICON STAGING DRIVERS FOR HIKEY 960/970
  M:    Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  S:    Maintained
@@@ -8332,7 -8226,7 +8351,7 @@@ M:      Lorenzo Bianconi <lorenzo.bianconi83
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  W:    http://www.st.com/
 -F:    Documentation/devicetree/bindings/iio/humidity/hts221.txt
 +F:    Documentation/devicetree/bindings/iio/humidity/st,hts221.yaml
  F:    drivers/iio/humidity/hts221*
  
  HUAWEI ETHERNET DRIVER
@@@ -8381,12 -8275,11 +8400,12 @@@ S:   Maintaine
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/i2c/hi556.c
  
 -Hyper-V CORE AND DRIVERS
 +Hyper-V/Azure CORE AND DRIVERS
  M:    "K. Y. Srinivasan" <kys@microsoft.com>
  M:    Haiyang Zhang <haiyangz@microsoft.com>
  M:    Stephen Hemminger <sthemmin@microsoft.com>
  M:    Wei Liu <wei.liu@kernel.org>
 +M:    Dexuan Cui <decui@microsoft.com>
  L:    linux-hyperv@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
@@@ -8403,7 -8296,6 +8422,7 @@@ F:      drivers/hid/hid-hyperv.
  F:    drivers/hv/
  F:    drivers/input/serio/hyperv-keyboard.c
  F:    drivers/iommu/hyperv-iommu.c
 +F:    drivers/net/ethernet/microsoft/
  F:    drivers/net/hyperv/
  F:    drivers/pci/controller/pci-hyperv-intf.c
  F:    drivers/pci/controller/pci-hyperv.c
@@@ -8644,6 -8536,7 +8663,6 @@@ F:      drivers/pci/hotplug/rpaphp
  
  IBM Power SRIOV Virtual NIC Device Driver
  M:    Dany Madden <drt@linux.ibm.com>
 -M:    Lijun Pan <ljp@linux.ibm.com>
  M:    Sukadev Bhattiprolu <sukadev@linux.ibm.com>
  R:    Thomas Falcon <tlfalcon@linux.ibm.com>
  L:    netdev@vger.kernel.org
@@@ -8671,8 -8564,7 +8690,8 @@@ S:      Supporte
  F:    drivers/scsi/ibmvscsi/ibmvfc*
  
  IBM Power Virtual Management Channel Driver
 -M:    Steven Royer <seroyer@linux.ibm.com>
 +M:    Brad Warrum <bwarrum@linux.ibm.com>
 +M:    Ritu Agarwal <rituagar@linux.ibm.com>
  S:    Supported
  F:    drivers/misc/ibmvmc.*
  
@@@ -8730,8 -8622,9 +8749,8 @@@ F:      drivers/ide
  F:    include/linux/ide.h
  
  IDE/ATAPI DRIVERS
 -M:    Borislav Petkov <bp@alien8.de>
  L:    linux-ide@vger.kernel.org
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/cdrom/ide-cd.rst
  F:    drivers/ide/ide-cd*
  
@@@ -8799,7 -8692,7 +8818,7 @@@ M:      Peter Rosin <peda@axentia.se
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-iio-dac-dpot-dac
 -F:    Documentation/devicetree/bindings/iio/dac/dpot-dac.txt
 +F:    Documentation/devicetree/bindings/iio/dac/dpot-dac.yaml
  F:    drivers/iio/dac/dpot-dac.c
  
  IIO ENVELOPE DETECTOR
@@@ -8807,7 -8700,7 +8826,7 @@@ M:      Peter Rosin <peda@axentia.se
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  F:    Documentation/ABI/testing/sysfs-bus-iio-adc-envelope-detector
 -F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
 +F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.yaml
  F:    drivers/iio/adc/envelope-detector.c
  
  IIO MULTIPLEXER
@@@ -8817,15 -8710,10 +8836,15 @@@ S:   Maintaine
  F:    Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
  F:    drivers/iio/multiplexer/iio-mux.c
  
 +IIO SCMI BASED DRIVER
 +M:    Jyoti Bhayana <jbhayana@google.com>
 +L:    linux-iio@vger.kernel.org
 +S:    Maintained
 +F:    drivers/iio/common/scmi_sensors/scmi_iio.c
 +
  IIO SUBSYSTEM AND DRIVERS
  M:    Jonathan Cameron <jic23@kernel.org>
  R:    Lars-Peter Clausen <lars@metafoo.de>
 -R:    Peter Meerwald-Stadler <pmeerw@pmeerw.net>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
@@@ -8841,9 -8729,9 +8860,9 @@@ IIO UNIT CONVERTE
  M:    Peter Rosin <peda@axentia.se>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.txt
 -F:    Documentation/devicetree/bindings/iio/afe/current-sense-shunt.txt
 -F:    Documentation/devicetree/bindings/iio/afe/voltage-divider.txt
 +F:    Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml
 +F:    Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml
 +F:    Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
  F:    drivers/iio/afe/iio-rescale.c
  
  IKANOS/ADI EAGLE ADSL USB DRIVER
@@@ -9245,26 -9133,6 +9264,26 @@@ F:    include/linux/mei_cl_bus.
  F:    include/uapi/linux/mei.h
  F:    samples/mei/*
  
 +INTEL MAX 10 BMC MFD DRIVER
 +M:    Xu Yilun <yilun.xu@intel.com>
 +R:    Tom Rix <trix@redhat.com>
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-driver-intel-m10-bmc
 +F:    Documentation/hwmon/intel-m10-bmc-hwmon.rst
 +F:    drivers/hwmon/intel-m10-bmc-hwmon.c
 +F:    drivers/mfd/intel-m10-bmc.c
 +F:    include/linux/mfd/intel-m10-bmc.h
 +
 +INTEL MAX 10 BMC MFD DRIVER
 +M:    Xu Yilun <yilun.xu@intel.com>
 +R:    Tom Rix <trix@redhat.com>
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-driver-intel-m10-bmc
 +F:    Documentation/hwmon/intel-m10-bmc-hwmon.rst
 +F:    drivers/hwmon/intel-m10-bmc-hwmon.c
 +F:    drivers/mfd/intel-m10-bmc.c
 +F:    include/linux/mfd/intel-m10-bmc.h
 +
  INTEL MENLOW THERMAL DRIVER
  M:    Sujith Thomas <sujith.thomas@intel.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -9284,7 -9152,6 +9303,7 @@@ M:      Rajneesh Bhardwaj <irenic.rajneesh@g
  M:    David E Box <david.e.box@intel.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-platform-intel-pmc
  F:    drivers/platform/x86/intel_pmc_core*
  
  INTEL PMIC GPIO DRIVERS
@@@ -9395,7 -9262,7 +9414,7 @@@ W:      https://slimbootloader.github.io/sec
  F:    drivers/platform/x86/intel-wmi-sbl-fw-update.c
  
  INTEL WMI THUNDERBOLT FORCE POWER DRIVER
 -M:    Mario Limonciello <mario.limonciello@dell.com>
 +L:    Dell.Client.Kernel@dell.com
  S:    Maintained
  F:    drivers/platform/x86/intel-wmi-thunderbolt.c
  
@@@ -9425,7 -9292,6 +9444,7 @@@ Q:      https://patchwork.kernel.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/sgx
  F:    Documentation/x86/sgx.rst
  F:    arch/x86/entry/vdso/vsgx.S
 +F:    arch/x86/include/asm/sgx.h
  F:    arch/x86/include/uapi/asm/sgx.h
  F:    arch/x86/kernel/cpu/sgx/*
  F:    tools/testing/selftests/sgx/*
@@@ -9435,7 -9301,6 +9454,7 @@@ INTERCONNECT AP
  M:    Georgi Djakov <djakov@kernel.org>
  L:    linux-pm@vger.kernel.org
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc.git
  F:    Documentation/devicetree/bindings/interconnect/
  F:    Documentation/driver-api/interconnect.rst
  F:    drivers/interconnect/
@@@ -9443,13 -9308,6 +9462,13 @@@ F:    include/dt-bindings/interconnect
  F:    include/linux/interconnect-provider.h
  F:    include/linux/interconnect.h
  
 +INTERRUPT COUNTER DRIVER
 +M:    Oleksij Rempel <o.rempel@pengutronix.de>
 +R:    Pengutronix Kernel Team <kernel@pengutronix.de>
 +L:    linux-iio@vger.kernel.org
 +F:    Documentation/devicetree/bindings/counter/interrupt-counter.yaml
 +F:    drivers/counter/interrupt-cnt.c
 +
  INVENSENSE ICM-426xx IMU DRIVER
  M:    Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
  L:    linux-iio@vger.kernel.org
@@@ -9462,7 -9320,7 +9481,7 @@@ INVENSENSE MPU-3050 GYROSCOPE DRIVE
  M:    Linus Walleij <linus.walleij@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt
 +F:    Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml
  F:    drivers/iio/gyro/mpu3050*
  
  IOC3 ETHERNET DRIVER
@@@ -9851,7 -9709,6 +9870,7 @@@ F:      scripts/*vmlinux
  F:    scripts/Kbuild*
  F:    scripts/Makefile*
  F:    scripts/basic/
 +F:    scripts/dummy-tools/
  F:    scripts/mk*
  F:    scripts/mod/
  F:    scripts/package/
@@@ -9878,11 -9735,6 +9897,11 @@@ F:    include/uapi/linux/sunrpc
  F:    net/sunrpc/
  F:    Documentation/filesystems/nfs/
  
 +KERNEL REGRESSIONS
 +M:    Thorsten Leemhuis <linux@leemhuis.info>
 +L:    regressions@lists.linux.dev
 +S:    Supported
 +
  KERNEL SELFTEST FRAMEWORK
  M:    Shuah Khan <shuah@kernel.org>
  M:    Shuah Khan <skhan@linuxfoundation.org>
@@@ -10045,14 -9897,6 +10064,14 @@@ F:  include/keys/trusted-type.
  F:    include/keys/trusted_tpm.h
  F:    security/keys/trusted-keys/
  
 +KEYS-TRUSTED-TEE
 +M:    Sumit Garg <sumit.garg@linaro.org>
 +L:    linux-integrity@vger.kernel.org
 +L:    keyrings@vger.kernel.org
 +S:    Supported
 +F:    include/keys/trusted_tee.h
 +F:    security/keys/trusted-keys/trusted_tee.c
 +
  KEYS/KEYRINGS
  M:    David Howells <dhowells@redhat.com>
  M:    Jarkko Sakkinen <jarkko@kernel.org>
@@@ -10220,7 -10064,7 +10239,7 @@@ F:   drivers/misc/eeprom/eeprom.
  LEGO MINDSTORMS EV3
  R:    David Lechner <david@lechnology.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/power/supply/lego_ev3_battery.txt
 +F:    Documentation/devicetree/bindings/power/supply/lego,ev3-battery.yaml
  F:    arch/arm/boot/dts/da850-lego-ev3.dts
  F:    drivers/power/supply/lego_ev3_battery.c
  
@@@ -10633,12 -10477,6 +10652,12 @@@ S: Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
  F:    drivers/hid/hid-lg-g15.c
  
 +LONTIUM LT8912B MIPI TO HDMI BRIDGE
 +M:    Adrien Grassein <adrien.grassein@gmail.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/display/bridge/lontium,lt8912b.yaml
 +F:    drivers/gpu/drm/bridge/lontium-lt8912b.c
 +
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  M:    Sathya Prakash <sathya.prakash@broadcom.com>
  M:    Sreekanth Reddy <sreekanth.reddy@broadcom.com>
@@@ -10785,7 -10623,6 +10804,7 @@@ S:   Maintaine
  F:    drivers/mailbox/
  F:    include/linux/mailbox_client.h
  F:    include/linux/mailbox_controller.h
 +F:    Documentation/devicetree/bindings/mailbox/
  
  MAILBOX ARM MHUv2
  M:    Viresh Kumar <viresh.kumar@linaro.org>
@@@ -10871,7 -10708,6 +10890,7 @@@ F:   include/linux/mv643xx.
  
  MARVELL MV88X3310 PHY DRIVER
  M:    Russell King <linux@armlinux.org.uk>
 +M:    Marek Behun <marek.behun@nic.cz>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/phy/marvell10g.c
@@@ -10971,13 -10807,6 +10990,13 @@@ S: Orpha
  F:    drivers/video/fbdev/matrox/matroxfb_*
  F:    include/uapi/linux/matroxfb.h
  
 +MAX15301 DRIVER
 +M:    Daniel Nilsson <daniel.nilsson@flex.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/max15301.rst
 +F:    drivers/hwmon/pmbus/max15301.c
 +
  MAX16065 HARDWARE MONITOR DRIVER
  M:    Guenter Roeck <linux@roeck-us.net>
  L:    linux-hwmon@vger.kernel.org
@@@ -11057,7 -10886,7 +11076,7 @@@ F:   drivers/regulator/max77802-regulator
  F:    include/dt-bindings/*/*max77802.h
  
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    linux-pm@vger.kernel.org
  S:    Supported
@@@ -11066,7 -10895,7 +11085,7 @@@ F:   drivers/power/supply/max77693_charge
  
  MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS
  M:    Chanwoo Choi <cw00.choi@samsung.com>
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
@@@ -11094,7 -10923,7 +11113,7 @@@ T:   git git://linuxtv.org/media_tree.gi
  F:    drivers/media/radio/radio-maxiradio*
  
  MCAN MMIO DEVICE DRIVER
 -M:    Pankaj Sharma <pankj.sharma@samsung.com>
 +M:    Chandrasekar Ramakrishnan <rcsekar@samsung.com>
  L:    linux-can@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
@@@ -11292,12 -11121,12 +11311,12 @@@ F:        drivers/media/platform/renesas-ceu.
  F:    include/media/drv-intf/renesas-ceu.h
  
  MEDIA DRIVERS FOR RENESAS - DRIF
 -M:    Ramesh Shanmugasundaram <rashanmu@gmail.com>
 +M:    Fabrizio Castro <fabrizio.castro.jz@renesas.com>
  L:    linux-media@vger.kernel.org
  L:    linux-renesas-soc@vger.kernel.org
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/renesas,drif.txt
 +F:    Documentation/devicetree/bindings/media/renesas,drif.yaml
  F:    drivers/media/platform/rcar_drif.c
  
  MEDIA DRIVERS FOR RENESAS - FCP
@@@ -11466,7 -11295,7 +11485,7 @@@ F:   drivers/media/platform/mtk-vpu
  MEDIATEK MMC/SD/SDIO DRIVER
  M:    Chaotian Jing <chaotian.jing@mediatek.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/mmc/mtk-sd.txt
 +F:    Documentation/devicetree/bindings/mmc/mtk-sd.yaml
  F:    drivers/mmc/host/mtk-sd.c
  
  MEDIATEK MT76 WIRELESS LAN DRIVER
@@@ -11483,12 -11312,6 +11502,12 @@@ L: linux-wireless@vger.kernel.or
  S:    Maintained
  F:    drivers/net/wireless/mediatek/mt7601u/
  
 +MEDIATEK MT7621 CLOCK DRIVER
 +M:    Sergio Paracuellos <sergio.paracuellos@gmail.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/clock/mediatek,mt7621-sysc.yaml
 +F:    drivers/clk/ralink/clk-mt7621.c
 +
  MEDIATEK MT7621/28/88 I2C DRIVER
  M:    Stefan Roese <sr@denx.de>
  L:    linux-i2c@vger.kernel.org
@@@ -11631,8 -11454,8 +11650,8 @@@ Q:   https://patchwork.kernel.org/project
  F:    drivers/net/ethernet/mellanox/mlxfw/
  
  MELLANOX HARDWARE PLATFORM SUPPORT
 -M:    Andy Shevchenko <andy@infradead.org>
 -M:    Darren Hart <dvhart@infradead.org>
 +M:    Hans de Goede <hdegoede@redhat.com>
 +M:    Mark Gross <mgross@linux.intel.com>
  M:    Vadim Pasternak <vadimp@nvidia.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Supported
@@@ -11723,7 -11546,7 +11742,7 @@@ F:   include/linux/memblock.
  F:    mm/memblock.c
  
  MEMORY CONTROLLER DRIVERS
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git
@@@ -11991,7 -11814,7 +12010,7 @@@ MICROCHIP SAMA5D2-COMPATIBLE ADC DRIVE
  M:    Eugen Hristev <eugen.hristev@microchip.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
 -F:    Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt
 +F:    Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml
  F:    drivers/iio/adc/at91-sama5d2_adc.c
  F:    include/dt-bindings/iio/adc/at91-sama5d2_adc.h
  
@@@ -12055,22 -11878,6 +12074,22 @@@ F: drivers/scsi/smartpqi/smartpqi*.[ch
  F:    include/linux/cciss*.h
  F:    include/uapi/linux/cciss*.h
  
 +MICROSOFT SURFACE BATTERY AND AC DRIVERS
 +M:    Maximilian Luz <luzmaximilian@gmail.com>
 +L:    linux-pm@vger.kernel.org
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/power/supply/surface_battery.c
 +F:    drivers/power/supply/surface_charger.c
 +
 +MICROSOFT SURFACE DTX DRIVER
 +M:    Maximilian Luz <luzmaximilian@gmail.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/driver-api/surface_aggregator/clients/dtx.rst
 +F:    drivers/platform/surface/surface_dtx.c
 +F:    include/uapi/linux/surface_aggregator/dtx.h
 +
  MICROSOFT SURFACE GPE LID SUPPORT DRIVER
  M:    Maximilian Luz <luzmaximilian@gmail.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -12086,25 -11893,12 +12105,25 @@@ S:        Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
  F:    drivers/platform/surface/
  
 +MICROSOFT SURFACE HID TRANSPORT DRIVER
 +M:    Maximilian Luz <luzmaximilian@gmail.com>
 +L:    linux-input@vger.kernel.org
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/hid/surface-hid/
 +
  MICROSOFT SURFACE HOT-PLUG DRIVER
  M:    Maximilian Luz <luzmaximilian@gmail.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/surface/surface_hotplug.c
  
 +MICROSOFT SURFACE PLATFORM PROFILE DRIVER
 +M:    Maximilian Luz <luzmaximilian@gmail.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/surface/surface_platform_profile.c
 +
  MICROSOFT SURFACE PRO 3 BUTTON DRIVER
  M:    Chen Yu <yu.c.chen@intel.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -12120,7 -11914,6 +12139,7 @@@ F:   Documentation/driver-api/surface_agg
  F:    drivers/platform/surface/aggregator/
  F:    drivers/platform/surface/surface_acpi_notify.c
  F:    drivers/platform/surface/surface_aggregator_cdev.c
 +F:    drivers/platform/surface/surface_aggregator_registry.c
  F:    include/linux/surface_acpi_notify.h
  F:    include/linux/surface_aggregator/
  F:    include/uapi/linux/surface_aggregator/
@@@ -12312,7 -12105,8 +12331,7 @@@ F:   drivers/media/pci/meye
  F:    include/uapi/linux/meye.h
  
  MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 -M:    Jiri Slaby <jirislaby@kernel.org>
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/driver-api/serial/moxa-smartio.rst
  F:    drivers/tty/mxser.*
  
@@@ -12456,6 -12250,11 +12475,6 @@@ F:  drivers/mux
  F:    include/dt-bindings/mux/
  F:    include/linux/mux/
  
 -MULTITECH MULTIPORT CARD (ISICOM)
 -S:    Orphan
 -F:    drivers/tty/isicom.c
 -F:    include/linux/isicom.h
 -
  MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
  M:    Bin Liu <b-liu@ti.com>
  L:    linux-usb@vger.kernel.org
@@@ -12484,7 -12283,7 +12503,7 @@@ M:   Stefan Agner <stefan@agner.ch
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/mxsfb.txt
 +F:    Documentation/devicetree/bindings/display/fsl,lcdif.yaml
  F:    drivers/gpu/drm/mxsfb/
  
  MYLEX DAC960 PCI RAID Controller
@@@ -12603,15 -12402,6 +12622,15 @@@ F: include/net/netrom.
  F:    include/uapi/linux/netrom.h
  F:    net/netrom/
  
 +NETRONIX EMBEDDED CONTROLLER
 +M:    Jonathan Neuschäfer <j.neuschaefer@gmx.net>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/mfd/netronix,ntxec.yaml
 +F:    drivers/mfd/ntxec.c
 +F:    drivers/pwm/pwm-ntxec.c
 +F:    drivers/rtc/rtc-ntxec.c
 +F:    include/linux/mfd/ntxec.h
 +
  NETRONOME ETHERNET DRIVERS
  M:    Simon Horman <simon.horman@netronome.com>
  R:    Jakub Kicinski <kuba@kernel.org>
@@@ -12770,7 -12560,6 +12789,7 @@@ W:   https://github.com/multipath-tcp/mpt
  B:    https://github.com/multipath-tcp/mptcp_net-next/issues
  F:    Documentation/networking/mptcp-sysctl.rst
  F:    include/net/mptcp.h
 +F:    include/trace/events/mptcp.h
  F:    include/uapi/linux/mptcp.h
  F:    net/mptcp/
  F:    tools/testing/selftests/net/mptcp/
@@@ -13055,12 -12844,6 +13074,12 @@@ F: drivers/nvmem
  F:    include/linux/nvmem-consumer.h
  F:    include/linux/nvmem-provider.h
  
 +NXP C45 TJA11XX PHY DRIVER
 +M:    Radu Pirea <radu-nicolae.pirea@oss.nxp.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/phy/nxp-c45-tja11xx.c
 +
  NXP FSPI DRIVER
  M:    Ashish Kumar <ashish.kumar@nxp.com>
  R:    Yogesh Gaur <yogeshgaur.83@gmail.com>
@@@ -13101,7 -12884,7 +13120,7 @@@ F:   Documentation/devicetree/bindings/re
  F:    drivers/regulator/pf8x00-regulator.c
  
  NXP PTN5150A CC LOGIC AND EXTCON DRIVER
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/extcon/extcon-ptn5150.yaml
@@@ -13144,21 -12927,6 +13163,21 @@@ L: linux-nfc@lists.01.org (moderated fo
  S:    Supported
  F:    drivers/nfc/nxp-nci
  
 +NXP i.MX 8QXP/8QM JPEG V4L2 DRIVER
 +M:    Mirela Rabulea <mirela.rabulea@nxp.com>
 +R:    NXP Linux Team <linux-imx@nxp.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/imx8-jpeg.yaml
 +F:    drivers/media/platform/imx-jpeg
 +
 +NZXT-KRAKEN2 HARDWARE MONITORING DRIVER
 +M:    Jonas Malaco <jonas@protocubo.io>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/nzxt-kraken2.rst
 +F:    drivers/hwmon/nzxt-kraken2.c
 +
  OBJAGG
  M:    Jiri Pirko <jiri@nvidia.com>
  L:    netdev@vger.kernel.org
@@@ -13433,7 -13201,7 +13452,7 @@@ M:   Rui Miguel Silva <rmfrfs@gmail.com
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/i2c/ov2680.yaml
 +F:    Documentation/devicetree/bindings/media/i2c/ovti,ov2680.yaml
  F:    drivers/media/i2c/ov2680.c
  
  OMNIVISION OV2685 SENSOR DRIVER
@@@ -14407,7 -14175,7 +14426,7 @@@ F:   drivers/pinctrl/renesas
  
  PIN CONTROLLER - SAMSUNG
  M:    Tomasz Figa <tomasz.figa@gmail.com>
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-samsung-soc@vger.kernel.org
@@@ -14528,7 -14296,7 +14547,7 @@@ PNI RM3100 IIO DRIVE
  M:    Song Qiang <songqiang1304521@gmail.com>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.txt
 +F:    Documentation/devicetree/bindings/iio/magnetometer/pni,rm3100.yaml
  F:    drivers/iio/magnetometer/rm3100*
  
  PNP SUPPORT
@@@ -14563,15 -14331,6 +14582,15 @@@ F: include/linux/pm_
  F:    include/linux/powercap.h
  F:    kernel/configs/nopm.config
  
 +DYNAMIC THERMAL POWER MANAGEMENT (DTPM)
 +M:    Daniel Lezcano <daniel.lezcano@kernel.org>
 +L:    linux-pm@vger.kernel.org
 +S:    Supported
 +B:    https://bugzilla.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
 +F:    drivers/powercap/dtpm*
 +F:    include/linux/dtpm.h
 +
  POWER STATE COORDINATION INTERFACE (PSCI)
  M:    Mark Rutland <mark.rutland@arm.com>
  M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
@@@ -14649,7 -14408,7 +14668,7 @@@ F:   kernel/sched/psi.
  
  PRINTK
  M:    Petr Mladek <pmladek@suse.com>
 -M:    Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
 +M:    Sergey Senozhatsky <senozhatsky@chromium.org>
  R:    Steven Rostedt <rostedt@goodmis.org>
  R:    John Ogness <john.ogness@linutronix.de>
  S:    Maintained
@@@ -15041,7 -14800,7 +15060,7 @@@ M:   Todor Tomov <todor.too@gmail.com
  L:    linux-media@vger.kernel.org
  S:    Maintained
  F:    Documentation/admin-guide/media/qcom_camss.rst
 -F:    Documentation/devicetree/bindings/media/qcom,camss.txt
 +F:    Documentation/devicetree/bindings/media/*camss*
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
@@@ -15110,14 -14869,6 +15129,14 @@@ L: linux-arm-msm@vger.kernel.or
  S:    Maintained
  F:    drivers/iommu/arm/arm-smmu/qcom_iommu.c
  
 +QUALCOMM IPC ROUTER (QRTR) DRIVER
 +M:    Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 +L:    linux-arm-msm@vger.kernel.org
 +S:    Maintained
 +F:    include/trace/events/qrtr.h
 +F:    include/uapi/linux/qrtr.h
 +F:    net/qrtr/
 +
  QUALCOMM IPCC MAILBOX DRIVER
  M:    Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  L:    linux-arm-msm@vger.kernel.org
@@@ -15340,7 -15091,7 +15359,7 @@@ M:   Laurent Pinchart <laurent.pinchart+r
  M:    Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/media/i2c/rdacm2x-gmsl.yaml
 +F:    Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
  F:    drivers/media/i2c/max9271.c
  F:    drivers/media/i2c/max9271.h
  F:    drivers/media/i2c/rdacm21.c
@@@ -15467,7 -15218,6 +15486,7 @@@ F:   fs/reiserfs
  REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
  M:    Ohad Ben-Cohen <ohad@wizery.com>
  M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Mathieu Poirier <mathieu.poirier@linaro.org>
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rproc-next
@@@ -15481,7 -15231,6 +15500,7 @@@ F:   include/linux/remoteproc
  REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
  M:    Ohad Ben-Cohen <ohad@wizery.com>
  M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Mathieu Poirier <mathieu.poirier@linaro.org>
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rpmsg-next
@@@ -15519,7 -15268,7 +15538,7 @@@ RENESAS R-CAR GYROADC DRIVE
  M:    Marek Vasut <marek.vasut@gmail.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
 -F:    Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
 +F:    Documentation/devicetree/bindings/iio/adc/renesas,rcar-gyroadc.yaml
  F:    drivers/iio/adc/rcar-gyroadc.c
  
  RENESAS R-CAR I2C DRIVERS
@@@ -15623,8 -15372,8 +15642,8 @@@ N:   risc
  K:    riscv
  
  RNBD BLOCK DRIVERS
 -M:    Danil Kipnis <danil.kipnis@cloud.ionos.com>
 -M:    Jack Wang <jinpu.wang@cloud.ionos.com>
 +M:    Md. Haris Iqbal <haris.iqbal@ionos.com>
 +M:    Jack Wang <jinpu.wang@ionos.com>
  L:    linux-block@vger.kernel.org
  S:    Maintained
  F:    drivers/block/rnbd/
@@@ -15672,6 -15421,12 +15691,6 @@@ L:  netdev@vger.kernel.or
  S:    Supported
  F:    drivers/net/ethernet/rocker/
  
 -ROCKETPORT DRIVER
 -S:    Maintained
 -W:    http://www.comtrol.com
 -F:    Documentation/driver-api/serial/rocket.rst
 -F:    drivers/tty/rocket*
 -
  ROCKETPORT EXPRESS/INFINITY DRIVER
  M:    Kevin Cernekee <cernekee@gmail.com>
  L:    linux-serial@vger.kernel.org
@@@ -15710,27 -15465,20 +15729,27 @@@ F:        Documentation/devicetree/bindings/mf
  F:    Documentation/devicetree/bindings/regulator/rohm,bd70528-regulator.txt
  F:    drivers/clk/clk-bd718x7.c
  F:    drivers/gpio/gpio-bd70528.c
 +F:    drivers/gpio/gpio-bd71815.c
  F:    drivers/gpio/gpio-bd71828.c
  F:    drivers/mfd/rohm-bd70528.c
  F:    drivers/mfd/rohm-bd71828.c
  F:    drivers/mfd/rohm-bd718x7.c
 +F:    drivers/mfd/rohm-bd9576.c
  F:    drivers/power/supply/bd70528-charger.c
  F:    drivers/regulator/bd70528-regulator.c
 +F:    drivers/regulator/bd71815-regulator.c
  F:    drivers/regulator/bd71828-regulator.c
  F:    drivers/regulator/bd718x7-regulator.c
 +F:    drivers/regulator/bd9576-regulator.c
  F:    drivers/regulator/rohm-regulator.c
  F:    drivers/rtc/rtc-bd70528.c
  F:    drivers/watchdog/bd70528_wdt.c
 +F:    drivers/watchdog/bd9576_wdt.c
  F:    include/linux/mfd/rohm-bd70528.h
 +F:    include/linux/mfd/rohm-bd71815.h
  F:    include/linux/mfd/rohm-bd71828.h
  F:    include/linux/mfd/rohm-bd718x7.h
 +F:    include/linux/mfd/rohm-bd957x.h
  F:    include/linux/mfd/rohm-generic.h
  F:    include/linux/mfd/rohm-shared.h
  
@@@ -15945,13 -15693,6 +15964,13 @@@ S: Supporte
  W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/scsi/zfcp_*
  
 +S3C ADC BATTERY DRIVER
 +M:    Krzysztof Kozlowski <krzk@kernel.org>
 +L:    linux-samsung-soc@vger.kernel.org
 +S:    Odd Fixes
 +F:    drivers/power/supply/s3c_adc_battery.c
 +F:    include/linux/s3c_adc_battery.h
 +
  S3C24XX SD/MMC Driver
  M:    Ben Dooks <ben-linux@fluff.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -15991,7 -15732,7 +16010,7 @@@ F:   Documentation/admin-guide/LSM/SafeSe
  F:    security/safesetid/
  
  SAMSUNG AUDIO (ASoC) DRIVERS
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
@@@ -15999,7 -15740,7 +16018,7 @@@ F:   Documentation/devicetree/bindings/so
  F:    sound/soc/samsung/
  
  SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  L:    linux-crypto@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
@@@ -16034,7 -15775,7 +16053,7 @@@ S:   Maintaine
  F:    drivers/platform/x86/samsung-laptop.c
  
  SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    linux-kernel@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
@@@ -16059,7 -15800,7 +16078,7 @@@ F:   drivers/media/platform/s3c-camif
  F:    include/media/drv-intf/s3c_camif.h
  
  SAMSUNG S3FWRN5 NFC DRIVER
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Krzysztof Opasiak <k.opasiak@samsung.com>
  L:    linux-nfc@lists.01.org (moderated for non-subscribers)
  S:    Maintained
@@@ -16079,7 -15820,7 +16098,7 @@@ S:   Supporte
  F:    drivers/media/i2c/s5k5baf.c
  
  SAMSUNG S5P Security SubSystem (SSS) DRIVER
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Vladimir Zapolskiy <vz@mleia.com>
  L:    linux-crypto@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
@@@ -16111,7 -15852,7 +16130,7 @@@ F:   include/linux/clk/samsung.
  F:    include/linux/platform_data/clk-s3c2410.h
  
  SAMSUNG SPI DRIVERS
 -M:    Krzysztof Kozlowski <krzk@kernel.org>
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
  M:    Andi Shyti <andi@etezian.org>
  L:    linux-spi@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
@@@ -16874,13 -16615,6 +16893,13 @@@ F: drivers/firmware/arm_sdei.
  F:    include/linux/arm_sdei.h
  F:    include/uapi/linux/arm_sdei.h
  
 +SOFTWARE NODES
 +R:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +R:    Heikki Krogerus <heikki.krogerus@linux.intel.com>
 +L:    linux-acpi@vger.kernel.org
 +S:    Maintained
 +F:    drivers/base/swnode.c
 +
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Song Liu <song@kernel.org>
  L:    linux-raid@vger.kernel.org
@@@ -17143,8 -16877,6 +17162,8 @@@ F:   arch/arm/mach-spear
  
  SPI NOR SUBSYSTEM
  M:    Tudor Ambarus <tudor.ambarus@microchip.com>
 +R:    Michael Walle <michael@walle.cc>
 +R:    Pratyush Yadav <p.yadav@ti.com>
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
  W:    http://www.linux-mtd.infradead.org/
@@@ -17214,7 -16946,7 +17233,7 @@@ M:   Lorenzo Bianconi <lorenzo.bianconi83
  L:    linux-iio@vger.kernel.org
  S:    Maintained
  W:    http://www.st.com/
 -F:    Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
 +F:    Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
  F:    drivers/iio/imu/st_lsm6dsx/
  
  ST MIPID02 CSI-2 TO PARALLEL BRIDGE DRIVER
@@@ -17232,18 -16964,11 +17251,18 @@@ L:        linux-i2c@vger.kernel.or
  S:    Maintained
  F:    drivers/i2c/busses/i2c-stm32*
  
 +ST STPDDC60 DRIVER
 +M:    Daniel Nilsson <daniel.nilsson@flex.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/stpddc60.rst
 +F:    drivers/hwmon/pmbus/stpddc60.c
 +
  ST VL53L0X ToF RANGER(I2C) IIO DRIVER
  M:    Song Qiang <songqiang1304521@gmail.com>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/proximity/vl53l0x.txt
 +F:    Documentation/devicetree/bindings/iio/proximity/st,vl53l0x.yaml
  F:    drivers/iio/proximity/vl53l0x-i2c.c
  
  STABLE BRANCH
@@@ -17260,6 -16985,12 +17279,6 @@@ L:  linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/media/atomisp/
  
 -STAGING - COMEDI
 -M:    Ian Abbott <abbotti@mev.co.uk>
 -M:    H Hartley Sweeten <hsweeten@visionengravers.com>
 -S:    Odd Fixes
 -F:    drivers/staging/comedi/
 -
  STAGING - FIELDBUS SUBSYSTEM
  M:    Sven Van Asbroeck <TheSven73@gmail.com>
  S:    Maintained
@@@ -17557,7 -17288,7 +17576,7 @@@ F:   drivers/spi/spi-dw
  SYNOPSYS DESIGNWARE AXI DMAC DRIVER
  M:    Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.txt
 +F:    Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
  F:    drivers/dma/dw-axi-dmac/
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
@@@ -17973,7 -17704,7 +17992,7 @@@ TEXAS INSTRUMENTS' DAC7612 DAC DRIVE
  M:    Ricardo Ribalda <ribalda@kernel.org>
  L:    linux-iio@vger.kernel.org
  S:    Supported
 -F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.txt
 +F:    Documentation/devicetree/bindings/iio/dac/ti,dac7612.yaml
  F:    drivers/iio/dac/ti-dac7612.c
  
  TEXAS INSTRUMENTS DMA DRIVERS
@@@ -18115,13 -17846,6 +18134,13 @@@ M: Robert Richter <rric@kernel.org
  S:    Odd Fixes
  F:    drivers/gpio/gpio-thunderx.c
  
 +TI ADS131E0X ADC SERIES DRIVER
 +M:    Tomislav Denis <tomislav.denis@avl.com>
 +L:    linux-iio@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/adc/ti,ads131e08.yaml
 +F:    drivers/iio/adc/ti-ads131e08.c
 +
  TI AM437X VPFE DRIVER
  M:    "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -18230,6 -17954,29 +18249,6 @@@ S:  Maintaine
  F:    sound/soc/codecs/isabelle*
  F:    sound/soc/codecs/lm49453*
  
 -TI LP855x BACKLIGHT DRIVER
 -M:    Milo Kim <milo.kim@ti.com>
 -S:    Maintained
 -F:    Documentation/driver-api/backlight/lp855x-driver.rst
 -F:    drivers/video/backlight/lp855x_bl.c
 -F:    include/linux/platform_data/lp855x.h
 -
 -TI LP8727 CHARGER DRIVER
 -M:    Milo Kim <milo.kim@ti.com>
 -S:    Maintained
 -F:    drivers/power/supply/lp8727_charger.c
 -F:    include/linux/platform_data/lp8727.h
 -
 -TI LP8788 MFD DRIVER
 -M:    Milo Kim <milo.kim@ti.com>
 -S:    Maintained
 -F:    drivers/iio/adc/lp8788_adc.c
 -F:    drivers/leds/leds-lp8788.c
 -F:    drivers/mfd/lp8788*.c
 -F:    drivers/power/supply/lp8788-charger.c
 -F:    drivers/regulator/lp8788-*.c
 -F:    include/linux/mfd/lp8788*.h
 -
  TI NETCP ETHERNET DRIVER
  M:    Wingman Kwok <w-kwok2@ti.com>
  M:    Murali Karicheri <m-karicheri2@ti.com>
@@@ -18250,6 -17997,12 +18269,6 @@@ L:  alsa-devel@alsa-project.org (moderat
  S:    Odd Fixes
  F:    sound/soc/codecs/tas571x*
  
 -TI TCAN4X5X DEVICE DRIVER
 -L:    linux-can@vger.kernel.org
 -S:    Maintained
 -F:    Documentation/devicetree/bindings/net/can/tcan4x5x.txt
 -F:    drivers/net/can/m_can/tcan4x5x*
 -
  TI TRF7970A NFC DRIVER
  M:    Mark Greer <mgreer@animalcreek.com>
  L:    linux-wireless@vger.kernel.org
@@@ -19349,15 -19102,6 +19368,15 @@@ W: https://virtio-mem.gitlab.io
  F:    drivers/virtio/virtio_mem.c
  F:    include/uapi/linux/virtio_mem.h
  
 +VIRTIO SOUND DRIVER
 +M:    Anton Yakovlev <anton.yakovlev@opensynergy.com>
 +M:    "Michael S. Tsirkin" <mst@redhat.com>
 +L:    virtualization@lists.linux-foundation.org
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    include/uapi/linux/virtio_snd.h
 +F:    sound/virtio/*
 +
  VIRTUAL BOX GUEST DEVICE DRIVER
  M:    Hans de Goede <hdegoede@redhat.com>
  M:    Arnd Bergmann <arnd@arndb.de>
@@@ -19496,7 -19240,7 +19515,7 @@@ F:   drivers/net/vrf.
  VSPRINTF
  M:    Petr Mladek <pmladek@suse.com>
  M:    Steven Rostedt <rostedt@goodmis.org>
 -M:    Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
 +M:    Sergey Senozhatsky <senozhatsky@chromium.org>
  R:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  R:    Rasmus Villemoes <linux@rasmusvillemoes.dk>
  S:    Maintained
@@@ -19650,6 -19394,7 +19669,6 @@@ F:   Documentation/devicetree/bindings/so
  F:    Documentation/hwmon/wm83??.rst
  F:    arch/arm/mach-s3c/mach-crag6410*
  F:    drivers/clk/clk-wm83*.c
 -F:    drivers/extcon/extcon-arizona.c
  F:    drivers/gpio/gpio-*wm*.c
  F:    drivers/gpio/gpio-arizona.c
  F:    drivers/hwmon/wm83??-hwmon.c
@@@ -19673,7 -19418,7 +19692,7 @@@ F:   include/linux/mfd/wm8400
  F:    include/linux/regulator/arizona*
  F:    include/linux/wm97xx.h
  F:    include/sound/wm????.h
 -F:    sound/soc/codecs/arizona.?
 +F:    sound/soc/codecs/arizona*
  F:    sound/soc/codecs/cs47l24*
  F:    sound/soc/codecs/wm*
  
@@@ -20146,7 -19891,7 +20165,7 @@@ F:   drivers/staging/media/zoran
  ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
  M:    Minchan Kim <minchan@kernel.org>
  M:    Nitin Gupta <ngupta@vflare.org>
 -R:    Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
 +R:    Sergey Senozhatsky <senozhatsky@chromium.org>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
  F:    Documentation/admin-guide/blockdev/zram.rst
@@@ -20160,7 -19905,7 +20179,7 @@@ F:   drivers/tty/serial/zs.
  ZSMALLOC COMPRESSED SLAB MEMORY ALLOCATOR
  M:    Minchan Kim <minchan@kernel.org>
  M:    Nitin Gupta <ngupta@vflare.org>
 -R:    Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
 +R:    Sergey Senozhatsky <senozhatsky@chromium.org>
  L:    linux-mm@kvack.org
  S:    Maintained
  F:    Documentation/vm/zsmalloc.rst
@@@ -369,7 -369,7 +369,7 @@@ comment "I2C system bus drivers (mostl
  
  config I2C_ALTERA
        tristate "Altera Soft IP I2C"
 -      depends on ARCH_SOCFPGA || NIOS2 || COMPILE_TEST
 +      depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
        depends on OF
        help
          If you say yes to this option, support will be included for the
@@@ -645,6 -645,16 +645,16 @@@ config I2C_HIGHLANDE
          This driver can also be built as a module.  If so, the module
          will be called i2c-highlander.
  
+ config I2C_HISI
+       tristate "HiSilicon I2C controller"
+       depends on ARM64 || COMPILE_TEST
+       help
+         Say Y here if you want to have Hisilicon I2C controller support
+         available on the Kunpeng Server.
+         This driver can also be built as a module. If so, the module
+         will be called i2c-hisi.
  config I2C_IBM_IIC
        tristate "IBM PPC 4xx on-chip I2C interface"
        depends on 4xx
@@@ -776,7 -786,7 +786,7 @@@ config I2C_MT762
  
  config I2C_MV64XXX
        tristate "Marvell mv64xxx I2C Controller"
 -      depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
 +      depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
        help
          If you say yes to this option, support will be included for the
          built-in I2C interface on the Marvell 64xxx line of host bridges.
@@@ -1199,6 -1209,16 +1209,16 @@@ config I2C_DLN
         This driver can also be built as a module.  If so, the module
         will be called i2c-dln2.
  
+ config I2C_CP2615
+       tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
+       depends on USB
+       help
+         If you say yes to this option, support will be included for Silicon
+         Labs CP2615's I2C interface.
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-cp2615.
  config I2C_PARPORT
        tristate "Parallel port adapter"
        depends on PARPORT
  
  #include "i2c-designware-core.h"
  
+ #define AMD_TIMEOUT_MIN_US    25
+ #define AMD_TIMEOUT_MAX_US    250
+ #define AMD_MASTERCFG_MASK    GENMASK(15, 0)
  static void i2c_dw_configure_fifo_master(struct dw_i2c_dev *dev)
  {
        /* Configure Tx/Rx FIFO threshold levels */
  
  static int i2c_dw_set_timings_master(struct dw_i2c_dev *dev)
  {
-       const char *mode_str, *fp_str = "";
        u32 comp_param1;
        u32 sda_falling_time, scl_falling_time;
        struct i2c_timings *t = &dev->timings;
+       const char *fp_str = "";
        u32 ic_clk;
        int ret;
  
@@@ -78,7 -82,7 +82,7 @@@
         * difference is the timing parameter values since the registers are
         * the same.
         */
-       if (t->bus_freq_hz == 1000000) {
+       if (t->bus_freq_hz == I2C_MAX_FAST_MODE_PLUS_FREQ) {
                /*
                 * Check are Fast Mode Plus parameters available. Calculate
                 * SCL timing parameters for Fast Mode Plus if not set.
                if ((comp_param1 & DW_IC_COMP_PARAM_1_SPEED_MODE_MASK)
                        != DW_IC_COMP_PARAM_1_SPEED_MODE_HIGH) {
                        dev_err(dev->dev, "High Speed not supported!\n");
 +                      t->bus_freq_hz = I2C_MAX_FAST_MODE_FREQ;
                        dev->master_cfg &= ~DW_IC_CON_SPEED_MASK;
                        dev->master_cfg |= DW_IC_CON_SPEED_FAST;
                        dev->hs_hcnt = 0;
  
        ret = i2c_dw_set_sda_hold(dev);
        if (ret)
-               goto out;
-       switch (dev->master_cfg & DW_IC_CON_SPEED_MASK) {
-       case DW_IC_CON_SPEED_STD:
-               mode_str = "Standard Mode";
-               break;
-       case DW_IC_CON_SPEED_HIGH:
-               mode_str = "High Speed Mode";
-               break;
-       default:
-               mode_str = "Fast Mode";
-       }
-       dev_dbg(dev->dev, "Bus speed: %s%s\n", mode_str, fp_str);
+               return ret;
  
- out:
-       return ret;
+       dev_dbg(dev->dev, "Bus speed: %s\n", i2c_freq_mode_string(t->bus_freq_hz));
+       return 0;
  }
  
  /**
@@@ -260,6 -251,108 +252,108 @@@ static void i2c_dw_xfer_init(struct dw_
        regmap_write(dev->map, DW_IC_INTR_MASK, DW_IC_INTR_MASTER_MASK);
  }
  
+ static int i2c_dw_check_stopbit(struct dw_i2c_dev *dev)
+ {
+       u32 val;
+       int ret;
+       ret = regmap_read_poll_timeout(dev->map, DW_IC_INTR_STAT, val,
+                                      !(val & DW_IC_INTR_STOP_DET),
+                                       1100, 20000);
+       if (ret)
+               dev_err(dev->dev, "i2c timeout error %d\n", ret);
+       return ret;
+ }
+ static int i2c_dw_status(struct dw_i2c_dev *dev)
+ {
+       int status;
+       status = i2c_dw_wait_bus_not_busy(dev);
+       if (status)
+               return status;
+       return i2c_dw_check_stopbit(dev);
+ }
+ /*
+  * Initiate and continue master read/write transaction with polling
+  * based transfer routine afterward write messages into the Tx buffer.
+  */
+ static int amd_i2c_dw_xfer_quirk(struct i2c_adapter *adap, struct i2c_msg *msgs, int num_msgs)
+ {
+       struct dw_i2c_dev *dev = i2c_get_adapdata(adap);
+       int msg_wrt_idx, msg_itr_lmt, buf_len, data_idx;
+       int cmd = 0, status;
+       u8 *tx_buf;
+       u32 val;
+       /*
+        * In order to enable the interrupt for UCSI i.e. AMD NAVI GPU card,
+        * it is mandatory to set the right value in specific register
+        * (offset:0x474) as per the hardware IP specification.
+        */
+       regmap_write(dev->map, AMD_UCSI_INTR_REG, AMD_UCSI_INTR_EN);
+       dev->msgs = msgs;
+       dev->msgs_num = num_msgs;
+       i2c_dw_xfer_init(dev);
+       i2c_dw_disable_int(dev);
+       /* Initiate messages read/write transaction */
+       for (msg_wrt_idx = 0; msg_wrt_idx < num_msgs; msg_wrt_idx++) {
+               tx_buf = msgs[msg_wrt_idx].buf;
+               buf_len = msgs[msg_wrt_idx].len;
+               if (!(msgs[msg_wrt_idx].flags & I2C_M_RD))
+                       regmap_write(dev->map, DW_IC_TX_TL, buf_len - 1);
+               /*
+                * Initiate the i2c read/write transaction of buffer length,
+                * and poll for bus busy status. For the last message transfer,
+                * update the command with stopbit enable.
+                */
+               for (msg_itr_lmt = buf_len; msg_itr_lmt > 0; msg_itr_lmt--) {
+                       if (msg_wrt_idx == num_msgs - 1 && msg_itr_lmt == 1)
+                               cmd |= BIT(9);
+                       if (msgs[msg_wrt_idx].flags & I2C_M_RD) {
+                               /* Due to hardware bug, need to write the same command twice. */
+                               regmap_write(dev->map, DW_IC_DATA_CMD, 0x100);
+                               regmap_write(dev->map, DW_IC_DATA_CMD, 0x100 | cmd);
+                               if (cmd) {
+                                       regmap_write(dev->map, DW_IC_TX_TL, 2 * (buf_len - 1));
+                                       regmap_write(dev->map, DW_IC_RX_TL, 2 * (buf_len - 1));
+                                       /*
+                                        * Need to check the stop bit. However, it cannot be
+                                        * detected from the registers so we check it always
+                                        * when read/write the last byte.
+                                        */
+                                       status = i2c_dw_status(dev);
+                                       if (status)
+                                               return status;
+                                       for (data_idx = 0; data_idx < buf_len; data_idx++) {
+                                               regmap_read(dev->map, DW_IC_DATA_CMD, &val);
+                                               tx_buf[data_idx] = val;
+                                       }
+                                       status = i2c_dw_check_stopbit(dev);
+                                       if (status)
+                                               return status;
+                               }
+                       } else {
+                               regmap_write(dev->map, DW_IC_DATA_CMD, *tx_buf++ | cmd);
+                               usleep_range(AMD_TIMEOUT_MIN_US, AMD_TIMEOUT_MAX_US);
+                       }
+               }
+               status = i2c_dw_check_stopbit(dev);
+               if (status)
+                       return status;
+       }
+       return 0;
+ }
  /*
   * Initiate (and continue) low level master read/write transaction.
   * This function is only called from i2c_dw_isr, and pumping i2c_msg
@@@ -463,6 -556,16 +557,16 @@@ i2c_dw_xfer(struct i2c_adapter *adap, s
  
        pm_runtime_get_sync(dev->dev);
  
+       /*
+        * Initiate I2C message transfer when AMD NAVI GPU card is enabled,
+        * As it is polling based transfer mechanism, which does not support
+        * interrupt based functionalities of existing DesignWare driver.
+        */
+       if ((dev->flags & MODEL_MASK) == MODEL_AMD_NAVI_GPU) {
+               ret = amd_i2c_dw_xfer_quirk(adap, msgs, num);
+               goto done_nolock;
+       }
        if (dev_WARN_ONCE(dev->dev, dev->suspended, "Transfer while suspended\n")) {
                ret = -ESHUTDOWN;
                goto done_nolock;
@@@ -739,6 -842,20 +843,20 @@@ static int i2c_dw_init_recovery_info(st
        return 0;
  }
  
+ static int amd_i2c_adap_quirk(struct dw_i2c_dev *dev)
+ {
+       struct i2c_adapter *adap = &dev->adapter;
+       int ret;
+       pm_runtime_get_noresume(dev->dev);
+       ret = i2c_add_numbered_adapter(adap);
+       if (ret)
+               dev_err(dev->dev, "Failed to add adapter: %d\n", ret);
+       pm_runtime_put_noidle(dev->dev);
+       return ret;
+ }
  int i2c_dw_probe_master(struct dw_i2c_dev *dev)
  {
        struct i2c_adapter *adap = &dev->adapter;
        adap->dev.parent = dev->dev;
        i2c_set_adapdata(adap, dev);
  
+       if ((dev->flags & MODEL_MASK) == MODEL_AMD_NAVI_GPU)
+               return amd_i2c_adap_quirk(dev);
        if (dev->flags & ACCESS_NO_IRQ_SUSPEND) {
                irq_flags = IRQF_NO_SUSPEND;
        } else {
@@@ -525,8 -525,8 +525,8 @@@ static irqreturn_t jz4780_i2c_irq(int i
                                i2c_sta = jz4780_i2c_readw(i2c, JZ4780_I2C_STA);
                                data = *i2c->wbuf;
                                data &= ~JZ4780_I2C_DC_READ;
 -                              if ((!i2c->stop_hold) && (i2c->cdata->version >=
 -                                              ID_X1000))
 +                              if ((i2c->wt_len == 1) && (!i2c->stop_hold) &&
 +                                              (i2c->cdata->version >= ID_X1000))
                                        data |= X1000_I2C_DC_STOP;
                                jz4780_i2c_writew(i2c, JZ4780_I2C_DC, data);
                                i2c->wbuf++;
@@@ -825,7 -825,10 +825,10 @@@ static int jz4780_i2c_probe(struct plat
  
        jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, 0x0);
  
-       i2c->irq = platform_get_irq(pdev, 0);
+       ret = platform_get_irq(pdev, 0);
+       if (ret < 0)
+               goto err;
+       i2c->irq = ret;
        ret = devm_request_irq(&pdev->dev, i2c->irq, jz4780_i2c_irq, 0,
                               dev_name(&pdev->dev), i2c);
        if (ret)
@@@ -76,6 -76,27 +76,27 @@@ void i2c_transfer_trace_unreg(void
        static_branch_dec(&i2c_trace_msg_key);
  }
  
+ const char *i2c_freq_mode_string(u32 bus_freq_hz)
+ {
+       switch (bus_freq_hz) {
+       case I2C_MAX_STANDARD_MODE_FREQ:
+               return "Standard Mode (100 kHz)";
+       case I2C_MAX_FAST_MODE_FREQ:
+               return "Fast Mode (400 kHz)";
+       case I2C_MAX_FAST_MODE_PLUS_FREQ:
+               return "Fast Mode Plus (1.0 MHz)";
+       case I2C_MAX_TURBO_MODE_FREQ:
+               return "Turbo Mode (1.4 MHz)";
+       case I2C_MAX_HIGH_SPEED_MODE_FREQ:
+               return "High Speed Mode (3.4 MHz)";
+       case I2C_MAX_ULTRA_FAST_MODE_FREQ:
+               return "Ultra Fast Mode (5.0 MHz)";
+       default:
+               return "Unknown Mode";
+       }
+ }
+ EXPORT_SYMBOL_GPL(i2c_freq_mode_string);
  const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id,
                                                const struct i2c_client *client)
  {
@@@ -249,7 -270,7 +270,7 @@@ EXPORT_SYMBOL_GPL(i2c_generic_scl_recov
  int i2c_recover_bus(struct i2c_adapter *adap)
  {
        if (!adap->bus_recovery_info)
-               return -EOPNOTSUPP;
+               return -EBUSY;
  
        dev_dbg(&adap->dev, "Trying i2c bus recovery\n");
        return adap->bus_recovery_info->recover_bus(adap);
@@@ -378,7 -399,7 +399,7 @@@ static int i2c_gpio_init_recovery(struc
  static int i2c_init_recovery(struct i2c_adapter *adap)
  {
        struct i2c_bus_recovery_info *bri = adap->bus_recovery_info;
 -      char *err_str;
 +      char *err_str, *err_level = KERN_ERR;
  
        if (!bri)
                return 0;
                return -EPROBE_DEFER;
  
        if (!bri->recover_bus) {
 -              err_str = "no recover_bus() found";
 +              err_str = "no suitable method provided";
 +              err_level = KERN_DEBUG;
                goto err;
        }
  
  
        return 0;
   err:
 -      dev_err(&adap->dev, "Not using recovery: %s\n", err_str);
 +      dev_printk(err_level, &adap->dev, "Not using recovery: %s\n", err_str);
        adap->bus_recovery_info = NULL;
  
        return -EINVAL;
@@@ -519,6 -539,13 +540,13 @@@ static int i2c_device_probe(struct devi
        if (status)
                goto err_clear_wakeup_irq;
  
+       client->devres_group_id = devres_open_group(&client->dev, NULL,
+                                                   GFP_KERNEL);
+       if (!client->devres_group_id) {
+               status = -ENOMEM;
+               goto err_detach_pm_domain;
+       }
        /*
         * When there are no more users of probe(),
         * rename probe_new to probe.
        else
                status = -EINVAL;
  
+       /*
+        * Note that we are not closing the devres group opened above so
+        * even resources that were attached to the device after probe is
+        * run are released when i2c_device_remove() is executed. This is
+        * needed as some drivers would allocate additional resources,
+        * for example when updating firmware.
+        */
        if (status)
-               goto err_detach_pm_domain;
+               goto err_release_driver_resources;
  
        return 0;
  
+ err_release_driver_resources:
+       devres_release_group(&client->dev, client->devres_group_id);
  err_detach_pm_domain:
        dev_pm_domain_detach(&client->dev, true);
  err_clear_wakeup_irq:
@@@ -564,6 -601,8 +602,8 @@@ static int i2c_device_remove(struct dev
                        dev_warn(dev, "remove failed (%pe), will be ignored\n", ERR_PTR(status));
        }
  
+       devres_release_group(&client->dev, client->devres_group_id);
        dev_pm_domain_detach(&client->dev, true);
  
        dev_pm_clear_wake_irq(&client->dev);
@@@ -612,7 -651,7 +652,7 @@@ modalias_show(struct device *dev, struc
        if (len != -ENODEV)
                return len;
  
-       len = acpi_device_modalias(dev, buf, PAGE_SIZE -1);
+       len = acpi_device_modalias(dev, buf, PAGE_SIZE - 1);
        if (len != -ENODEV)
                return len;
  
@@@ -910,11 -949,11 +950,11 @@@ i2c_new_client_device(struct i2c_adapte
  
        i2c_dev_set_name(adap, client, info);
  
-       if (info->properties) {
-               status = device_add_properties(&client->dev, info->properties);
+       if (info->swnode) {
+               status = device_add_software_node(&client->dev, info->swnode);
                if (status) {
                        dev_err(&adap->dev,
-                               "Failed to add properties to client %s: %d\n",
+                               "Failed to add software node to client %s: %d\n",
                                client->name, status);
                        goto out_err_put_of_node;
                }
  
        status = device_register(&client->dev);
        if (status)
-               goto out_free_props;
+               goto out_remove_swnode;
  
        dev_dbg(&adap->dev, "client [%s] registered with bus id %s\n",
                client->name, dev_name(&client->dev));
  
        return client;
  
- out_free_props:
-       if (info->properties)
-               device_remove_properties(&client->dev);
+ out_remove_swnode:
+       device_remove_software_node(&client->dev);
  out_err_put_of_node:
        of_node_put(info->of_node);
  out_err:
@@@ -961,6 -999,7 +1000,7 @@@ void i2c_unregister_device(struct i2c_c
  
        if (ACPI_COMPANION(&client->dev))
                acpi_device_clear_enumerated(ACPI_COMPANION(&client->dev));
+       device_remove_software_node(&client->dev);
        device_unregister(&client->dev);
  }
  EXPORT_SYMBOL_GPL(i2c_unregister_device);
@@@ -1017,15 -1056,9 +1057,9 @@@ struct i2c_client *i2c_new_dummy_device
  }
  EXPORT_SYMBOL_GPL(i2c_new_dummy_device);
  
- struct i2c_dummy_devres {
-       struct i2c_client *client;
- };
- static void devm_i2c_release_dummy(struct device *dev, void *res)
+ static void devm_i2c_release_dummy(void *client)
  {
-       struct i2c_dummy_devres *this = res;
-       i2c_unregister_device(this->client);
+       i2c_unregister_device(client);
  }
  
  /**
@@@ -1042,20 -1075,16 +1076,16 @@@ struct i2c_client *devm_i2c_new_dummy_d
                                             struct i2c_adapter *adapter,
                                             u16 address)
  {
-       struct i2c_dummy_devres *dr;
        struct i2c_client *client;
-       dr = devres_alloc(devm_i2c_release_dummy, sizeof(*dr), GFP_KERNEL);
-       if (!dr)
-               return ERR_PTR(-ENOMEM);
+       int ret;
  
        client = i2c_new_dummy_device(adapter, address);
-       if (IS_ERR(client)) {
-               devres_free(dr);
-       } else {
-               dr->client = client;
-               devres_add(dev, dr);
-       }
+       if (IS_ERR(client))
+               return client;
+       ret = devm_add_action_or_reset(dev, devm_i2c_release_dummy, client);
+       if (ret)
+               return ERR_PTR(ret);
  
        return client;
  }
@@@ -1704,6 -1733,32 +1734,32 @@@ void i2c_del_adapter(struct i2c_adapte
  }
  EXPORT_SYMBOL(i2c_del_adapter);
  
+ static void devm_i2c_del_adapter(void *adapter)
+ {
+       i2c_del_adapter(adapter);
+ }
+ /**
+  * devm_i2c_add_adapter - device-managed variant of i2c_add_adapter()
+  * @dev: managing device for adding this I2C adapter
+  * @adapter: the adapter to add
+  * Context: can sleep
+  *
+  * Add adapter with dynamic bus number, same with i2c_add_adapter()
+  * but the adapter will be auto deleted on driver detach.
+  */
+ int devm_i2c_add_adapter(struct device *dev, struct i2c_adapter *adapter)
+ {
+       int ret;
+       ret = i2c_add_adapter(adapter);
+       if (ret)
+               return ret;
+       return devm_add_action_or_reset(dev, devm_i2c_del_adapter, adapter);
+ }
+ EXPORT_SYMBOL_GPL(devm_i2c_add_adapter);
  static void i2c_parse_timing(struct device *dev, char *prop_name, u32 *cur_val_p,
                            u32 def_val, bool use_def)
  {