Merge tag 'devicetree-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Dec 2019 19:41:35 +0000 (11:41 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Dec 2019 19:41:35 +0000 (11:41 -0800)
Pull Devicetree updates from Rob Herring:

 - DT schemas for PWM, syscon, power domains, SRAM, syscon-reboot,
   syscon-poweroff, renesas-irqc, simple-pm-bus, renesas-bsc, pwm-rcar,
   Renesas tpu, at24 eeprom, rtc-sh, Allwinner PS/2, sharp,ld-d5116z01b
   panel, Arm SMMU, max77650, Meson CEC, Amlogic canvas and DWC3 glue,
   Allwinner A10 mUSB and CAN, TI Davinci MDIO, QCom QCS404
   interconnect, Unisoc/Spreadtrum SoCs and UART

 - Convert a bunch of Samsung bindings to DT schema

 - Convert a bunch of ST stm32 bindings to DT schema

 - Realtek and Exynos additions to Arm Mali bindings

 - Fix schema errors in RiscV CPU schema

 - Various schema fixes from improved meta-schema checks

 - Improve the handling of 'dma-ranges' and in particular fix DMA mask
   setup on PCI bridges

 - Fix a memory leak in add_changeset_property() and DT unit tests.

 - Several documentation improvements for schema validation

 - Rework build rules to improve schema validation errors

 - Color output for dtx_diff

* tag 'devicetree-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (138 commits)
  libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h
  dt-bindings: arm: Remove leftover axentia.txt
  of: unittest: fix memory leak in attach_node_and_children
  of: overlay: add_changeset_property() memory leak
  dt-bindings: interrupt-controller: arm,gic-v3: Add missing type to interrupt-partition-* nodes
  dt-bindings: firmware: ixp4xx: Drop redundant minItems/maxItems
  dt-bindings: power: Rename back power_domain.txt bindings to fix references
  dt-bindings: i2c: stm32: Migrate i2c-stm32 documentation to yaml
  dt-bindings: mtd: Convert stm32 fmc2-nand bindings to json-schema
  dt-bindings: remoteproc: convert stm32-rproc to json-schema
  dt-bindings: mailbox: convert stm32-ipcc to json-schema
  dt-bindings: mfd: Convert stm32 low power timers bindings to json-schema
  dt-bindings: interrupt-controller: Convert stm32-exti to json-schema
  dt-bindings: crypto: Convert stm32 HASH bindings to json-schema
  dt-bindings: rng: Convert stm32 RNG bindings to json-schema
  dt-bindings: pwm: Convert Samsung PWM bindings to json-schema
  dt-bindings: pwm: Convert PWM bindings to json-schema
  dt-bindings: serial: Add a new compatible string for SC9863A
  dt-bindings: serial: Convert sprd-uart to json-schema
  dt-bindings: arm: Add bindings for Unisoc SC9863A
  ...

1  2 
Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt
Documentation/devicetree/bindings/media/rc.yaml
Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
Documentation/devicetree/bindings/usb/generic-ehci.yaml
MAINTAINERS
drivers/of/fdt.c
drivers/of/property.c
scripts/checkpatch.pl

@@@ -124,7 -124,7 +124,7 @@@ Required properties for Pinctrl sub nod
                        CONFIG settings.
  
  [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
- [2] Documentation/devicetree/bindings/power/power_domain.txt
+ [2] Documentation/devicetree/bindings/power/power-domain.yaml
  [3] Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt
  
  RTC bindings based on SCU Message Protocol
@@@ -157,15 -157,6 +157,15 @@@ Required properties
  Optional properties:
  - timeout-sec: contains the watchdog timeout in seconds.
  
 +SCU key bindings based on SCU Message Protocol
 +------------------------------------------------------------
 +
 +Required properties:
 +- compatible: should be:
 +              "fsl,imx8qxp-sc-key"
 +              followed by "fsl,imx-sc-key";
 +- linux,keycodes: See Documentation/devicetree/bindings/input/keys.txt
 +
  Example (imx8qxp):
  -------------
  aliases {
@@@ -229,11 -220,6 +229,11 @@@ firmware 
                        compatible = "fsl,imx8qxp-sc-rtc";
                };
  
 +              scu_key: scu-key {
 +                      compatible = "fsl,imx8qxp-sc-key", "fsl,imx-sc-key";
 +                      linux,keycodes = <KEY_POWER>;
 +              };
 +
                watchdog {
                        compatible = "fsl,imx8qxp-sc-wdt", "fsl,imx-sc-wdt";
                        timeout-sec = <60>;
@@@ -19,7 -19,6 +19,7 @@@ Required Properties
        - "renesas,r8a7745-cpg-mssr" for the r8a7745 SoC (RZ/G1E)
        - "renesas,r8a77470-cpg-mssr" for the r8a77470 SoC (RZ/G1C)
        - "renesas,r8a774a1-cpg-mssr" for the r8a774a1 SoC (RZ/G2M)
 +      - "renesas,r8a774b1-cpg-mssr" for the r8a774a1 SoC (RZ/G2N)
        - "renesas,r8a774c0-cpg-mssr" for the r8a774c0 SoC (RZ/G2E)
        - "renesas,r8a7790-cpg-mssr" for the r8a7790 SoC (R-Car H2)
        - "renesas,r8a7791-cpg-mssr" for the r8a7791 SoC (R-Car M2-W)
@@@ -27,8 -26,7 +27,8 @@@
        - "renesas,r8a7793-cpg-mssr" for the r8a7793 SoC (R-Car M2-N)
        - "renesas,r8a7794-cpg-mssr" for the r8a7794 SoC (R-Car E2)
        - "renesas,r8a7795-cpg-mssr" for the r8a7795 SoC (R-Car H3)
 -      - "renesas,r8a7796-cpg-mssr" for the r8a7796 SoC (R-Car M3-W)
 +      - "renesas,r8a7796-cpg-mssr" for the r8a77960 SoC (R-Car M3-W)
 +      - "renesas,r8a77961-cpg-mssr" for the r8a77961 SoC (R-Car M3-W+)
        - "renesas,r8a77965-cpg-mssr" for the r8a77965 SoC (R-Car M3-N)
        - "renesas,r8a77970-cpg-mssr" for the r8a77970 SoC (R-Car V3M)
        - "renesas,r8a77980-cpg-mssr" for the r8a77980 SoC (R-Car V3H)
      clock-names
    - clock-names: List of external parent clock names. Valid names are:
        - "extal" (r7s9210, r8a7743, r8a7744, r8a7745, r8a77470, r8a774a1,
 -               r8a774c0, r8a7790, r8a7791, r8a7792, r8a7793, r8a7794,
 -               r8a7795, r8a7796, r8a77965, r8a77970, r8a77980, r8a77990,
 -               r8a77995)
 -      - "extalr" (r8a774a1, r8a7795, r8a7796, r8a77965, r8a77970, r8a77980)
 +               r8a774b1, r8a774c0, r8a7790, r8a7791, r8a7792, r8a7793,
 +               r8a7794, r8a7795, r8a77960, r8a77961, r8a77965, r8a77970,
 +               r8a77980, r8a77990, r8a77995)
 +      - "extalr" (r8a774a1, r8a774b1, r8a7795, r8a77960, r8a77961, r8a77965,
 +                r8a77970, r8a77980)
        - "usb_extal" (r8a7743, r8a7744, r8a7745, r8a77470, r8a7790, r8a7791,
                     r8a7793, r8a7794)
  
@@@ -62,7 -59,7 +62,7 @@@
        power-managed through Module Standby should refer to the CPG device
        node in their "power-domains" property, as documented by the generic PM
        Domain bindings in
-       Documentation/devicetree/bindings/power/power_domain.txt.
+       Documentation/devicetree/bindings/power/power-domain.yaml.
  
    - #reset-cells: Must be 1
        - The single reset specifier cell must be the module number, as defined
@@@ -39,7 -39,6 +39,7 @@@ properties
            - rc-avermedia-rm-ks
            - rc-avertv-303
            - rc-azurewave-ad-tu700
 +          - rc-beelink-gs1
            - rc-behold
            - rc-behold-columbus
            - rc-budget-ci-old
@@@ -83,6 -82,7 +83,7 @@@
            - rc-it913x-v1
            - rc-it913x-v2
            - rc-kaiomy
+           - rc-khadas
            - rc-kworld-315u
            - rc-kworld-pc150u
            - rc-kworld-plus-tv-analog
            - rc-nec-terratec-cinergy-xs
            - rc-norwood
            - rc-npgtech
+           - rc-odroid
            - rc-pctv-sedna
            - rc-pinnacle-color
            - rc-pinnacle-grey
            - rc-streamzap
            - rc-su3000
            - rc-tango
+           - rc-tanix-tx3mini
            - rc-tbs-nec
            - rc-technisat-ts35
            - rc-technisat-usb2
            - rc-videomate-k100
            - rc-videomate-s350
            - rc-videomate-tv-pvr
+           - rc-wetek-hub
+           - rc-wetek-play2
            - rc-winfast
            - rc-winfast-usbii-deluxe
+           - rc-x96max
            - rc-xbox-dvd
            - rc-zx-irdec
@@@ -30,8 -30,8 +30,8 @@@ if
  properties:
    compatible:
      enum:
 -      - const: regulator-fixed
 -      - const: regulator-fixed-clock
 +      - regulator-fixed
 +      - regulator-fixed-clock
  
    regulator-name: true
  
      description: startup time in microseconds
      $ref: /schemas/types.yaml#/definitions/uint32
  
 +  off-on-delay-us:
 +    description: off delay time in microseconds
 +    $ref: /schemas/types.yaml#/definitions/uint32
 +
    enable-active-high:
      description:
        Polarity of GPIO is Active high. If this property is missing,
@@@ -68,7 -64,6 +68,6 @@@
  
    vin-supply:
      description: Input supply phandle.
-     $ref: /schemas/types.yaml#/definitions/phandle
  
  required:
    - compatible
@@@ -63,11 -63,12 +63,16 @@@ properties
      description:
        Set this flag to force EHCI reset after resume.
  
 -  phys: true
+   companion:
+     $ref: /schemas/types.yaml#/definitions/phandle
+     description:
+      Phandle of a companion.
 +  phys:
 +    description: PHY specifier for the USB PHY
 +
 +  phy-names:
 +    const: usb
  
  required:
    - compatible
@@@ -93,7 -94,6 +98,7 @@@ examples
          interrupts = <39>;
          clocks = <&ahb_gates 1>;
          phys = <&usbphy 1>;
 +        phy-names = "usb";
      };
  
  ...
diff --combined MAINTAINERS
@@@ -295,7 -295,7 +295,7 @@@ S: Maintaine
  F:    drivers/net/ethernet/alteon/acenic*
  
  ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
 -M:    Peter Feuerer <peter@piie.net>
 +M:    Peter Kaestle <peter@piie.net>
  L:    platform-driver-x86@vger.kernel.org
  W:    http://piie.net/?section=acerhdf
  S:    Maintained
@@@ -643,7 -643,7 +643,7 @@@ F: drivers/net/ethernet/alacritech/
  
  FORCEDETH GIGABIT ETHERNET DRIVER
  M:    Rain River <rain.1986.08.12@gmail.com>
 -M:    Zhu Yanjun <yanjun.zhu@oracle.com>
 +M:    Zhu Yanjun <zyjzyj2000@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/nvidia/*
@@@ -682,11 -682,11 +682,11 @@@ S:      Maintaine
  F:    Documentation/devicetree/bindings/opp/sun50i-nvmem-cpufreq.txt
  F:    drivers/cpufreq/sun50i-cpufreq-nvmem.c
  
 -ALLWINNER SECURITY SYSTEM
 +ALLWINNER CRYPTO DRIVERS
  M:    Corentin Labbe <clabbe.montjoie@gmail.com>
  L:    linux-crypto@vger.kernel.org
  S:    Maintained
 -F:    drivers/crypto/sunxi-ss/
 +F:    drivers/crypto/allwinner/
  
  ALLWINNER VPU DRIVER
  M:    Maxime Ripard <mripard@kernel.org>
@@@ -901,14 -901,6 +901,14 @@@ S:       Supporte
  F:    drivers/iio/adc/ad7124.c
  F:    Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
  
 +ANALOG DEVICES INC AD7292 DRIVER
 +M:    Marcelo Schmitt <marcelo.schmitt1@gmail.com>
 +L:    linux-iio@vger.kernel.org
 +W:    http://ez.analog.com/community/linux-device-drivers
 +S:    Supported
 +F:    drivers/iio/adc/ad7292.c
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
 +
  ANALOG DEVICES INC AD7606 DRIVER
  M:    Stefan Popa <stefan.popa@analog.com>
  M:    Beniamin Bia <beniamin.bia@analog.com>
@@@ -1010,7 -1002,6 +1010,7 @@@ F:      drivers/media/i2c/adv7842
  
  ANALOG DEVICES INC ASOC CODEC DRIVERS
  M:    Lars-Peter Clausen <lars@metafoo.de>
 +M:    Nuno Sá <nuno.sa@analog.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  W:    http://wiki.analog.com/
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -1049,7 -1040,6 +1049,7 @@@ F:      drivers/clk/analogbits/
  F:    include/linux/clk/analogbits*
  
  ANDES ARCHITECTURE
 +M:    Nick Hu <nickhu@andestech.com>
  M:    Greentime Hu <green.hu@gmail.com>
  M:    Vincent Chen <deanbo422@gmail.com>
  T:    git https://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux.git
@@@ -1192,21 -1182,14 +1192,21 @@@ S:   Maintaine
  F:    drivers/media/i2c/aptina-pll.*
  
  AQUANTIA ETHERNET DRIVER (atlantic)
 -M:    Igor Russkikh <igor.russkikh@aquantia.com>
 +M:    Igor Russkikh <irusskikh@marvell.com>
  L:    netdev@vger.kernel.org
  S:    Supported
 -W:    http://www.aquantia.com
 +W:    https://www.marvell.com/
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/aquantia/atlantic/
  F:    Documentation/networking/device_drivers/aquantia/atlantic.txt
  
 +AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
 +M:    Egor Pomozov <epomozov@marvell.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +W:    http://www.aquantia.com
 +F:    drivers/net/ethernet/aquantia/atlantic/aq_ptp*
 +
  ARC FRAMEBUFFER DRIVER
  M:    Jaya Kumar <jayalk@intworks.biz>
  S:    Maintained
@@@ -1268,7 -1251,6 +1268,7 @@@ F:      Documentation/devicetree/bindings/di
  ARM KOMEDA DRM-KMS DRIVER
  M:    James (Qian) Wang <james.qian.wang@arm.com>
  M:    Liviu Dudau <liviu.dudau@arm.com>
 +M:    Mihail Atanassov <mihail.atanassov@arm.com>
  L:    Mali DP Maintainers <malidp@foss.arm.com>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
@@@ -1290,8 -1272,6 +1290,8 @@@ F:      Documentation/gpu/afbc.rs
  ARM MALI PANFROST DRM DRIVER
  M:    Rob Herring <robh@kernel.org>
  M:    Tomeu Vizoso <tomeu.vizoso@collabora.com>
 +R:    Steven Price <steven.price@arm.com>
 +R:    Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
@@@ -1411,7 -1391,6 +1411,7 @@@ F:      drivers/clk/actions
  F:    drivers/clocksource/timer-owl*
  F:    drivers/dma/owl-dma.c
  F:    drivers/i2c/busses/i2c-owl.c
 +F:    drivers/mmc/host/owl-mmc.c
  F:    drivers/pinctrl/actions/*
  F:    drivers/soc/actions/
  F:    include/dt-bindings/power/owl-*
@@@ -1420,7 -1399,6 +1420,7 @@@ F:      Documentation/devicetree/bindings/ar
  F:    Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
  F:    Documentation/devicetree/bindings/dma/owl-dma.txt
  F:    Documentation/devicetree/bindings/i2c/i2c-owl.txt
 +F:    Documentation/devicetree/bindings/mmc/owl-mmc.yaml
  F:    Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt
  F:    Documentation/devicetree/bindings/power/actions,owl-sps.txt
  F:    Documentation/devicetree/bindings/timer/actions,owl-timer.txt
@@@ -1492,14 -1470,6 +1492,14 @@@ F:    drivers/soc/amlogic
  F:    drivers/rtc/rtc-meson*
  N:    meson
  
 +ARM/Amlogic Meson SoC Crypto Drivers
 +M:    Corentin Labbe <clabbe@baylibre.com>
 +L:    linux-crypto@vger.kernel.org
 +L:    linux-amlogic@lists.infradead.org
 +S:    Maintained
 +F:    drivers/crypto/amlogic/
 +F:    Documentation/devicetree/bindings/crypto/amlogic*
 +
  ARM/Amlogic Meson SoC Sound Drivers
  M:    Jerome Brunet <jbrunet@baylibre.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
@@@ -1559,10 -1529,8 +1559,10 @@@ M:    Manivannan Sadhasivam <manivannan.sa
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm64/boot/dts/bitmain/
 +F:    drivers/clk/clk-bm1880.c
  F:    drivers/pinctrl/pinctrl-bm1880.c
  F:    Documentation/devicetree/bindings/arm/bitmain.yaml
 +F:    Documentation/devicetree/bindings/clock/bitmain,bm1880-clk.yaml
  F:    Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.txt
  
  ARM/CALXEDA HIGHBANK ARCHITECTURE
@@@ -2037,7 -2005,6 +2037,7 @@@ F:      drivers/dma/ste_dma40
  F:    drivers/hwspinlock/u8500_hsem.c
  F:    drivers/i2c/busses/i2c-nomadik.c
  F:    drivers/i2c/busses/i2c-stu300.c
 +F:    drivers/iio/adc/ab8500-gpadc.c
  F:    drivers/mfd/ab3100*
  F:    drivers/mfd/ab8500*
  F:    drivers/mfd/abx500*
@@@ -2183,11 -2150,9 +2183,11 @@@ L:    linux-unisoc@lists.infradead.org (mo
  S:    Maintained
  F:    arch/arm/boot/dts/rda8810pl-*
  F:    drivers/clocksource/timer-rda.c
 +F:    drivers/gpio/gpio-rda.c
  F:    drivers/irqchip/irq-rda-intc.c
  F:    drivers/tty/serial/rda-uart.c
  F:    Documentation/devicetree/bindings/arm/rda.yaml
 +F:    Documentation/devicetree/bindings/gpio/gpio-rda.yaml
  F:    Documentation/devicetree/bindings/interrupt-controller/rda,8810pl-intc.txt
  F:    Documentation/devicetree/bindings/serial/rda,8810pl-uart.txt
  F:    Documentation/devicetree/bindings/timer/rda,8810pl-timer.txt
@@@ -2200,10 -2165,12 +2200,10 @@@ F:   arch/arm64/boot/dts/realtek
  F:    Documentation/devicetree/bindings/arm/realtek.yaml
  
  ARM/RENESAS ARM64 ARCHITECTURE
 -M:    Simon Horman <horms@verge.net.au>
  M:    Geert Uytterhoeven <geert+renesas@glider.be>
  M:    Magnus Damm <magnus.damm@gmail.com>
  L:    linux-renesas-soc@vger.kernel.org
  Q:    http://patchwork.kernel.org/project/linux-renesas-soc/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next
  S:    Supported
  F:    arch/arm64/boot/dts/renesas/
@@@ -2268,8 -2235,7 +2268,7 @@@ F:      drivers/soc/samsung
  F:    include/linux/soc/samsung/
  F:    Documentation/arm/samsung/
  F:    Documentation/devicetree/bindings/arm/samsung/
- F:    Documentation/devicetree/bindings/sram/samsung-sram.txt
- F:    Documentation/devicetree/bindings/power/pd-samsung.txt
+ F:    Documentation/devicetree/bindings/power/pd-samsung.yaml
  N:    exynos
  
  ARM/SAMSUNG MOBILE MACHINE SUPPORT
@@@ -2315,10 -2281,12 +2314,10 @@@ S:   Maintaine
  F:    drivers/media/platform/s5p-mfc/
  
  ARM/SHMOBILE ARM ARCHITECTURE
 -M:    Simon Horman <horms@verge.net.au>
  M:    Geert Uytterhoeven <geert+renesas@glider.be>
  M:    Magnus Damm <magnus.damm@gmail.com>
  L:    linux-renesas-soc@vger.kernel.org
  Q:    http://patchwork.kernel.org/project/linux-renesas-soc/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next
  S:    Supported
  F:    arch/arm/boot/dts/emev2*
@@@ -2358,13 -2326,11 +2357,13 @@@ F:   drivers/edac/altera_edac
  
  ARM/SPREADTRUM SoC SUPPORT
  M:    Orson Zhai <orsonzhai@gmail.com>
 -M:    Baolin Wang <baolin.wang@linaro.org>
 +M:    Baolin Wang <baolin.wang7@gmail.com>
  M:    Chunyan Zhang <zhang.lyra@gmail.com>
  S:    Maintained
  F:    arch/arm64/boot/dts/sprd
  N:    sprd
 +N:    sc27xx
 +N:    sc2731
  
  ARM/STI ARCHITECTURE
  M:    Patrice Chotard <patrice.chotard@st.com>
@@@ -2523,10 -2489,10 +2522,10 @@@ F:   drivers/reset/reset-uniphier.
  F:    drivers/tty/serial/8250/8250_uniphier.c
  N:    uniphier
  
 -ARM/Ux500 CLOCK FRAMEWORK SUPPORT
 +Ux500 CLOCK DRIVERS
  M:    Ulf Hansson <ulf.hansson@linaro.org>
 +L:    linux-clk@vger.kernel.org
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -T:    git git://git.linaro.org/people/ulfh/clk.git
  S:    Maintained
  F:    drivers/clk/ux500/
  
@@@ -2646,7 -2612,6 +2645,7 @@@ S:      Maintaine
  F:    arch/arm64/
  X:    arch/arm64/boot/dts/
  F:    Documentation/arm64/
 +F:    tools/testing/selftests/arm64/
  
  AS3645A LED FLASH CONTROLLER DRIVER
  M:    Sakari Ailus <sakari.ailus@iki.fi>
@@@ -2733,7 -2698,7 +2732,7 @@@ M:      Bartosz Golaszewski <bgolaszewski@ba
  L:    linux-i2c@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
  S:    Maintained
- F:    Documentation/devicetree/bindings/eeprom/at24.txt
+ F:    Documentation/devicetree/bindings/eeprom/at24.yaml
  F:    drivers/misc/eeprom/at24.c
  
  ATA OVER ETHERNET (AOE) DRIVER
@@@ -2894,7 -2859,6 +2893,6 @@@ AXENTIA ARM DEVICE
  M:    Peter Rosin <peda@axentia.se>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
- F:    Documentation/devicetree/bindings/arm/axentia.txt
  F:    arch/arm/boot/dts/at91-linea.dtsi
  F:    arch/arm/boot/dts/at91-natte.dtsi
  F:    arch/arm/boot/dts/at91-nattis-2-natte-2.dts
@@@ -3089,7 -3053,6 +3087,7 @@@ M:      Daniel Borkmann <daniel@iogearbox.ne
  R:    Martin KaFai Lau <kafai@fb.com>
  R:    Song Liu <songliubraving@fb.com>
  R:    Yonghong Song <yhs@fb.com>
 +R:    Andrii Nakryiko <andriin@fb.com>
  L:    netdev@vger.kernel.org
  L:    bpf@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
@@@ -3135,7 -3098,7 +3133,7 @@@ S:      Supporte
  F:    arch/arm64/net/
  
  BPF JIT for MIPS (32-BIT AND 64-BIT)
 -M:    Paul Burton <paul.burton@mips.com>
 +M:    Paul Burton <paulburton@kernel.org>
  L:    netdev@vger.kernel.org
  L:    bpf@vger.kernel.org
  S:    Maintained
@@@ -3222,7 -3185,7 +3220,7 @@@ N:      bcm216
  N:    kona
  F:    arch/arm/mach-bcm/
  
 -BROADCOM BCM2835 ARM ARCHITECTURE
 +BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
  M:    Eric Anholt <eric@anholt.net>
  M:    Stefan Wahren <wahrenst@gmx.net>
  L:    bcm-kernel-feedback-list@broadcom.com
@@@ -3230,7 -3193,6 +3228,7 @@@ L:      linux-rpi-kernel@lists.infradead.or
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  T:    git git://github.com/anholt/linux
  S:    Maintained
 +N:    bcm2711
  N:    bcm2835
  F:    drivers/staging/vc04_services
  
@@@ -3277,6 -3239,8 +3275,6 @@@ S:      Maintaine
  F:    drivers/usb/gadget/udc/bcm63xx_udc.*
  
  BROADCOM BCM7XXX ARM ARCHITECTURE
 -M:    Brian Norris <computersforpeace@gmail.com>
 -M:    Gregory Fong <gregory.0xf0@gmail.com>
  M:    Florian Fainelli <f.fainelli@gmail.com>
  M:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -3297,6 -3261,7 +3295,6 @@@ S:      Maintaine
  F:    drivers/cpufreq/bmips-cpufreq.c
  
  BROADCOM BMIPS MIPS ARCHITECTURE
 -M:    Kevin Cernekee <cernekee@gmail.com>
  M:    Florian Fainelli <f.fainelli@gmail.com>
  L:    bcm-kernel-feedback-list@broadcom.com
  L:    linux-mips@vger.kernel.org
@@@ -3568,7 -3533,7 +3566,7 @@@ BUS FREQUENCY DRIVER FOR SAMSUNG EXYNO
  M:    Chanwoo Choi <cw00.choi@samsung.com>
  L:    linux-pm@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  S:    Maintained
  F:    drivers/devfreq/exynos-bus.c
  F:    Documentation/devicetree/bindings/devfreq/exynos-bus.txt
@@@ -3631,13 -3596,6 +3629,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/media/cdns,*.txt
  F:    drivers/media/platform/cadence/cdns-csi2*
  
 +CADENCE NAND DRIVER
 +M:    Piotr Sroka <piotrs@cadence.com>
 +L:    linux-mtd@lists.infradead.org
 +S:    Maintained
 +F:    drivers/mtd/nand/raw/cadence-nand-controller.c
 +F:    Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt
 +
  CADET FM/AM RADIO RECEIVER DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -3669,6 -3627,16 +3667,6 @@@ L:     cake@lists.bufferbloat.net (moderate
  S:    Maintained
  F:    net/sched/sch_cake.c
  
 -CALGARY x86-64 IOMMU
 -M:    Muli Ben-Yehuda <mulix@mulix.org>
 -M:    Jon Mason <jdmason@kudzu.us>
 -L:    iommu@lists.linux-foundation.org
 -S:    Maintained
 -F:    arch/x86/kernel/pci-calgary_64.c
 -F:    arch/x86/kernel/tce_64.c
 -F:    arch/x86/include/asm/calgary.h
 -F:    arch/x86/include/asm/tce.h
 -
  CAN NETWORK DRIVERS
  M:    Wolfgang Grandegger <wg@grandegger.com>
  M:    Marc Kleine-Budde <mkl@pengutronix.de>
@@@ -3770,6 -3738,7 +3768,6 @@@ F:      drivers/crypto/cavium/cpt
  
  CAVIUM THUNDERX2 ARM64 SOC
  M:    Robert Richter <rrichter@cavium.com>
 -M:    Jayachandran C <jnair@caviumnetworks.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm64/boot/dts/cavium/thunder2-99xx*
@@@ -4302,13 -4271,14 +4300,13 @@@ F:   include/linux/cpufreq.
  F:    include/linux/sched/cpufreq.h
  F:    tools/testing/selftests/cpufreq/
  
 -CPU FREQUENCY DRIVERS - ARM BIG LITTLE
 +CPU FREQUENCY DRIVERS - VEXPRESS SPC ARM BIG LITTLE
  M:    Viresh Kumar <viresh.kumar@linaro.org>
  M:    Sudeep Holla <sudeep.holla@arm.com>
  L:    linux-pm@vger.kernel.org
  W:    http://www.arm.com/products/processors/technologies/biglittleprocessing.php
  S:    Maintained
 -F:    drivers/cpufreq/arm_big_little.h
 -F:    drivers/cpufreq/arm_big_little.c
 +F:    drivers/cpufreq/vexpress-spc-cpufreq.c
  
  CPU POWER MONITORING SUBSYSTEM
  M:    Thomas Renninger <trenn@suse.com>
@@@ -4487,6 -4457,14 +4485,6 @@@ W:     http://www.chelsio.co
  S:    Supported
  F:    drivers/scsi/cxgbi/cxgb3i
  
 -CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
 -M:    Potnuri Bharat Teja <bharat@chelsio.com>
 -L:    linux-rdma@vger.kernel.org
 -W:    http://www.openfabrics.org
 -S:    Supported
 -F:    drivers/infiniband/hw/cxgb3/
 -F:    include/uapi/rdma/cxgb3-abi.h
 -
  CXGB4 CRYPTO DRIVER (chcr)
  M:    Atul Gupta <atul.gupta@chelsio.com>
  L:    linux-crypto@vger.kernel.org
@@@ -4661,14 -4639,6 +4659,14 @@@ M:    "Maciej W. Rozycki" <macro@linux-mip
  S:    Maintained
  F:    drivers/net/fddi/defxx.*
  
 +DEINTERLACE DRIVERS FOR ALLWINNER H3
 +M:    Jernej Skrabec <jernej.skrabec@siol.net>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/platform/sunxi/sun8i-di/
 +F:    Documentation/devicetree/bindings/media/allwinner,sun8i-h3-deinterlace.yaml
 +
  DELL SMBIOS DRIVER
  M:    Pali Rohár <pali.rohar@gmail.com>
  M:    Mario Limonciello <mario.limonciello@dell.com>
@@@ -4793,9 -4763,9 +4791,9 @@@ F:      include/linux/devcoredump.
  DEVICE FREQUENCY (DEVFREQ)
  M:    MyungJoo Ham <myungjoo.ham@samsung.com>
  M:    Kyungmin Park <kyungmin.park@samsung.com>
 -R:    Chanwoo Choi <cw00.choi@samsung.com>
 +M:    Chanwoo Choi <cw00.choi@samsung.com>
  L:    linux-pm@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  S:    Maintained
  F:    drivers/devfreq/
  F:    include/linux/devfreq.h
@@@ -4805,11 -4775,10 +4803,11 @@@ F:   include/trace/events/devfreq.
  DEVICE FREQUENCY EVENT (DEVFREQ-EVENT)
  M:    Chanwoo Choi <cw00.choi@samsung.com>
  L:    linux-pm@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
  S:    Supported
  F:    drivers/devfreq/event/
  F:    drivers/devfreq/devfreq-event.c
 +F:    include/dt-bindings/pmu/exynos_ppmu.h
  F:    include/linux/devfreq-event.h
  F:    Documentation/devicetree/bindings/devfreq/event/
  
@@@ -4911,6 -4880,7 +4909,6 @@@ F:      include/trace/events/fs_dax.
  DEVICE DIRECT ACCESS (DAX)
  M:    Dan Williams <dan.j.williams@intel.com>
  M:    Vishal Verma <vishal.l.verma@intel.com>
 -M:    Keith Busch <keith.busch@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
  L:    linux-nvdimm@lists.01.org
  S:    Supported
@@@ -5078,14 -5048,10 +5076,14 @@@ M:   Ioana Radulescu <ruxandra.radulescu@
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth*
 +F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-mac*
  F:    drivers/net/ethernet/freescale/dpaa2/dpni*
 +F:    drivers/net/ethernet/freescale/dpaa2/dpmac*
  F:    drivers/net/ethernet/freescale/dpaa2/dpkg.h
  F:    drivers/net/ethernet/freescale/dpaa2/Makefile
  F:    drivers/net/ethernet/freescale/dpaa2/Kconfig
 +F:    Documentation/networking/device_drivers/freescale/dpaa2/ethernet-driver.rst
 +F:    Documentation/networking/device_drivers/freescale/dpaa2/mac-phy-support.rst
  
  DPAA2 ETHERNET SWITCH DRIVER
  M:    Ioana Radulescu <ruxandra.radulescu@nxp.com>
@@@ -5408,22 -5374,12 +5406,22 @@@ F:   include/linux/vga
  
  DRM DRIVERS FOR ALLWINNER A10
  M:    Maxime Ripard <mripard@kernel.org>
 +M:    Chen-Yu Tsai <wens@csie.org>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  F:    drivers/gpu/drm/sun4i/
  F:    Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  
 +DRM DRIVER FOR ALLWINNER DE2 AND DE3 ENGINE
 +M:    Maxime Ripard <mripard@kernel.org>
 +M:    Chen-Yu Tsai <wens@csie.org>
 +R:    Jernej Skrabec <jernej.skrabec@siol.net>
 +L:    dri-devel@lists.freedesktop.org
 +S:    Supported
 +F:    drivers/gpu/drm/sun4i/sun8i*
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +
  DRM DRIVERS FOR AMLOGIC SOCS
  M:    Neil Armstrong <narmstrong@baylibre.com>
  L:    dri-devel@lists.freedesktop.org
@@@ -6048,14 -6004,14 +6046,14 @@@ F:   sound/usb/misc/ua101.
  EFI TEST DRIVER
  L:    linux-efi@vger.kernel.org
  M:    Ivan Hu <ivan.hu@canonical.com>
 -M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
 +M:    Ard Biesheuvel <ardb@kernel.org>
  S:    Maintained
  F:    drivers/firmware/efi/test/
  
  EFI VARIABLE FILESYSTEM
  M:    Matthew Garrett <matthew.garrett@nebula.com>
  M:    Jeremy Kerr <jk@ozlabs.org>
 -M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
 +M:    Ard Biesheuvel <ardb@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
  L:    linux-efi@vger.kernel.org
  S:    Maintained
@@@ -6154,10 -6110,7 +6152,10 @@@ M:    Gao Xiang <gaoxiang25@huawei.com
  M:    Chao Yu <yuchao0@huawei.com>
  L:    linux-erofs@lists.ozlabs.org
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
 +F:    Documentation/filesystems/erofs.txt
  F:    fs/erofs/
 +F:    include/trace/events/erofs.h
  
  ERRSEQ ERROR TRACKING INFRASTRUCTURE
  M:    Jeff Layton <jlayton@kernel.org>
@@@ -6189,12 -6142,10 +6187,12 @@@ S:   Maintaine
  F:    Documentation/ABI/testing/sysfs-class-net-phydev
  F:    Documentation/devicetree/bindings/net/ethernet-phy.yaml
  F:    Documentation/devicetree/bindings/net/mdio*
 +F:    Documentation/devicetree/bindings/net/qca,ar803x.yaml
  F:    Documentation/networking/phy.rst
  F:    drivers/net/phy/
  F:    drivers/of/of_mdio.c
  F:    drivers/of/of_net.c
 +F:    include/dt-bindings/net/qca-ar803x.h
  F:    include/linux/*mdio*.h
  F:    include/linux/of_net.h
  F:    include/linux/phy.h
@@@ -6207,7 -6158,6 +6205,7 @@@ F:      include/uapi/linux/mii.
  
  EXFAT FILE SYSTEM
  M:    Valdis Kletnieks <valdis.kletnieks@vt.edu>
 +L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
  F:    drivers/staging/exfat/
  
@@@ -6237,7 -6187,7 +6235,7 @@@ S:      Supporte
  F:    security/integrity/evm/
  
  EXTENSIBLE FIRMWARE INTERFACE (EFI)
 -M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
 +M:    Ard Biesheuvel <ardb@kernel.org>
  L:    linux-efi@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
  S:    Maintained
@@@ -6762,7 -6712,6 +6760,7 @@@ FSNOTIFY: FILESYSTEM NOTIFICATION INFRA
  M:    Jan Kara <jack@suse.cz>
  R:    Amir Goldstein <amir73il@gmail.com>
  L:    linux-fsdevel@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify
  S:    Maintained
  F:    fs/notify/
  F:    include/linux/fsnotify*.h
@@@ -6932,7 -6881,7 +6930,7 @@@ L:      linux-pm@vger.kernel.or
  S:    Supported
  F:    drivers/base/power/domain*.c
  F:    include/linux/pm_domain.h
- F:    Documentation/devicetree/bindings/power/power_domain.txt
+ F:    Documentation/devicetree/bindings/power/power?domain*
  
  GENERIC RESISTIVE TOUCHSCREEN ADC DRIVER
  M:    Eugen Hristev <eugen.hristev@microchip.com>
@@@ -7283,7 -7232,7 +7281,7 @@@ M:      Ohad Ben-Cohen <ohad@wizery.com
  M:    Bjorn Andersson <bjorn.andersson@linaro.org>
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git hwspinlock-next
  F:    Documentation/devicetree/bindings/hwlock/
  F:    Documentation/hwspinlock.txt
  F:    drivers/hwspinlock/
@@@ -7414,25 -7363,6 +7412,25 @@@ F:    include/uapi/linux/if_hippi.
  F:    net/802/hippi.c
  F:    drivers/net/hippi/
  
 +HISILICON SECURITY ENGINE V2 DRIVER (SEC2)
 +M:    Zaibo Xu <xuzaibo@huawei.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Maintained
 +F:    drivers/crypto/hisilicon/sec2/sec_crypto.c
 +F:    drivers/crypto/hisilicon/sec2/sec_main.c
 +F:    drivers/crypto/hisilicon/sec2/sec_crypto.h
 +F:    drivers/crypto/hisilicon/sec2/sec.h
 +F:    Documentation/ABI/testing/debugfs-hisi-sec
 +
 +HISILICON HIGH PERFORMANCE RSA ENGINE DRIVER (HPRE)
 +M:    Zaibo Xu <xuzaibo@huawei.com>
 +L:    linux-crypto@vger.kernel.org
 +S:    Maintained
 +F:    drivers/crypto/hisilicon/hpre/hpre_crypto.c
 +F:    drivers/crypto/hisilicon/hpre/hpre_main.c
 +F:    drivers/crypto/hisilicon/hpre/hpre.h
 +F:    Documentation/ABI/testing/debugfs-hisi-hpre
 +
  HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
  M:    Yisen Zhuang <yisen.zhuang@huawei.com>
  M:    Salil Mehta <salil.mehta@huawei.com>
@@@ -7441,11 -7371,6 +7439,11 @@@ W:    http://www.hisilicon.co
  S:    Maintained
  F:    drivers/net/ethernet/hisilicon/hns3/
  
 +HISILICON TRUE RANDOM NUMBER GENERATOR V2 SUPPORT
 +M:    Zaibo Xu <xuzaibo@huawei.com>
 +S:    Maintained
 +F:    drivers/char/hw_random/hisi-trng-v2.c
 +
  HISILICON LPC BUS DRIVER
  M:    john.garry@huawei.com
  W:    http://www.hisilicon.com
@@@ -7491,6 -7416,7 +7489,6 @@@ S:      Maintaine
  F:    drivers/crypto/hisilicon/qm.c
  F:    drivers/crypto/hisilicon/qm.h
  F:    drivers/crypto/hisilicon/sgl.c
 -F:    drivers/crypto/hisilicon/sgl.h
  F:    drivers/crypto/hisilicon/zip/
  F:    Documentation/ABI/testing/debugfs-hisi-zip
  
@@@ -7516,8 -7442,8 +7514,8 @@@ F:      drivers/platform/x86/tc1100-wmi.
  
  HP100:        Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
  M:    Jaroslav Kysela <perex@perex.cz>
 -S:    Maintained
 -F:    drivers/net/ethernet/hp/hp100.*
 +S:    Obsolete
 +F:    drivers/staging/hp/hp100.*
  
  HPET: High Precision Event Timers driver
  M:    Clemens Ladisch <clemens@ladisch.de>
@@@ -7618,13 -7544,6 +7616,13 @@@ L:    linux-kernel@vger.kernel.or
  S:    Maintained
  F:    arch/x86/kernel/cpu/hygon.c
  
 +HYNIX HI556 SENSOR DRIVER
 +M:    Shawn Tu <shawnx.tu@intel.com>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/hi556.c
 +
  Hyper-V CORE AND DRIVERS
  M:    "K. Y. Srinivasan" <kys@microsoft.com>
  M:    Haiyang Zhang <haiyangz@microsoft.com>
@@@ -7657,7 -7576,6 +7655,7 @@@ F:      include/uapi/linux/hyperv.
  F:    include/asm-generic/mshyperv.h
  F:    tools/hv/
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
 +F:    Documentation/ABI/testing/debugfs-hyperv
  
  HYPERBUS SUPPORT
  M:    Vignesh Raghavendra <vigneshr@ti.com>
@@@ -7810,7 -7728,7 +7808,7 @@@ F:      drivers/i2c/i2c-stub.
  
  I3C SUBSYSTEM
  M:    Boris Brezillon <bbrezillon@kernel.org>
 -L:    linux-i3c@lists.infradead.org
 +L:    linux-i3c@lists.infradead.org (moderated for non-subscribers)
  C:    irc://chat.freenode.net/linux-i3c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
  S:    Maintained
@@@ -7826,12 -7744,6 +7824,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.txt
  F:    drivers/i3c/master/dw*
  
 +I3C DRIVER FOR CADENCE I3C MASTER IP
 +M:      Przemysław Gaj <pgaj@cadence.com>
 +S:      Maintained
 +F:      Documentation/devicetree/bindings/i3c/cdns,i3c-master.txt
 +F:      drivers/i3c/master/i3c-master-cdns.c
 +
  IA64 (Itanium) PLATFORM
  M:    Tony Luck <tony.luck@intel.com>
  M:    Fenghua Yu <fenghua.yu@intel.com>
@@@ -8088,7 -8000,7 +8086,7 @@@ S:      Maintaine
  F:    drivers/usb/atm/ueagle-atm.c
  
  IMGTEC ASCII LCD DRIVER
 -M:    Paul Burton <paul.burton@mips.com>
 +M:    Paul Burton <paulburton@kernel.org>
  S:    Maintained
  F:    Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt
  F:    drivers/auxdisplay/img-ascii-lcd.c
@@@ -8330,7 -8242,7 +8328,7 @@@ F:      Documentation/fb/intelfb.rs
  F:    drivers/video/fbdev/intelfb/
  
  INTEL GPIO DRIVERS
 -M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +M:    Andy Shevchenko <andy@kernel.org>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
@@@ -8385,14 -8297,11 +8383,14 @@@ F:   drivers/hid/intel-ish-hid
  
  INTEL IOMMU (VT-d)
  M:    David Woodhouse <dwmw2@infradead.org>
 +M:    Lu Baolu <baolu.lu@linux.intel.com>
  L:    iommu@lists.linux-foundation.org
 -T:    git git://git.infradead.org/iommu-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
  S:    Supported
 -F:    drivers/iommu/intel-iommu.c
 +F:    drivers/iommu/dmar.c
 +F:    drivers/iommu/intel*.[ch]
  F:    include/linux/intel-iommu.h
 +F:    include/linux/intel-svm.h
  
  INTEL IOP-ADMA DMA DRIVER
  R:    Dan Williams <dan.j.williams@intel.com>
@@@ -8416,7 -8325,6 +8414,7 @@@ S:      Maintaine
  F:    drivers/staging/media/ipu3/
  F:    Documentation/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
  F:    Documentation/media/v4l-drivers/ipu3.rst
 +F:    Documentation/media/v4l-drivers/ipu3_rcb.svg
  
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
  M:    Krzysztof Halasa <khalasa@piap.pl>
@@@ -8484,7 -8392,7 +8482,7 @@@ F:      arch/x86/include/asm/intel_pmc_ipc.
  F:    arch/x86/include/asm/intel_punit_ipc.h
  
  INTEL PMIC GPIO DRIVERS
 -M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +M:    Andy Shevchenko <andy@kernel.org>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
  F:    drivers/gpio/gpio-*cove.c
@@@ -8652,13 -8560,12 +8650,13 @@@ F:   include/linux/iova.
  
  IO_URING
  M:    Jens Axboe <axboe@kernel.dk>
 -L:    linux-block@vger.kernel.org
 -L:    linux-fsdevel@vger.kernel.org
 +L:    io-uring@vger.kernel.org
  T:    git git://git.kernel.dk/linux-block
  T:    git git://git.kernel.dk/liburing
  S:    Maintained
  F:    fs/io_uring.c
 +F:    fs/io-wq.c
 +F:    fs/io-wq.h
  F:    include/uapi/linux/io_uring.h
  
  IPMI SUBSYSTEM
@@@ -9009,17 -8916,6 +9007,17 @@@ S:    Maintaine
  F:    tools/testing/selftests/
  F:    Documentation/dev-tools/kselftest*
  
 +KERNEL UNIT TESTING FRAMEWORK (KUnit)
 +M:    Brendan Higgins <brendanhiggins@google.com>
 +L:    linux-kselftest@vger.kernel.org
 +L:    kunit-dev@googlegroups.com
 +W:    https://google.github.io/kunit-docs/third_party/kernel/docs/
 +S:    Maintained
 +F:    Documentation/dev-tools/kunit/
 +F:    include/kunit/
 +F:    lib/kunit/
 +F:    tools/testing/kunit/
 +
  KERNEL USERMODE HELPER
  M:    Luis Chamberlain <mcgrof@kernel.org>
  L:    linux-kernel@vger.kernel.org
@@@ -9177,7 -9073,6 +9175,7 @@@ F:      security/keys
  KGDB / KDB /debug_core
  M:    Jason Wessel <jason.wessel@windriver.com>
  M:    Daniel Thompson <daniel.thompson@linaro.org>
 +R:    Douglas Anderson <dianders@chromium.org>
  W:    http://kgdb.wiki.kernel.org/
  L:    kgdb-bugreport@lists.sourceforge.net
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git
@@@ -9225,7 -9120,7 +9223,7 @@@ F:      drivers/auxdisplay/ks0108.
  F:    include/linux/ks0108.h
  
  L3MDEV
 -M:    David Ahern <dsa@cumulusnetworks.com>
 +M:    David Ahern <dsahern@kernel.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    net/l3mdev
@@@ -9286,7 -9181,6 +9284,7 @@@ M:      Pavel Machek <pavel@ucw.cz
  R:    Dan Murphy <dmurphy@ti.com>
  L:    linux-leds@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
  S:    Maintained
  F:    Documentation/devicetree/bindings/leds/
  F:    drivers/leds/
@@@ -9438,6 -9332,7 +9436,6 @@@ LIBNVDIMM: NON-VOLATILE MEMORY DEVICE S
  M:    Dan Williams <dan.j.williams@intel.com>
  M:    Vishal Verma <vishal.l.verma@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
 -M:    Keith Busch <keith.busch@intel.com>
  M:    Ira Weiny <ira.weiny@intel.com>
  L:    linux-nvdimm@lists.01.org
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
@@@ -9596,13 -9491,6 +9594,13 @@@ F:    Documentation/misc-devices/lis3lv02d
  F:    drivers/misc/lis3lv02d/
  F:    drivers/platform/x86/hp_accel.c
  
 +LIST KUNIT TEST
 +M:    David Gow <davidgow@google.com>
 +L:    linux-kselftest@vger.kernel.org
 +L:    kunit-dev@googlegroups.com
 +S:    Maintained
 +F:    lib/list-test.c
 +
  LIVE PATCHING
  M:    Josh Poimboeuf <jpoimboe@redhat.com>
  M:    Jiri Kosina <jikos@kernel.org>
@@@ -9707,13 -9595,6 +9705,13 @@@ S:    Maintaine
  F:    Documentation/admin-guide/ldm.rst
  F:    block/partitions/ldm.*
  
 +LOGITECH HID GAMING KEYBOARDS
 +M:    Hans de Goede <hdegoede@redhat.com>
 +L:    linux-input@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
 +S:    Maintained
 +F:    drivers/hid/hid-lg-g15.c
 +
  LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)
  M:    Sathya Prakash <sathya.prakash@broadcom.com>
  M:    Chaitra P B <chaitra.basappa@broadcom.com>
@@@ -9735,17 -9616,9 +9733,17 @@@ LTC1660 DAC DRIVE
  M:    Marcus Folkesson <marcus.folkesson@gmail.com>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    Documentation/devicetree/bindings/iio/dac/ltc1660.txt
 +F:    Documentation/devicetree/bindings/iio/dac/lltc,ltc1660.yaml
  F:    drivers/iio/dac/ltc1660.c
  
 +LTC2983 IIO TEMPERATURE DRIVER
 +M:    Nuno Sá <nuno.sa@analog.com>
 +W:    http://ez.analog.com/community/linux-device-drivers
 +L:    linux-iio@vger.kernel.org
 +S:    Supported
 +F:    drivers/iio/temperature/ltc2983.c
 +F:    Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
 +
  LTC4261 HARDWARE MONITOR DRIVER
  M:    Guenter Roeck <linux@roeck-us.net>
  L:    linux-hwmon@vger.kernel.org
@@@ -9753,17 -9626,6 +9751,17 @@@ S:    Maintaine
  F:    Documentation/hwmon/ltc4261.rst
  F:    drivers/hwmon/ltc4261.c
  
 +LTC2947 HARDWARE MONITOR DRIVER
 +M:    Nuno Sá <nuno.sa@analog.com>
 +W:    http://ez.analog.com/community/linux-device-drivers
 +L:    linux-hwmon@vger.kernel.org
 +S:    Supported
 +F:    drivers/hwmon/ltc2947-core.c
 +F:    drivers/hwmon/ltc2947-spi.c
 +F:    drivers/hwmon/ltc2947-i2c.c
 +F:    drivers/hwmon/ltc2947.h
 +F:    Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
 +
  LTC4306 I2C MULTIPLEXER DRIVER
  M:    Michael Hennerich <michael.hennerich@analog.com>
  W:    http://ez.analog.com/community/linux-device-drivers
@@@ -9872,7 -9734,6 +9870,7 @@@ S:      Maintaine
  F:    drivers/net/dsa/mv88e6xxx/
  F:    include/linux/platform_data/mv88e6xxx.h
  F:    Documentation/devicetree/bindings/net/dsa/marvell.txt
 +F:    Documentation/networking/devlink-params-mv88e6xxx.txt
  
  MARVELL ARMADA DRM SUPPORT
  M:    Russell King <linux@armlinux.org.uk>
@@@ -9997,7 -9858,7 +9995,7 @@@ F:      Documentation/hwmon/max16065.rs
  F:    drivers/hwmon/max16065.c
  
  MAX2175 SDR TUNER DRIVER
 -M:    Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
 +M:    Ramesh Shanmugasundaram <rashanmu@gmail.com>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
  S:    Maintained
@@@ -10039,8 -9900,8 +10037,8 @@@ MAXIM MAX77650 PMIC MFD DRIVE
  M:    Bartosz Golaszewski <bgolaszewski@baylibre.com>
  L:    linux-kernel@vger.kernel.org
  S:    Maintained
- F:    Documentation/devicetree/bindings/*/*max77650.txt
- F:    Documentation/devicetree/bindings/*/max77650*.txt
+ F:    Documentation/devicetree/bindings/*/*max77650.yaml
+ F:    Documentation/devicetree/bindings/*/max77650*.yaml
  F:    include/linux/mfd/max77650.h
  F:    drivers/mfd/max77650.c
  F:    drivers/regulator/max77650-regulator.c
@@@ -10259,7 -10120,7 +10257,7 @@@ F:   drivers/media/platform/renesas-ceu.
  F:    include/media/drv-intf/renesas-ceu.h
  
  MEDIA DRIVERS FOR RENESAS - DRIF
 -M:    Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
 +M:    Ramesh Shanmugasundaram <rashanmu@gmail.com>
  L:    linux-media@vger.kernel.org
  L:    linux-renesas-soc@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
@@@ -10391,7 -10252,7 +10389,7 @@@ MEDIATEK ETHERNET DRIVE
  M:    Felix Fietkau <nbd@openwrt.org>
  M:    John Crispin <john@phrozen.org>
  M:    Sean Wang <sean.wang@mediatek.com>
 -M:    Nelson Chang <nelson.chang@mediatek.com>
 +M:    Mark Lee <Mark-MC.Lee@mediatek.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/ethernet/mediatek/
@@@ -10403,13 -10264,6 +10401,13 @@@ S: Maintaine
  F:    drivers/net/dsa/mt7530.*
  F:    net/dsa/tag_mtk.c
  
 +MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
 +M:    Sean Wang <sean.wang@mediatek.com>
 +L:    linux-pm@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt
 +F:    drivers/power/reset/mt6323-poweroff.c
 +
  MEDIATEK JPEG DRIVER
  M:    Rick Chang <rick.chang@mediatek.com>
  M:    Bin Liu <bin.liu@mediatek.com>
@@@ -10575,7 -10429,6 +10573,7 @@@ M:   Darren Hart <dvhart@infradead.org
  M:    Vadim Pasternak <vadimp@mellanox.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Supported
 +F:    Documentation/ABI/testing/sysfs-platform-mellanox-bootctl
  F:    drivers/platform/mellanox/
  F:    include/linux/platform_data/mlxreg.h
  
@@@ -10662,12 -10515,8 +10660,12 @@@ F: mm/memblock.
  F:    Documentation/core-api/boot-time-mm.rst
  
  MEMORY MANAGEMENT
 +M:    Andrew Morton <akpm@linux-foundation.org>
  L:    linux-mm@kvack.org
  W:    http://www.linux-mm.org
 +T:    quilt https://ozlabs.org/~akpm/mmotm/
 +T:    quilt https://ozlabs.org/~akpm/mmots/
 +T:    git git://github.com/hnaz/linux-mm.git
  S:    Maintained
  F:    include/linux/mm.h
  F:    include/linux/gfp.h
@@@ -10677,13 -10526,15 +10675,13 @@@ F:        include/linux/vmalloc.
  F:    mm/
  
  MEMORY TECHNOLOGY DEVICES (MTD)
 -M:    David Woodhouse <dwmw2@infradead.org>
 -M:    Brian Norris <computersforpeace@gmail.com>
 -M:    Marek Vasut <marek.vasut@gmail.com>
  M:    Miquel Raynal <miquel.raynal@bootlin.com>
  M:    Richard Weinberger <richard@nod.at>
  M:    Vignesh Raghavendra <vigneshr@ti.com>
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
 +C:    irc://irc.oftc.net/mtd
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
  S:    Maintained
@@@ -10728,7 -10579,7 +10726,7 @@@ W:   http://linux-meson.com
  S:    Supported
  F:    drivers/media/platform/meson/ao-cec.c
  F:    drivers/media/platform/meson/ao-cec-g12a.c
 -F:    Documentation/devicetree/bindings/media/meson-ao-cec.txt
 +F:    Documentation/devicetree/bindings/media/amlogic,meson-gx-ao-cec.yaml
  T:    git git://linuxtv.org/media_tree.git
  
  MESON NAND CONTROLLER DRIVER FOR AMLOGIC SOCS
@@@ -10869,7 -10720,7 +10867,7 @@@ M:   Kent Gustavsson <kent@minoris.se
  L:    linux-iio@vger.kernel.org
  S:    Supported
  F:    drivers/iio/adc/mcp3911.c
 -F:    Documentation/devicetree/bindings/iio/adc/mcp3911.txt
 +F:    Documentation/devicetree/bindings/iio/adc/microchip,mcp3911.yaml
  
  MICROCHIP NAND DRIVER
  M:    Tudor Ambarus <tudor.ambarus@microchip.com>
@@@ -10960,7 -10811,6 +10958,7 @@@ M:   Microchip Linux Driver Support <UNGL
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/mscc/
 +F:    include/soc/mscc/ocelot*
  
  MICROSOFT SURFACE PRO 3 BUTTON DRIVER
  M:    Chen Yu <yu.c.chen@intel.com>
@@@ -10975,7 -10825,7 +10973,7 @@@ F:   drivers/usb/image/microtek.
  
  MIPS
  M:    Ralf Baechle <ralf@linux-mips.org>
 -M:    Paul Burton <paul.burton@mips.com>
 +M:    Paul Burton <paulburton@kernel.org>
  M:    James Hogan <jhogan@kernel.org>
  L:    linux-mips@vger.kernel.org
  W:    http://www.linux-mips.org/
@@@ -10989,7 -10839,7 +10987,7 @@@ F:   arch/mips
  F:    drivers/platform/mips/
  
  MIPS BOSTON DEVELOPMENT BOARD
 -M:    Paul Burton <paul.burton@mips.com>
 +M:    Paul Burton <paulburton@kernel.org>
  L:    linux-mips@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/clock/img,boston-clock.txt
@@@ -10999,7 -10849,7 +10997,7 @@@ F:   drivers/clk/imgtec/clk-boston.
  F:    include/dt-bindings/clock/boston-clock.h
  
  MIPS GENERIC PLATFORM
 -M:    Paul Burton <paul.burton@mips.com>
 +M:    Paul Burton <paulburton@kernel.org>
  L:    linux-mips@vger.kernel.org
  S:    Supported
  F:    Documentation/devicetree/bindings/power/mti,mips-cpc.txt
@@@ -11015,18 -10865,18 +11013,18 @@@ F:        arch/mips/include/asm/mach-loongson3
  F:    drivers/*/*loongson1*
  F:    drivers/*/*/*loongson1*
  
 -MIPS/LOONGSON2 ARCHITECTURE
 +MIPS/LOONGSON2EF ARCHITECTURE
  M:    Jiaxun Yang <jiaxun.yang@flygoat.com>
  L:    linux-mips@vger.kernel.org
  S:    Maintained
 -F:    arch/mips/loongson64/fuloong-2e/
 -F:    arch/mips/loongson64/lemote-2f/
 -F:    arch/mips/include/asm/mach-loongson64/
 +F:    arch/mips/loongson2ef/
 +F:    arch/mips/include/asm/mach-loongson2ef/
  F:    drivers/*/*loongson2*
  F:    drivers/*/*/*loongson2*
  
 -MIPS/LOONGSON3 ARCHITECTURE
 +MIPS/LOONGSON64 ARCHITECTURE
  M:    Huacai Chen <chenhc@lemote.com>
 +M:    Jiaxun Yang <jiaxun.yang@flygoat.com>
  L:    linux-mips@vger.kernel.org
  S:    Maintained
  F:    arch/mips/loongson64/
@@@ -11554,6 -11404,7 +11552,6 @@@ F:   include/trace/events/tcp.
  NETWORKING [TLS]
  M:    Boris Pismenny <borisp@mellanox.com>
  M:    Aviad Yehezkel <aviadye@mellanox.com>
 -M:    Dave Watson <davejwatson@fb.com>
  M:    John Fastabend <john.fastabend@gmail.com>
  M:    Daniel Borkmann <daniel@iogearbox.net>
  M:    Jakub Kicinski <jakub.kicinski@netronome.com>
@@@ -11690,7 -11541,6 +11688,7 @@@ NSDEP
  M:    Matthias Maennich <maennich@google.com>
  S:    Maintained
  F:    scripts/nsdeps
 +F:    Documentation/core-api/symbol-namespaces.rst
  
  NTB AMD DRIVER
  M:    Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
@@@ -11777,7 -11627,6 +11775,7 @@@ F:   drivers/nvme/target/fcloop.
  NVM EXPRESS TARGET DRIVER
  M:    Christoph Hellwig <hch@lst.de>
  M:    Sagi Grimberg <sagi@grimberg.me>
 +M:    Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
  L:    linux-nvme@lists.infradead.org
  T:    git://git.infradead.org/nvme.git
  W:    http://git.infradead.org/nvme.git
@@@ -12459,15 -12308,12 +12457,15 @@@ F:        arch/parisc
  F:    Documentation/parisc/
  F:    drivers/parisc/
  F:    drivers/char/agp/parisc-agp.c
 +F:    drivers/input/misc/hp_sdc_rtc.c
  F:    drivers/input/serio/gscps2.c
 +F:    drivers/input/serio/hp_sdc*
  F:    drivers/parport/parport_gsc.*
  F:    drivers/tty/serial/8250/8250_gsc.c
  F:    drivers/video/fbdev/sti*
  F:    drivers/video/console/sti*
  F:    drivers/video/logo/logo_parisc*
 +F:    include/linux/hp_sdc.h
  
  PARMAN
  M:    Jiri Pirko <jiri@mellanox.com>
@@@ -12919,13 -12765,6 +12917,13 @@@ F: arch/*/events/
  F:    arch/*/events/*/*
  F:    tools/perf/
  
 +PERFORMANCE EVENTS SUBSYSTEM ARM64 PMU EVENTS
 +R:    John Garry <john.garry@huawei.com>
 +R:    Will Deacon <will@kernel.org>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Supported
 +F:    tools/perf/pmu-events/arch/arm64/
 +
  PERSONALITY HANDLING
  M:    Christoph Hellwig <hch@infradead.org>
  L:    linux-abi-devel@lists.sourceforge.net
@@@ -12983,7 -12822,6 +12981,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
  F:    samples/pidfd/
  F:    tools/testing/selftests/pidfd/
 +F:    tools/testing/selftests/clone3/
  K:    (?i)pidfd
  K:    (?i)clone3
  K:    \b(clone_args|kernel_clone_args)\b
@@@ -13019,7 -12857,7 +13017,7 @@@ F:   Documentation/devicetree/bindings/pi
  
  PIN CONTROLLER - INTEL
  M:    Mika Westerberg <mika.westerberg@linux.intel.com>
 -M:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +M:    Andy Shevchenko <andy@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel.git
  S:    Maintained
  F:    drivers/pinctrl/intel/
@@@ -13149,15 -12987,6 +13147,15 @@@ L: linux-scsi@vger.kernel.or
  S:    Supported
  F:    drivers/scsi/pm8001/
  
 +PM-GRAPH UTILITY
 +M:    "Todd E Brandt" <todd.e.brandt@linux.intel.com>
 +L:    linux-pm@vger.kernel.org
 +W:    https://01.org/pm-graph
 +B:    https://bugzilla.kernel.org/buglist.cgi?component=pm-graph&product=Tools
 +T:    git git://github.com/intel/pm-graph
 +S:    Supported
 +F:    tools/power/pm-graph
 +
  PNP SUPPORT
  M:    "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
  S:    Maintained
@@@ -13290,14 -13119,12 +13288,14 @@@ F:        Documentation/filesystems/proc.tx
  PROC SYSCTL
  M:    Luis Chamberlain <mcgrof@kernel.org>
  M:    Kees Cook <keescook@chromium.org>
 +M:    Iurii Zaikin <yzaikin@google.com>
  L:    linux-kernel@vger.kernel.org
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
  F:    fs/proc/proc_sysctl.c
  F:    include/linux/sysctl.h
  F:    kernel/sysctl.c
 +F:    kernel/sysctl-test.c
  F:    tools/testing/selftests/sysctl/
  
  PS3 NETWORK SUPPORT
@@@ -13530,7 -13357,7 +13528,7 @@@ S:   Maintaine
  F:    drivers/scsi/qla1280.[ch]
  
  QLOGIC QLA2XXX FC-SCSI DRIVER
 -M:    qla2xxx-upstream@qlogic.com
 +M:    hmadhani@marvell.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    Documentation/scsi/LICENSE.qla2xxx
@@@ -13981,7 -13808,7 +13979,7 @@@ R:   Sergei Shtylyov <sergei.shtylyov@cog
  L:    netdev@vger.kernel.org
  L:    linux-renesas-soc@vger.kernel.org
  F:    Documentation/devicetree/bindings/net/renesas,*.txt
 -F:    Documentation/devicetree/bindings/net/sh_eth.txt
 +F:    Documentation/devicetree/bindings/net/renesas,*.yaml
  F:    drivers/net/ethernet/renesas/
  F:    include/linux/sh_eth.h
  
@@@ -14071,7 -13898,7 +14069,7 @@@ F:   drivers/mtd/nand/raw/r852.
  
  RISC-V ARCHITECTURE
  M:    Paul Walmsley <paul.walmsley@sifive.com>
 -M:    Palmer Dabbelt <palmer@sifive.com>
 +M:    Palmer Dabbelt <palmer@dabbelt.com>
  M:    Albert Ou <aou@eecs.berkeley.edu>
  L:    linux-riscv@lists.infradead.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
@@@ -14122,12 -13949,6 +14120,12 @@@ L: linux-serial@vger.kernel.or
  S:    Odd Fixes
  F:    drivers/tty/serial/rp2.*
  
 +ROHM BH1750 AMBIENT LIGHT SENSOR DRIVER
 +M:    Tomasz Duszynski <tduszyns@gmail.com>
 +S:    Maintained
 +F:    drivers/iio/light/bh1750.c
 +F:    Documentation/devicetree/bindings/iio/light/bh1750.yaml
 +
  ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS
  M:    Marek Vasut <marek.vasut+renesas@gmail.com>
  L:    linux-kernel@vger.kernel.org
@@@ -14389,7 -14210,7 +14387,7 @@@ L:   linux-crypto@vger.kernel.or
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
  F:    drivers/crypto/exynos-rng.c
- F:    Documentation/devicetree/bindings/rng/samsung,exynos4-rng.txt
+ F:    Documentation/devicetree/bindings/rng/samsung,exynos4-rng.yaml
  
  SAMSUNG EXYNOS TRUE RANDOM NUMBER GENERATOR (TRNG) DRIVER
  M:    Łukasz Stelmach <l.stelmach@samsung.com>
@@@ -14464,8 -14285,8 +14462,8 @@@ M:   Kamil Konieczny <k.konieczny@partner
  L:    linux-crypto@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
  S:    Maintained
- F:    Documentation/devicetree/bindings/crypto/samsung-slimsss.txt
- F:    Documentation/devicetree/bindings/crypto/samsung-sss.txt
+ F:    Documentation/devicetree/bindings/crypto/samsung-slimsss.yaml
+ F:    Documentation/devicetree/bindings/crypto/samsung-sss.yaml
  F:    drivers/crypto/s5p-sss.c
  
  SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
@@@ -14953,14 -14774,8 +14951,14 @@@ F: drivers/media/usb/siano
  F:    drivers/media/usb/siano/
  F:    drivers/media/mmc/siano/
  
 +SIFIVE PDMA DRIVER
 +M:    Green Wan <green.wan@sifive.com>
 +S:    Maintained
 +F:    drivers/dma/sf-pdma/
 +F:    Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
 +
  SIFIVE DRIVERS
 -M:    Palmer Dabbelt <palmer@sifive.com>
 +M:    Palmer Dabbelt <palmer@dabbelt.com>
  M:    Paul Walmsley <paul.walmsley@sifive.com>
  L:    linux-riscv@lists.infradead.org
  T:    git git://github.com/sifive/riscv-linux.git
@@@ -14970,7 -14785,7 +14968,7 @@@ N:   sifiv
  
  SIFIVE FU540 SYSTEM-ON-CHIP
  M:    Paul Walmsley <paul.walmsley@sifive.com>
 -M:    Palmer Dabbelt <palmer@sifive.com>
 +M:    Palmer Dabbelt <palmer@dabbelt.com>
  L:    linux-riscv@lists.infradead.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pjw/sifive.git
  S:    Supported
@@@ -14985,11 -14800,6 +14983,11 @@@ S: Maintaine
  F:    drivers/input/touchscreen/silead.c
  F:    drivers/platform/x86/touchscreen_dmi.c
  
 +SILICON LABS WIRELESS DRIVERS (for WFxxx series)
 +M:    Jérôme Pouiller <jerome.pouiller@silabs.com>
 +S:    Supported
 +F:    drivers/staging/wfx/
 +
  SILICON MOTION SM712 FRAME BUFFER DRIVER
  M:    Sudip Mukherjee <sudipm.mukherjee@gmail.com>
  M:    Teddy Wang <teddy.wang@siliconmotion.com>
@@@ -15189,7 -14999,7 +15187,7 @@@ F:   include/media/soc_camera.
  F:    drivers/staging/media/soc_camera/
  
  SOCIONEXT SYNQUACER I2C DRIVER
 -M:    Ard Biesheuvel <ard.biesheuvel@linaro.org>
 +M:    Ard Biesheuvel <ardb@kernel.org>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
  F:    drivers/i2c/busses/i2c-synquacer.c
@@@ -15324,14 -15134,6 +15322,14 @@@ S: Maintaine
  F:    drivers/media/i2c/imx274.c
  F:    Documentation/devicetree/bindings/media/i2c/imx274.txt
  
 +SONY IMX290 SENSOR DRIVER
 +M:    Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 +L:    linux-media@vger.kernel.org
 +T:    git git://linuxtv.org/media_tree.git
 +S:    Maintained
 +F:    drivers/media/i2c/imx290.c
 +F:    Documentation/devicetree/bindings/media/i2c/imx290.txt
 +
  SONY IMX319 SENSOR DRIVER
  M:    Bingbu Cao <bingbu.cao@intel.com>
  L:    linux-media@vger.kernel.org
@@@ -15479,6 -15281,7 +15477,6 @@@ F:   arch/arm/boot/dts/spear
  F:    arch/arm/mach-spear/
  
  SPI NOR SUBSYSTEM
 -M:    Marek Vasut <marek.vasut@gmail.com>
  M:    Tudor Ambarus <tudor.ambarus@microchip.com>
  L:    linux-mtd@lists.infradead.org
  W:    http://www.linux-mtd.infradead.org/
@@@ -15655,14 -15458,6 +15653,14 @@@ L: linux-wireless@vger.kernel.or
  S:    Supported
  F:    drivers/staging/wilc1000/
  
 +STAGING - SEPS525 LCD CONTROLLER DRIVERS
 +M:    Michael Hennerich <michael.hennerich@analog.com>
 +M:    Beniamin Bia <beniamin.bia@analog.com>
 +L:    linux-fbdev@vger.kernel.org
 +S:    Supported
 +F:    drivers/staging/fbtft/fb_seps525.c
 +F:    Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
 +
  STAGING SUBSYSTEM
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
@@@ -15953,13 -15748,6 +15951,13 @@@ F: drivers/hwtracing/stm
  F:    include/linux/stm.h
  F:    include/uapi/linux/stm.h
  
 +SYSTEM76 ACPI DRIVER
 +M:    Jeremy Soller <jeremy@system76.com>
 +M:    System76 Product Development <productdev@system76.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/system76_acpi.c
 +
  SYSV FILESYSTEM
  M:    Christoph Hellwig <hch@infradead.org>
  S:    Maintained
@@@ -16412,12 -16200,6 +16410,12 @@@ S: Maintaine
  F:    drivers/media/platform/davinci/
  F:    include/media/davinci/
  
 +TI ENHANCED QUADRATURE ENCODER PULSE (eQEP) DRIVER
 +R:    David Lechner <david@lechnology.com>
 +L:    linux-iio@vger.kernel.org
 +F:    Documentation/devicetree/bindings/counter/ti-eqep.yaml
 +F:    drivers/counter/ti-eqep.c
 +
  TI ETHERNET SWITCH DRIVER (CPSW)
  R:    Grygorii Strashko <grygorii.strashko@ti.com>
  L:    linux-omap@vger.kernel.org
@@@ -16515,7 -16297,6 +16513,7 @@@ W:   http://linuxtv.org
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  S:    Maintained
  F:    drivers/media/platform/ti-vpe/
 +F:    Documentation/devicetree/bindings/media/ti,vpe.yaml
  
  TI WILINK WIRELESS DRIVERS
  L:    linux-wireless@vger.kernel.org
@@@ -16586,13 -16367,6 +16584,13 @@@ S: Maintaine
  F:    Documentation/hwmon/tmp401.rst
  F:    drivers/hwmon/tmp401.c
  
 +TMP513 HARDWARE MONITOR DRIVER
 +M:    Eric Tremblay <etremblay@distech-controls.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/tmp513.rst
 +F:    drivers/hwmon/tmp513.c
 +
  TMPFS (SHMEM FILESYSTEM)
  M:    Hugh Dickins <hughd@google.com>
  L:    linux-mm@kvack.org
@@@ -16804,9 -16578,10 +16802,9 @@@ F:  drivers/media/pci/tw686x
  
  UBI FILE SYSTEM (UBIFS)
  M:    Richard Weinberger <richard@nod.at>
 -M:    Artem Bityutskiy <dedekind1@gmail.com>
 -M:    Adrian Hunter <adrian.hunter@intel.com>
  L:    linux-mtd@lists.infradead.org
 -T:    git git://git.infradead.org/ubifs-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git next
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git fixes
  W:    http://www.linux-mtd.infradead.org/doc/ubifs.html
  S:    Supported
  F:    Documentation/filesystems/ubifs.txt
@@@ -16921,11 -16696,11 +16919,11 @@@ S:        Maintaine
  F:    drivers/scsi/ufs/ufs-mediatek*
  
  UNSORTED BLOCK IMAGES (UBI)
 -M:    Artem Bityutskiy <dedekind1@gmail.com>
  M:    Richard Weinberger <richard@nod.at>
  W:    http://www.linux-mtd.infradead.org/
  L:    linux-mtd@lists.infradead.org
 -T:    git git://git.infradead.org/ubifs-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git next
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git fixes
  S:    Supported
  F:    drivers/mtd/ubi/
  F:    include/linux/mtd/ubi.h
@@@ -16985,6 -16760,13 +16983,6 @@@ W:  http://www.linux-usb.org/usbne
  S:    Maintained
  F:    drivers/net/usb/dm9601.c
  
 -USB DIAMOND RIO500 DRIVER
 -M:    Cesar Miquel <miquel@df.uba.ar>
 -L:    rio500-users@lists.sourceforge.net
 -W:    http://rio500.sourceforge.net
 -S:    Maintained
 -F:    drivers/usb/misc/rio500*
 -
  USB EHCI DRIVER
  M:    Alan Stern <stern@rowland.harvard.edu>
  L:    linux-usb@vger.kernel.org
@@@ -17412,7 -17194,6 +17410,7 @@@ F:   include/media/videobuf2-
  
  VIMC VIRTUAL MEDIA CONTROLLER DRIVER
  M:    Helen Koike <helen.koike@collabora.com>
 +R:    Shuah Khan <skhan@linuxfoundation.org>
  L:    linux-media@vger.kernel.org
  T:    git git://linuxtv.org/media_tree.git
  W:    https://linuxtv.org
@@@ -17428,7 -17209,6 +17426,7 @@@ F:   virt/lib
  
  VIRTIO AND VHOST VSOCK DRIVER
  M:    Stefan Hajnoczi <stefanha@redhat.com>
 +M:    Stefano Garzarella <sgarzare@redhat.com>
  L:    kvm@vger.kernel.org
  L:    virtualization@lists.linux-foundation.org
  L:    netdev@vger.kernel.org
@@@ -17560,14 -17340,6 +17558,14 @@@ S: Maintaine
  F:    drivers/input/serio/userio.c
  F:    include/uapi/linux/userio.h
  
 +VITESSE FELIX ETHERNET SWITCH DRIVER
 +M:    Vladimir Oltean <vladimir.oltean@nxp.com>
 +M:    Claudiu Manoil <claudiu.manoil@nxp.com>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/dsa/ocelot/*
 +F:    net/dsa/tag_ocelot.c
 +
  VIVID VIRTUAL VIDEO DRIVER
  M:    Hans Verkuil <hverkuil@xs4all.nl>
  L:    linux-media@vger.kernel.org
@@@ -17661,25 -17433,13 +17659,25 @@@ F:        include/linux/regulator
  K:    regulator_get_optional
  
  VRF
 -M:    David Ahern <dsa@cumulusnetworks.com>
 +M:    David Ahern <dsahern@kernel.org>
  M:    Shrijeet Mukherjee <shrijeet@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/vrf.c
  F:    Documentation/networking/vrf.txt
  
 +VSPRINTF
 +M:    Petr Mladek <pmladek@suse.com>
 +M:    Steven Rostedt <rostedt@goodmis.org>
 +M:    Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
 +R:    Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 +R:    Rasmus Villemoes <linux@rasmusvillemoes.dk>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git
 +S:    Maintained
 +F:    lib/vsprintf.c
 +F:    lib/test_printf.c
 +F:    Documentation/core-api/printk-formats.rst
 +
  VT1211 HARDWARE MONITOR DRIVER
  M:    Juerg Haefliger <juergh@gmail.com>
  L:    linux-hwmon@vger.kernel.org
@@@ -17694,8 -17454,10 +17692,8 @@@ S:  Maintaine
  F:    drivers/hwmon/vt8231.c
  
  VUB300 USB to SDIO/SD/MMC bridge chip
 -M:    Tony Olech <tony.olech@elandigitalsystems.com>
  L:    linux-mmc@vger.kernel.org
 -L:    linux-usb@vger.kernel.org
 -S:    Supported
 +S:    Orphan
  F:    drivers/mmc/host/vub300.c
  
  W1 DALLAS'S 1-WIRE BUS
@@@ -18272,7 -18034,6 +18270,7 @@@ F:   Documentation/vm/zsmalloc.rs
  ZSWAP COMPRESSED SWAP CACHING
  M:    Seth Jennings <sjenning@redhat.com>
  M:    Dan Streetman <ddstreet@ieee.org>
 +M:    Vitaly Wool <vitaly.wool@konsulko.com>
  L:    linux-mm@kvack.org
  S:    Maintained
  F:    mm/zswap.c
diff --combined drivers/of/fdt.c
@@@ -412,8 -412,8 +412,8 @@@ void *__unflatten_device_tree(const voi
        /* Second pass, do actual unflattening */
        unflatten_dt_nodes(blob, mem, dad, mynodes);
        if (be32_to_cpup(mem + size) != 0xdeadbeef)
 -              pr_warning("End of tree marker overwritten: %08x\n",
 -                         be32_to_cpup(mem + size));
 +              pr_warn("End of tree marker overwritten: %08x\n",
 +                      be32_to_cpup(mem + size));
  
        if (detached && mynodes) {
                of_node_set_flag(*mynodes, OF_DETACHED);
@@@ -947,8 -947,8 +947,8 @@@ int __init early_init_dt_scan_chosen_st
                if (fdt_node_check_compatible(fdt, offset, match->compatible))
                        continue;
  
-               of_setup_earlycon(match, offset, options);
-               return 0;
+               if (of_setup_earlycon(match, offset, options) == 0)
+                       return 0;
        }
        return -ENODEV;
  }
@@@ -1120,25 -1120,25 +1120,25 @@@ void __init __weak early_init_dt_add_me
        size &= PAGE_MASK;
  
        if (base > MAX_MEMBLOCK_ADDR) {
 -              pr_warning("Ignoring memory block 0x%llx - 0x%llx\n",
 -                              base, base + size);
 +              pr_warn("Ignoring memory block 0x%llx - 0x%llx\n",
 +                      base, base + size);
                return;
        }
  
        if (base + size - 1 > MAX_MEMBLOCK_ADDR) {
 -              pr_warning("Ignoring memory range 0x%llx - 0x%llx\n",
 -                              ((u64)MAX_MEMBLOCK_ADDR) + 1, base + size);
 +              pr_warn("Ignoring memory range 0x%llx - 0x%llx\n",
 +                      ((u64)MAX_MEMBLOCK_ADDR) + 1, base + size);
                size = MAX_MEMBLOCK_ADDR - base + 1;
        }
  
        if (base + size < phys_offset) {
 -              pr_warning("Ignoring memory block 0x%llx - 0x%llx\n",
 -                         base, base + size);
 +              pr_warn("Ignoring memory block 0x%llx - 0x%llx\n",
 +                      base, base + size);
                return;
        }
        if (base < phys_offset) {
 -              pr_warning("Ignoring memory range 0x%llx - 0x%llx\n",
 -                         base, phys_offset);
 +              pr_warn("Ignoring memory range 0x%llx - 0x%llx\n",
 +                      base, phys_offset);
                size -= phys_offset - base;
                base = phys_offset;
        }
diff --combined drivers/of/property.c
@@@ -25,7 -25,6 +25,7 @@@
  #include <linux/of_device.h>
  #include <linux/of_graph.h>
  #include <linux/string.h>
 +#include <linux/moduleparam.h>
  
  #include "of_private.h"
  
@@@ -165,7 -164,7 +165,7 @@@ EXPORT_SYMBOL_GPL(of_property_read_u64_
   *
   * @np:               device node from which the property value is to be read.
   * @propname: name of the property to be searched.
-  * @out_values:       pointer to return value, modified only if return value is 0.
+  * @out_values:       pointer to found values.
   * @sz_min:   minimum number of array elements to read
   * @sz_max:   maximum number of array elements to read, if zero there is no
   *            upper limit on the number of elements in the dts entry but only
@@@ -213,7 -212,7 +213,7 @@@ EXPORT_SYMBOL_GPL(of_property_read_vari
   *
   * @np:               device node from which the property value is to be read.
   * @propname: name of the property to be searched.
-  * @out_values:       pointer to return value, modified only if return value is 0.
+  * @out_values:       pointer to found values.
   * @sz_min:   minimum number of array elements to read
   * @sz_max:   maximum number of array elements to read, if zero there is no
   *            upper limit on the number of elements in the dts entry but only
@@@ -261,7 -260,7 +261,7 @@@ EXPORT_SYMBOL_GPL(of_property_read_vari
   *
   * @np:               device node from which the property value is to be read.
   * @propname: name of the property to be searched.
-  * @out_values:       pointer to return value, modified only if return value is 0.
+  * @out_values:       pointer to return found values.
   * @sz_min:   minimum number of array elements to read
   * @sz_max:   maximum number of array elements to read, if zero there is no
   *            upper limit on the number of elements in the dts entry but only
@@@ -335,7 -334,7 +335,7 @@@ EXPORT_SYMBOL_GPL(of_property_read_u64)
   *
   * @np:               device node from which the property value is to be read.
   * @propname: name of the property to be searched.
-  * @out_values:       pointer to return value, modified only if return value is 0.
+  * @out_values:       pointer to found values.
   * @sz_min:   minimum number of array elements to read
   * @sz_max:   maximum number of array elements to read, if zero there is no
   *            upper limit on the number of elements in the dts entry but only
@@@ -873,20 -872,6 +873,20 @@@ of_fwnode_property_read_string_array(co
                of_property_count_strings(node, propname);
  }
  
 +static const char *of_fwnode_get_name(const struct fwnode_handle *fwnode)
 +{
 +      return kbasename(to_of_node(fwnode)->full_name);
 +}
 +
 +static const char *of_fwnode_get_name_prefix(const struct fwnode_handle *fwnode)
 +{
 +      /* Root needs no prefix here (its name is "/"). */
 +      if (!to_of_node(fwnode)->parent)
 +              return "";
 +
 +      return "/";
 +}
 +
  static struct fwnode_handle *
  of_fwnode_get_parent(const struct fwnode_handle *fwnode)
  {
@@@ -1000,320 -985,6 +1000,320 @@@ of_fwnode_device_get_match_data(const s
        return of_device_get_match_data(dev);
  }
  
 +static bool of_is_ancestor_of(struct device_node *test_ancestor,
 +                            struct device_node *child)
 +{
 +      of_node_get(child);
 +      while (child) {
 +              if (child == test_ancestor) {
 +                      of_node_put(child);
 +                      return true;
 +              }
 +              child = of_get_next_parent(child);
 +      }
 +      return false;
 +}
 +
 +/**
 + * of_link_to_phandle - Add device link to supplier from supplier phandle
 + * @dev: consumer device
 + * @sup_np: phandle to supplier device tree node
 + *
 + * Given a phandle to a supplier device tree node (@sup_np), this function
 + * finds the device that owns the supplier device tree node and creates a
 + * device link from @dev consumer device to the supplier device. This function
 + * doesn't create device links for invalid scenarios such as trying to create a
 + * link with a parent device as the consumer of its child device. In such
 + * cases, it returns an error.
 + *
 + * Returns:
 + * - 0 if link successfully created to supplier
 + * - -EAGAIN if linking to the supplier should be reattempted
 + * - -EINVAL if the supplier link is invalid and should not be created
 + * - -ENODEV if there is no device that corresponds to the supplier phandle
 + */
 +static int of_link_to_phandle(struct device *dev, struct device_node *sup_np,
 +                            u32 dl_flags)
 +{
 +      struct device *sup_dev;
 +      int ret = 0;
 +      struct device_node *tmp_np = sup_np;
 +      int is_populated;
 +
 +      of_node_get(sup_np);
 +      /*
 +       * Find the device node that contains the supplier phandle.  It may be
 +       * @sup_np or it may be an ancestor of @sup_np.
 +       */
 +      while (sup_np && !of_find_property(sup_np, "compatible", NULL))
 +              sup_np = of_get_next_parent(sup_np);
 +      if (!sup_np) {
 +              dev_dbg(dev, "Not linking to %pOFP - No device\n", tmp_np);
 +              return -ENODEV;
 +      }
 +
 +      /*
 +       * Don't allow linking a device node as a consumer of one of its
 +       * descendant nodes. By definition, a child node can't be a functional
 +       * dependency for the parent node.
 +       */
 +      if (of_is_ancestor_of(dev->of_node, sup_np)) {
 +              dev_dbg(dev, "Not linking to %pOFP - is descendant\n", sup_np);
 +              of_node_put(sup_np);
 +              return -EINVAL;
 +      }
 +      sup_dev = get_dev_from_fwnode(&sup_np->fwnode);
 +      is_populated = of_node_check_flag(sup_np, OF_POPULATED);
 +      of_node_put(sup_np);
 +      if (!sup_dev && is_populated) {
 +              /* Early device without struct device. */
 +              dev_dbg(dev, "Not linking to %pOFP - No struct device\n",
 +                      sup_np);
 +              return -ENODEV;
 +      } else if (!sup_dev) {
 +              return -EAGAIN;
 +      }
 +      if (!device_link_add(dev, sup_dev, dl_flags))
 +              ret = -EAGAIN;
 +      put_device(sup_dev);
 +      return ret;
 +}
 +
 +/**
 + * parse_prop_cells - Property parsing function for suppliers
 + *
 + * @np:               Pointer to device tree node containing a list
 + * @prop_name:        Name of property to be parsed. Expected to hold phandle values
 + * @index:    For properties holding a list of phandles, this is the index
 + *            into the list.
 + * @list_name:        Property name that is known to contain list of phandle(s) to
 + *            supplier(s)
 + * @cells_name:       property name that specifies phandles' arguments count
 + *
 + * This is a helper function to parse properties that have a known fixed name
 + * and are a list of phandles and phandle arguments.
 + *
 + * Returns:
 + * - phandle node pointer with refcount incremented. Caller must of_node_put()
 + *   on it when done.
 + * - NULL if no phandle found at index
 + */
 +static struct device_node *parse_prop_cells(struct device_node *np,
 +                                          const char *prop_name, int index,
 +                                          const char *list_name,
 +                                          const char *cells_name)
 +{
 +      struct of_phandle_args sup_args;
 +
 +      if (strcmp(prop_name, list_name))
 +              return NULL;
 +
 +      if (of_parse_phandle_with_args(np, list_name, cells_name, index,
 +                                     &sup_args))
 +              return NULL;
 +
 +      return sup_args.np;
 +}
 +
 +#define DEFINE_SIMPLE_PROP(fname, name, cells)                                  \
 +static struct device_node *parse_##fname(struct device_node *np,        \
 +                                      const char *prop_name, int index) \
 +{                                                                       \
 +      return parse_prop_cells(np, prop_name, index, name, cells);       \
 +}
 +
 +static int strcmp_suffix(const char *str, const char *suffix)
 +{
 +      unsigned int len, suffix_len;
 +
 +      len = strlen(str);
 +      suffix_len = strlen(suffix);
 +      if (len <= suffix_len)
 +              return -1;
 +      return strcmp(str + len - suffix_len, suffix);
 +}
 +
 +/**
 + * parse_suffix_prop_cells - Suffix property parsing function for suppliers
 + *
 + * @np:               Pointer to device tree node containing a list
 + * @prop_name:        Name of property to be parsed. Expected to hold phandle values
 + * @index:    For properties holding a list of phandles, this is the index
 + *            into the list.
 + * @suffix:   Property suffix that is known to contain list of phandle(s) to
 + *            supplier(s)
 + * @cells_name:       property name that specifies phandles' arguments count
 + *
 + * This is a helper function to parse properties that have a known fixed suffix
 + * and are a list of phandles and phandle arguments.
 + *
 + * Returns:
 + * - phandle node pointer with refcount incremented. Caller must of_node_put()
 + *   on it when done.
 + * - NULL if no phandle found at index
 + */
 +static struct device_node *parse_suffix_prop_cells(struct device_node *np,
 +                                          const char *prop_name, int index,
 +                                          const char *suffix,
 +                                          const char *cells_name)
 +{
 +      struct of_phandle_args sup_args;
 +
 +      if (strcmp_suffix(prop_name, suffix))
 +              return NULL;
 +
 +      if (of_parse_phandle_with_args(np, prop_name, cells_name, index,
 +                                     &sup_args))
 +              return NULL;
 +
 +      return sup_args.np;
 +}
 +
 +#define DEFINE_SUFFIX_PROP(fname, suffix, cells)                           \
 +static struct device_node *parse_##fname(struct device_node *np,           \
 +                                      const char *prop_name, int index)    \
 +{                                                                          \
 +      return parse_suffix_prop_cells(np, prop_name, index, suffix, cells); \
 +}
 +
 +/**
 + * struct supplier_bindings - Property parsing functions for suppliers
 + *
 + * @parse_prop: function name
 + *    parse_prop() finds the node corresponding to a supplier phandle
 + * @parse_prop.np: Pointer to device node holding supplier phandle property
 + * @parse_prop.prop_name: Name of property holding a phandle value
 + * @parse_prop.index: For properties holding a list of phandles, this is the
 + *                  index into the list
 + *
 + * Returns:
 + * parse_prop() return values are
 + * - phandle node pointer with refcount incremented. Caller must of_node_put()
 + *   on it when done.
 + * - NULL if no phandle found at index
 + */
 +struct supplier_bindings {
 +      struct device_node *(*parse_prop)(struct device_node *np,
 +                                        const char *prop_name, int index);
 +};
 +
 +DEFINE_SIMPLE_PROP(clocks, "clocks", "#clock-cells")
 +DEFINE_SIMPLE_PROP(interconnects, "interconnects", "#interconnect-cells")
 +DEFINE_SIMPLE_PROP(iommus, "iommus", "#iommu-cells")
 +DEFINE_SIMPLE_PROP(mboxes, "mboxes", "#mbox-cells")
 +DEFINE_SIMPLE_PROP(io_channels, "io-channel", "#io-channel-cells")
 +DEFINE_SIMPLE_PROP(interrupt_parent, "interrupt-parent", NULL)
 +DEFINE_SIMPLE_PROP(dmas, "dmas", "#dma-cells")
 +DEFINE_SUFFIX_PROP(regulators, "-supply", NULL)
 +DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells")
 +DEFINE_SUFFIX_PROP(gpios, "-gpios", "#gpio-cells")
 +
 +static struct device_node *parse_iommu_maps(struct device_node *np,
 +                                          const char *prop_name, int index)
 +{
 +      if (strcmp(prop_name, "iommu-map"))
 +              return NULL;
 +
 +      return of_parse_phandle(np, prop_name, (index * 4) + 1);
 +}
 +
 +static const struct supplier_bindings of_supplier_bindings[] = {
 +      { .parse_prop = parse_clocks, },
 +      { .parse_prop = parse_interconnects, },
 +      { .parse_prop = parse_iommus, },
 +      { .parse_prop = parse_iommu_maps, },
 +      { .parse_prop = parse_mboxes, },
 +      { .parse_prop = parse_io_channels, },
 +      { .parse_prop = parse_interrupt_parent, },
 +      { .parse_prop = parse_dmas, },
 +      { .parse_prop = parse_regulators, },
 +      { .parse_prop = parse_gpio, },
 +      { .parse_prop = parse_gpios, },
 +      {}
 +};
 +
 +/**
 + * of_link_property - Create device links to suppliers listed in a property
 + * @dev: Consumer device
 + * @con_np: The consumer device tree node which contains the property
 + * @prop_name: Name of property to be parsed
 + *
 + * This function checks if the property @prop_name that is present in the
 + * @con_np device tree node is one of the known common device tree bindings
 + * that list phandles to suppliers. If @prop_name isn't one, this function
 + * doesn't do anything.
 + *
 + * If @prop_name is one, this function attempts to create device links from the
 + * consumer device @dev to all the devices of the suppliers listed in
 + * @prop_name.
 + *
 + * Any failed attempt to create a device link will NOT result in an immediate
 + * return.  of_link_property() must create links to all the available supplier
 + * devices even when attempts to create a link to one or more suppliers fail.
 + */
 +static int of_link_property(struct device *dev, struct device_node *con_np,
 +                           const char *prop_name)
 +{
 +      struct device_node *phandle;
 +      const struct supplier_bindings *s = of_supplier_bindings;
 +      unsigned int i = 0;
 +      bool matched = false;
 +      int ret = 0;
 +      u32 dl_flags;
 +
 +      if (dev->of_node == con_np)
 +              dl_flags = DL_FLAG_AUTOPROBE_CONSUMER;
 +      else
 +              dl_flags = DL_FLAG_SYNC_STATE_ONLY;
 +
 +      /* Do not stop at first failed link, link all available suppliers. */
 +      while (!matched && s->parse_prop) {
 +              while ((phandle = s->parse_prop(con_np, prop_name, i))) {
 +                      matched = true;
 +                      i++;
 +                      if (of_link_to_phandle(dev, phandle, dl_flags)
 +                                                              == -EAGAIN)
 +                              ret = -EAGAIN;
 +                      of_node_put(phandle);
 +              }
 +              s++;
 +      }
 +      return ret;
 +}
 +
 +static int of_link_to_suppliers(struct device *dev,
 +                                struct device_node *con_np)
 +{
 +      struct device_node *child;
 +      struct property *p;
 +      int ret = 0;
 +
 +      for_each_property_of_node(con_np, p)
 +              if (of_link_property(dev, con_np, p->name))
 +                      ret = -ENODEV;
 +
 +      for_each_child_of_node(con_np, child)
 +              if (of_link_to_suppliers(dev, child) && !ret)
 +                      ret = -EAGAIN;
 +
 +      return ret;
 +}
 +
 +static bool of_devlink;
 +core_param(of_devlink, of_devlink, bool, 0);
 +
 +static int of_fwnode_add_links(const struct fwnode_handle *fwnode,
 +                             struct device *dev)
 +{
 +      if (!of_devlink)
 +              return 0;
 +
 +      if (unlikely(!is_of_node(fwnode)))
 +              return 0;
 +
 +      return of_link_to_suppliers(dev, to_of_node(fwnode));
 +}
 +
  const struct fwnode_operations of_fwnode_ops = {
        .get = of_fwnode_get,
        .put = of_fwnode_put,
        .property_present = of_fwnode_property_present,
        .property_read_int_array = of_fwnode_property_read_int_array,
        .property_read_string_array = of_fwnode_property_read_string_array,
 +      .get_name = of_fwnode_get_name,
 +      .get_name_prefix = of_fwnode_get_name_prefix,
        .get_parent = of_fwnode_get_parent,
        .get_next_child_node = of_fwnode_get_next_child_node,
        .get_named_child_node = of_fwnode_get_named_child_node,
        .graph_get_remote_endpoint = of_fwnode_graph_get_remote_endpoint,
        .graph_get_port_parent = of_fwnode_graph_get_port_parent,
        .graph_parse_endpoint = of_fwnode_graph_parse_endpoint,
 +      .add_links = of_fwnode_add_links,
  };
  EXPORT_SYMBOL_GPL(of_fwnode_ops);
diff --combined scripts/checkpatch.pl
@@@ -2826,6 -2826,14 +2826,14 @@@ sub process 
                             "added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr);
                }
  
+ # Check for adding new DT bindings not in schema format
+               if (!$in_commit_log &&
+                   ($line =~ /^new file mode\s*\d+\s*$/) &&
+                   ($realfile =~ m@^Documentation/devicetree/bindings/.*\.txt$@)) {
+                       WARN("DT_SCHEMA_BINDING_PATCH",
+                            "DT bindings should be in DT schema format. See: Documentation/devicetree/writing-schema.rst\n");
+               }
  # Check for wrappage within a valid hunk of the file
                if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) {
                        ERROR("CORRUPTED_PATCH",
                        for (my $count = $linenr; $count <= $lc; $count++) {
                                my $specifier;
                                my $extension;
 +                              my $qualifier;
                                my $bad_specifier = "";
                                my $fmt = get_quoted_string($lines[$count - 1], raw_line($count, 0));
                                $fmt =~ s/%%//g;
  
 -                              while ($fmt =~ /(\%[\*\d\.]*p(\w))/g) {
 +                              while ($fmt =~ /(\%[\*\d\.]*p(\w)(\w*))/g) {
                                        $specifier = $1;
                                        $extension = $2;
 -                                      if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxt]/) {
 +                                      $qualifier = $3;
 +                                      if ($extension !~ /[SsBKRraEehMmIiUDdgVCbGNOxtf]/ ||
 +                                          ($extension eq "f" &&
 +                                           defined $qualifier && $qualifier !~ /^w/)) {
                                                $bad_specifier = $specifier;
                                                last;
                                        }
                                        my $ext_type = "Invalid";
                                        my $use = "";
                                        if ($bad_specifier =~ /p[Ff]/) {
 -                                              $ext_type = "Deprecated";
                                                $use = " - use %pS instead";
                                                $use =~ s/pS/ps/ if ($bad_specifier =~ /pf/);
                                        }