Merge tag 'devicetree-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 10 Oct 2022 20:13:51 +0000 (13:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 10 Oct 2022 20:13:51 +0000 (13:13 -0700)
Pull devicetree updates from Rob Herring:
 "DT core:

   - Fix node refcounting in of_find_last_cache_level()

   - Constify device_node in of_device_compatible_match()

   - Fix 'dma-ranges' handling in bus controller nodes

   - Fix handling of initrd start > end

   - Improve error reporting in of_irq_init()

   - Taint kernel on DT unittest running

   - Use strscpy instead of strlcpy

   - Add a build target, dt_compatible_check, to check for compatible
     strings used in kernel sources against compatible strings in DT
     schemas.

   - Handle DT_SCHEMA_FILES changes when rebuilding

  DT bindings:

   - LED bindings for MT6370 PMIC

   - Convert Mediatek mtk-gce mailbox, MIPS CPU interrupt controller,
     mt7621 I2C, virtio,pci-iommu, nxp,tda998x, QCom fastrpc, qcom,pdc,
     and arm,versatile-sysreg to DT schema format

   - Add nvmem cells to u-boot,env schema

   - Add more LED_COLOR_ID definitions

   - Require 'opp-table' uses to be a node

   - Various schema fixes to match QEMU 'virt' DT usage

   - Tree wide dropping of redundant 'Device Tree Binding' in schema
     titles

   - More (unevaluated|additional)Properties fixes in schema child nodes

   - Drop various redundant minItems equal to maxItems"

* tag 'devicetree-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (62 commits)
  of: base: Shift refcount decrement in of_find_last_cache_level()
  dt-bindings: leds: Add MediaTek MT6370 flashlight
  dt-bindings: leds: mt6370: Add MediaTek MT6370 current sink type LED indicator
  dt-bindings: mailbox: Convert mtk-gce to DT schema
  of: base: make of_device_compatible_match() accept const device node
  of: Fix "dma-ranges" handling for bus controllers
  of: fdt: Remove unused struct fdt_scan_status
  dt-bindings: display: st,stm32-dsi: Handle data-lanes in DSI port node
  dt-bindings: timer: Add power-domains for TI timer-dm on K3
  dt: Add a check for undocumented compatible strings in kernel
  kbuild: take into account DT_SCHEMA_FILES changes while checking dtbs
  dt-bindings: interrupt-controller: migrate MIPS CPU interrupt controller text bindings to YAML
  dt-bindings: i2c: migrate mt7621 text bindings to YAML
  dt-bindings: power: gpcv2: correct patternProperties
  dt-bindings: virtio: Convert virtio,pci-iommu to DT schema
  dt-bindings: timer: arm,arch_timer: Allow dual compatible string
  dt-bindings: arm: cpus: Add kryo240 compatible
  dt-bindings: display: bridge: nxp,tda998x: Convert to json-schema
  dt-bindings: nvmem: u-boot,env: add basic NVMEM cells
  dt-bindings: remoteproc: qcom,adsp: enforce smd-edge schema
  ...

46 files changed:
1  2 
Documentation/devicetree/bindings/arm/amlogic.yaml
Documentation/devicetree/bindings/arm/atmel-at91.yaml
Documentation/devicetree/bindings/arm/fsl.yaml
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
Documentation/devicetree/bindings/arm/qcom.yaml
Documentation/devicetree/bindings/arm/renesas.yaml
Documentation/devicetree/bindings/arm/rockchip.yaml
Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
Documentation/devicetree/bindings/display/msm/gpu.yaml
Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml
Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml
Documentation/devicetree/bindings/memory-controllers/fsl/imx8m-ddrc.yaml
Documentation/devicetree/bindings/mfd/allwinner,sun6i-a31-prcm.yaml
Documentation/devicetree/bindings/mfd/allwinner,sun8i-a23-prcm.yaml
Documentation/devicetree/bindings/mfd/khadas,mcu.yaml
Documentation/devicetree/bindings/mfd/syscon.yaml
Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml
Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml
Documentation/devicetree/bindings/mtd/intel,lgm-ebunand.yaml
Documentation/devicetree/bindings/net/snps,dwmac.yaml
Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml
Documentation/devicetree/bindings/net/ti,cpsw-switch.yaml
Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml
Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml
Documentation/devicetree/bindings/net/vertexcom-mse102x.yaml
Documentation/devicetree/bindings/phy/cdns,dphy-rx.yaml
Documentation/devicetree/bindings/phy/cdns,dphy.yaml
Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml
Documentation/devicetree/bindings/phy/samsung,ufs-phy.yaml
Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
Documentation/devicetree/bindings/sound/adi,max98396.yaml
Documentation/devicetree/bindings/sound/audio-graph.yaml
Documentation/devicetree/bindings/sound/renesas,rsnd.yaml
Documentation/devicetree/bindings/sram/allwinner,sun4i-a10-system-control.yaml
Documentation/devicetree/bindings/usb/mediatek,mtu3.yaml
MAINTAINERS
Makefile
drivers/of/base.c
drivers/of/fdt.c
drivers/of/unittest.c
scripts/Makefile.lib

index f5c1b6cae4c9c3be84f13f69a5b8e92f9b122484,fd12226634bebf5a210b94de88ba5ed359f38441..9fda2436c618485fa23aa44841ec925d388966e4
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/arm/amlogic.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Amlogic MesonX device tree bindings
+ title: Amlogic MesonX
  
  maintainers:
    - Kevin Hilman <khilman@baylibre.com>
@@@ -120,7 -120,6 +120,7 @@@ properties
            - enum:
                - amlogic,q200
                - amlogic,q201
 +              - azw,gt1-ultimate
                - khadas,vim2
                - kingnovel,r-box-pro
                - libretech,aml-s912-pc
            - enum:
                - amlogic,s400
                - jethome,jethub-j100
 +              - jethome,jethub-j110
            - const: amlogic,a113d
            - const: amlogic,meson-axg
  
index 9e2e66a7566d313b9aaeac3d097054db91c16c91,5cb06d14a225db1ccd7001d3eb9afd4b2d307339..2224b18801a1993a2607e2cd9aafea78d750635e
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/arm/atmel-at91.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Atmel AT91 device tree bindings.
+ title: Atmel AT91.
  
  maintainers:
    - Alexandre Belloni <alexandre.belloni@bootlin.com>
@@@ -127,13 -127,6 +127,13 @@@ properties
            - const: atmel,sama5d3
            - const: atmel,sama5
  
 +      - description: Microchip SAMA5D3 Ethernet Development System Board
 +        items:
 +          - const: microchip,sama5d3-eds
 +          - const: atmel,sama5d36
 +          - const: atmel,sama5d3
 +          - const: atmel,sama5
 +
        - description: CalAmp LMU5000 board
          items:
            - const: calamp,lmu5000
index 0cea264a9de2f6a744ac0fd67f4f68fb102530f0,6f84cb6de9a5d0d909ad0dfdec33ca7261243c67..fbfc4f99c01e97bbf1187b83437411166cdaa9e5
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/arm/fsl.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Freescale i.MX Platforms Device Tree Bindings
+ title: Freescale i.MX Platforms
  
  maintainers:
    - Shawn Guo <shawnguo@kernel.org>
@@@ -554,7 -554,8 +554,7 @@@ properties
                - engicam,imx6ul-isiot      # Engicam Is.IoT MX6UL eMMC/NAND Starter kit
                - fsl,imx6ul-14x14-evk      # i.MX6 UltraLite 14x14 EVK Board
                - karo,imx6ul-tx6ul         # Ka-Ro electronics TXUL-0010 Module
 -              - kontron,imx6ul-n6310-som  # Kontron N6310 SOM
 -              - kontron,imx6ul-n6311-som  # Kontron N6311 SOM
 +              - kontron,sl-imx6ul         # Kontron SL i.MX6UL SoM
                - prt,prti6g                # Protonic PRTI6G Board
                - technexion,imx6ul-pico-dwarf   # TechNexion i.MX6UL Pico-Dwarf
                - technexion,imx6ul-pico-hobbit  # TechNexion i.MX6UL Pico-Hobbit
            - const: phytec,imx6ul-pcl063   # PHYTEC phyCORE-i.MX 6UL
            - const: fsl,imx6ul
  
 -      - description: Kontron N6310 S Board
 +      - description: Kontron BL i.MX6UL (N631X S) Board
          items:
 -          - const: kontron,imx6ul-n6310-s
 -          - const: kontron,imx6ul-n6310-som
 +          - const: kontron,bl-imx6ul       # Kontron BL i.MX6UL Carrier Board
 +          - const: kontron,sl-imx6ul       # Kontron SL i.MX6UL SoM
            - const: fsl,imx6ul
  
 -      - description: Kontron N6311 S Board
 +      - description: Kontron BL i.MX6UL 43 (N631X S 43) Board
          items:
 -          - const: kontron,imx6ul-n6311-s
 -          - const: kontron,imx6ul-n6311-som
 -          - const: fsl,imx6ul
 -
 -      - description: Kontron N6310 S 43 Board
 -        items:
 -          - const: kontron,imx6ul-n6310-s-43
 -          - const: kontron,imx6ul-n6310-s
 -          - const: kontron,imx6ul-n6310-som
 +          - const: kontron,bl-imx6ul-43    # Kontron BL i.MX6UL Carrier Board with 4.3" Display
 +          - const: kontron,bl-imx6ul       # Kontron BL i.MX6UL Carrier Board
 +          - const: kontron,sl-imx6ul       # Kontron SL i.MX6UL SoM
            - const: fsl,imx6ul
  
        - description: TQ-Systems TQMa6UL1 SoM on MBa6ULx board
            - enum:
                - fsl,imx6ull-14x14-evk     # i.MX6 UltraLiteLite 14x14 EVK Board
                - joz,jozacp                # JOZ Access Point
 -              - kontron,imx6ull-n6411-som # Kontron N6411 SOM
 +              - kontron,sl-imx6ull        # Kontron SL i.MX6ULL SoM
                - myir,imx6ull-mys-6ulx-eval # MYiR Tech iMX6ULL Evaluation Board
                - toradex,colibri-imx6ull      # Colibri iMX6ULL Modules
                - toradex,colibri-imx6ull-emmc # Colibri iMX6ULL 1GB (eMMC) Module
            - const: toradex,colibri-imx6ull-wifi       # Colibri iMX6ULL Wi-Fi / BT Module
            - const: fsl,imx6ull
  
 -      - description: Kontron N6411 S Board
 +      - description: Kontron BL i.MX6ULL (N6411 S) Board
          items:
 -          - const: kontron,imx6ull-n6411-s
 -          - const: kontron,imx6ull-n6411-som
 +          - const: kontron,bl-imx6ull   # Kontron BL i.MX6ULL Carrier Board
 +          - const: kontron,sl-imx6ull   # Kontron SL i.MX6ULL SoM
            - const: fsl,imx6ull
  
        - description: TQ Systems TQMa6ULLx SoM on MBa6ULx board
                - emtrion,emcon-mx8mm-avari # emCON-MX8MM SoM on Avari Base
                - fsl,imx8mm-ddr4-evk       # i.MX8MM DDR4 EVK Board
                - fsl,imx8mm-evk            # i.MX8MM EVK Board
 +              - gateworks,imx8mm-gw7904
                - gw,imx8mm-gw71xx-0x       # i.MX8MM Gateworks Development Kit
                - gw,imx8mm-gw72xx-0x       # i.MX8MM Gateworks Development Kit
                - gw,imx8mm-gw73xx-0x       # i.MX8MM Gateworks Development Kit
                - gw,imx8mm-gw7901          # i.MX8MM Gateworks Board
                - gw,imx8mm-gw7902          # i.MX8MM Gateworks Board
                - gw,imx8mm-gw7903          # i.MX8MM Gateworks Board
 -              - kontron,imx8mm-n801x-som  # i.MX8MM Kontron SL (N801X) SOM
 +              - kontron,imx8mm-sl         # i.MX8MM Kontron SL (N801X) SOM
 +              - kontron,imx8mm-osm-s      # i.MX8MM Kontron OSM-S (N802X) SOM
                - menlo,mx8menlo            # i.MX8MM Menlo board with Verdin SoM
                - toradex,verdin-imx8mm     # Verdin iMX8M Mini Modules
                - toradex,verdin-imx8mm-nonwifi  # Verdin iMX8M Mini Modules without Wi-Fi / BT
  
        - description: Kontron BL i.MX8MM (N801X S) Board
          items:
 -          - const: kontron,imx8mm-n801x-s
 -          - const: kontron,imx8mm-n801x-som
 +          - const: kontron,imx8mm-bl
 +          - const: kontron,imx8mm-sl
 +          - const: fsl,imx8mm
 +
 +      - description: Kontron BL i.MX8MM OSM-S (N802X S) Board
 +        items:
 +          - const: kontron,imx8mm-bl-osm-s
 +          - const: kontron,imx8mm-osm-s
            - const: fsl,imx8mm
  
        - description: Toradex Boards with Verdin iMX8M Mini Modules
                - toradex,verdin-imx8mp-wifi  # Verdin iMX8M Plus Wi-Fi / BT Modules
            - const: fsl,imx8mp
  
 +      - description: Avnet (MSC Branded) Boards with SM2S i.MX8M Plus Modules
 +        items:
 +          - const: avnet,sm2s-imx8mp-14N0600E-ep1 # SM2S-IMX8PLUS-14N0600E on SM2-MB-EP1 Carrier Board
 +          - const: avnet,sm2s-imx8mp-14N0600E     # 14N0600E variant of SM2S-IMX8PLUS SoM
 +          - const: avnet,sm2s-imx8mp              # SM2S-IMX8PLUS SoM
 +          - const: fsl,imx8mp
 +
        - description: Engicam i.Core MX8M Plus SoM based boards
          items:
            - enum:
                - toradex,colibri-imx8x     # Colibri iMX8X Modules
            - const: fsl,imx8qxp
  
 +      - description: i.MX8DXL based Boards
 +        items:
 +          - enum:
 +              - fsl,imx8dxl-evk           # i.MX8DXL EVK Board
 +          - const: fsl,imx8dxl
 +
        - description: i.MX8QXP Boards with Toradex Coilbri iMX8X Modules
          items:
            - enum:
index 597ef18f3c5fc8525b5572fa815377751f49def8,85e6f4f621fc184d614dc9b5e485c74663b88d27..eb451bec23d3d4f511ed50ba5bc5936bc7783192
@@@ -25,7 -25,6 +25,7 @@@ properties
                - mediatek,mt2712-mmsys
                - mediatek,mt6765-mmsys
                - mediatek,mt6779-mmsys
 +              - mediatek,mt6795-mmsys
                - mediatek,mt6797-mmsys
                - mediatek,mt8167-mmsys
                - mediatek,mt8173-mmsys
@@@ -53,7 -52,8 +53,8 @@@
      description:
        Using mailbox to communicate with GCE, it should have this
        property and list of phandle, mailbox specifiers. See
-       Documentation/devicetree/bindings/mailbox/mtk-gce.txt for details.
+       Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
+       for details.
      $ref: /schemas/types.yaml#/definitions/phandle-array
  
    mediatek,gce-client-reg:
index b6257683a700c849c96dfd7c3500494de86521fa,19c2f43147419adc44db082608c1b78e87dc290e..1b5ac6b02bc5aeaed4c5cf779e971cad48b517bd
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/arm/qcom.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: QCOM device tree bindings
+ title: QCOM
  
  maintainers:
    - Bjorn Andersson <bjorn.andersson@linaro.org>
@@@ -176,9 -176,6 +176,9 @@@ properties
                - longcheer,l8910
                - samsung,a3u-eur
                - samsung,a5u-eur
 +              - samsung,e5
 +              - samsung,e7
 +              - samsung,grandmax
                - samsung,j5
                - samsung,serranove
                - wingtech,wt88047
  
        - description: Google Pazquel with LTE and Parade (newest rev)
          items:
 +          - const: google,pazquel-sku6
            - const: google,pazquel-sku4
            - const: qcom,sc7180
  
  
        - description: Qualcomm Technologies, Inc. sc7280 CRD platform (newest rev)
          items:
 +          - const: google,zoglin
            - const: google,hoglin
            - const: qcom,sc7280
  
            - const: google,piglin
            - const: qcom,sc7280
  
 +      - description: Google Evoker (newest rev)
 +        items:
 +          - const: google,evoker
 +          - const: qcom,sc7280
 +
        - description: Google Herobrine (newest rev)
          items:
            - const: google,herobrine
            - const: qcom,sc7280
  
 +      - description: Google Villager (rev0)
 +        items:
 +          - const: google,villager-rev0
 +          - const: qcom,sc7280
 +
        - description: Google Villager (newest rev)
          items:
            - const: google,villager
            - const: qcom,sc7280
  
 +      - description: Google Villager with LTE (newest rev)
 +        items:
 +          - const: google,villager-sku512
 +          - const: qcom,sc7280
 +
        - items:
            - enum:
                - lenovo,flex-5g
            - enum:
                - qcom,sm8450-hdk
                - qcom,sm8450-qrd
 +              - sony,pdx223
            - const: qcom,sm8450
  
  additionalProperties: true
index 2fc81c776a061e6b2d1b390d63f1a436a10c2036,0d43f4e7fffd8cb4067fdb4af6061bf7f4ae0dd7..f51464a08aff83564c1b67d7e81df6f6ebb57e99
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/arm/renesas.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Renesas SH-Mobile, R-Mobile, and R-Car Platform Device Tree Bindings
+ title: Renesas SH-Mobile, R-Mobile, and R-Car Platform
  
  maintainers:
    - Geert Uytterhoeven <geert+renesas@glider.be>
@@@ -264,7 -264,6 +264,7 @@@ properties
                    - renesas,r8a779m4
                    - renesas,r8a779m5
                    - renesas,r8a779m8
 +                  - renesas,r8a779mb
                - enum:
                    - renesas,r8a7795
                    - renesas,r8a77961
                - renesas,v3hsk # V3HSK (Y-ASK-RCAR-V3H-WS10)
            - const: renesas,r8a77980
  
 +      - description: R-Car V3H2 (R8A77980A)
 +        items:
 +          - enum:
 +              - renesas,condor-i # Condor-I (RTP0RC77980SEBS012SA01)
 +          - const: renesas,r8a77980a
 +          - const: renesas,r8a77980
 +
        - description: R-Car E3 (R8A77990)
          items:
            - enum:
            - const: renesas,r8a779m8
            - const: renesas,r8a7795
  
 +      - description: R-Car H3Ne-1.7G (R8A779MB)
 +        items:
 +          - enum:
 +              - renesas,h3ulcb      # H3ULCB (R-Car Starter Kit Premier)
 +              - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version)
 +          - const: renesas,r8a779mb
 +          - const: renesas,r8a7795
 +
        - description: RZ/N1D (R9A06G032)
          items:
            - enum:
index 4c64d9ff089c6c3e45b08872386ae3cf5a7aead8,d4ec499fa6d68bc2e779f22aab9435e6328b935a..c6c69a4e3777b5cd3f16e2372500dd954587e114
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/arm/rockchip.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Rockchip platforms device tree bindings
+ title: Rockchip platforms
  
  maintainers:
    - Heiko Stuebner <heiko@sntech.de>
@@@ -30,16 -30,6 +30,16 @@@ properties
            - const: amarula,vyasa-rk3288
            - const: rockchip,rk3288
  
 +      - description: Anbernic RG353P
 +        items:
 +          - const: anbernic,rg353p
 +          - const: rockchip,rk3566
 +
 +      - description: Anbernic RG503
 +        items:
 +          - const: anbernic,rg503
 +          - const: rockchip,rk3566
 +
        - description: Asus Tinker board
          items:
            - const: asus,rk3288-tinker
                - friendlyarm,nanopi-m4b
                - friendlyarm,nanopi-neo4
                - friendlyarm,nanopi-r4s
 +              - friendlyarm,nanopi-r4s-enterprise
            - const: rockchip,rk3399
  
        - description: GeekBuying GeekBox
            - const: google,gru
            - const: rockchip,rk3399
  
 -      - description: Google Scarlet - Innolux display (Acer Chromebook Tab 10)
 +      - description: |
 +          Google Scarlet - Innolux display (Acer Chromebook Tab 10 and more)
          items:
 +          - const: google,scarlet-rev15-sku2
 +          - const: google,scarlet-rev15-sku4
            - const: google,scarlet-rev15-sku6
            - const: google,scarlet-rev15
 +          - const: google,scarlet-rev14-sku2
 +          - const: google,scarlet-rev14-sku4
            - const: google,scarlet-rev14-sku6
            - const: google,scarlet-rev14
 +          - const: google,scarlet-rev13-sku2
 +          - const: google,scarlet-rev13-sku4
            - const: google,scarlet-rev13-sku6
            - const: google,scarlet-rev13
 +          - const: google,scarlet-rev12-sku2
 +          - const: google,scarlet-rev12-sku4
            - const: google,scarlet-rev12-sku6
            - const: google,scarlet-rev12
 +          - const: google,scarlet-rev11-sku2
 +          - const: google,scarlet-rev11-sku4
            - const: google,scarlet-rev11-sku6
            - const: google,scarlet-rev11
 +          - const: google,scarlet-rev10-sku2
 +          - const: google,scarlet-rev10-sku4
            - const: google,scarlet-rev10-sku6
            - const: google,scarlet-rev10
 +          - const: google,scarlet-rev9-sku2
 +          - const: google,scarlet-rev9-sku4
            - const: google,scarlet-rev9-sku6
            - const: google,scarlet-rev9
 +          - const: google,scarlet-rev8-sku2
 +          - const: google,scarlet-rev8-sku4
            - const: google,scarlet-rev8-sku6
            - const: google,scarlet-rev8
 +          - const: google,scarlet-rev7-sku2
 +          - const: google,scarlet-rev7-sku4
            - const: google,scarlet-rev7-sku6
            - const: google,scarlet-rev7
 +          - const: google,scarlet-rev6-sku2
 +          - const: google,scarlet-rev6-sku4
            - const: google,scarlet-rev6-sku6
            - const: google,scarlet-rev6
 +          - const: google,scarlet-rev5-sku2
 +          - const: google,scarlet-rev5-sku4
            - const: google,scarlet-rev5-sku6
            - const: google,scarlet-rev5
 +          - const: google,scarlet-rev4-sku2
 +          - const: google,scarlet-rev4-sku4
            - const: google,scarlet-rev4-sku6
            - const: google,scarlet-rev4
            - const: google,scarlet
            - const: netxeon,r89
            - const: rockchip,rk3288
  
 +      - description: OPEN AI LAB EAIDK-610
 +        items:
 +          - const: openailab,eaidk-610
 +          - const: rockchip,rk3399
 +
        - description: Orange Pi RK3399 board
          items:
            - const: rockchip,rk3399-orangepi
            - const: pine64,pinenote
            - const: rockchip,rk3566
  
 +      - description: Pine64 PinePhonePro
 +        items:
 +          - const: pine64,pinephone-pro
 +          - const: rockchip,rk3399
 +
        - description: Pine64 Rock64
          items:
            - const: pine64,rock64
            - const: radxa,rockpi4
            - const: rockchip,rk3399
  
 +      - description: Radxa ROCK 4C+
 +        items:
 +          - const: radxa,rock-4c-plus
 +          - const: rockchip,rk3399
 +
        - description: Radxa ROCK Pi E
          items:
            - const: radxa,rockpi-e
index fa8ebc8f243f472db9c222f720c0bb54e21efe02,3766cc80cb17086ba0e27f985a0b0d8ff075b90a..fe7f091e744f3619f6b7969da940648d5e17d3ce
@@@ -14,7 -14,7 +14,7 @@@ maintainers
    - Florian Fainelli <f.fainelli@gmail.com>
  
  allOf:
 -  - $ref: sata-common.yaml#
 +  - $ref: ahci-common.yaml#
  
  properties:
    compatible:
@@@ -30,7 -30,6 +30,6 @@@
            - const: brcm,bcm-nsp-ahci
  
    reg:
-     minItems: 2
      maxItems: 2
  
    reg-names:
@@@ -41,6 -40,8 +40,6 @@@
    interrupts:
      maxItems: 1
  
 -  dma-coherent: true
 -
  if:
    properties:
      compatible:
index f8168986a0a9eaf02b33fce13a8eddaed57c087d,84f11b987af83085bff3853edd91e3a6086d5671..724d93b9193bc788b180c5306553fd40fd8fb99d
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-tcon.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Allwinner A10 Timings Controller (TCON) Device Tree Bindings
+ title: Allwinner A10 Timings Controller (TCON)
  
  maintainers:
    - Chen-Yu Tsai <wens@csie.org>
@@@ -233,7 -233,6 +233,7 @@@ allOf
                - allwinner,sun8i-a83t-tcon-lcd
                - allwinner,sun8i-v3s-tcon
                - allwinner,sun9i-a80-tcon-lcd
 +              - allwinner,sun20i-d1-tcon-lcd
  
      then:
        properties:
                - allwinner,sun8i-a83t-tcon-tv
                - allwinner,sun8i-r40-tcon-tv
                - allwinner,sun9i-a80-tcon-tv
 +              - allwinner,sun20i-d1-tcon-tv
  
      then:
        properties:
                - allwinner,sun9i-a80-tcon-lcd
                - allwinner,sun4i-a10-tcon
                - allwinner,sun8i-a83t-tcon-lcd
 +              - allwinner,sun20i-d1-tcon-lcd
  
      then:
        required:
                - allwinner,sun8i-a23-tcon
                - allwinner,sun8i-a33-tcon
                - allwinner,sun8i-a83t-tcon-lcd
 +              - allwinner,sun20i-d1-tcon-lcd
  
      then:
        properties:
index 346aabdccf7bc86ff8271b1b1387fabe17dafc9c,0179c816fa6d497ebec09a241024b1758f6f0e40..ec4b1a75f46ac4843db94d965830ec8614b8d230
@@@ -58,8 -58,7 +58,8 @@@ properties
        - const: ocmem
  
    iommus:
 -    maxItems: 1
 +    minItems: 1
 +    maxItems: 64
  
    sram:
      $ref: /schemas/types.yaml#/definitions/phandle-array
@@@ -82,6 -81,7 +82,7 @@@
  
    zap-shader:
      type: object
+     additionalProperties: false
      description: |
        For a5xx and a6xx devices this node contains a memory-region that
        points to reserved memory to store the zap shader that can be used to
index fdc16822fd4b0dbc804a8efa999784d7e0ee8deb,26bd7e3986d521612867a6f892ad411a562878f1..d481e78958a74ae9f62f61c83d12eaf9caf51a3f
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/gpio/microchip,mpfs-gpio.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Microchip MPFS GPIO Controller Device Tree Bindings
+ title: Microchip MPFS GPIO Controller
  
  maintainers:
    - Conor Dooley <conor.dooley@microchip.com>
@@@ -44,24 -44,6 +44,24 @@@ properties
  
    gpio-controller: true
  
 +patternProperties:
 +  "^.+-hog(-[0-9]+)?$":
 +    type: object
 +
 +    additionalProperties: false
 +
 +    properties:
 +      gpio-hog: true
 +      gpios: true
 +      input: true
 +      output-high: true
 +      output-low: true
 +      line-name: true
 +
 +    required:
 +      - gpio-hog
 +      - gpios
 +
  required:
    - compatible
    - reg
index 63d665a4f9bb1c42a4ab5ab3dffae1397fad16f0,eebd7c0a3f6a34af34e4ff62945d80ab0f251654..93c164aa00dafc43b558c223bd06461b08c34cc9
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/i2c/marvell,mv64xxx-i2c.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Marvell MV64XXX I2C Controller Device Tree Bindings
+ title: Marvell MV64XXX I2C Controller
  
  maintainers:
    - Gregory CLEMENT <gregory.clement@bootlin.com>
@@@ -66,19 -66,6 +66,19 @@@ properties
    resets:
      maxItems: 1
  
 +  dmas:
 +    items:
 +      - description: RX DMA Channel
 +      - description: TX DMA Channel
 +
 +  dma-names:
 +    items:
 +      - const: rx
 +      - const: tx
 +
 +dependencies:
 +  dmas: [ dma-names ]
 +
  required:
    - compatible
    - reg
index fa4f7685ab2b546d63a5afb754df3c89d18fef52,7d8d0896e9793a5e8aa64044f963156d6887d75b..f7a5e31c506ee439283b380a5599e3575dbdeeec
@@@ -7,7 -7,7 +7,7 @@@ $schema: http://devicetree.org/meta-sch
  title: Generic i.MX bus frequency device
  
  maintainers:
 -  - Leonard Crestez <leonard.crestez@nxp.com>
 +  - Peng Fan <peng.fan@nxp.com>
  
  description: |
    The i.MX SoC family has multiple buses for which clock frequency (and
@@@ -47,7 -47,8 +47,8 @@@ properties
      maxItems: 1
  
    operating-points-v2: true
-   opp-table: true
+   opp-table:
+     type: object
  
    fsl,ddrc:
      $ref: "/schemas/types.yaml#/definitions/phandle"
index 0ac5256876a8abb3c80b11d3cc371e8734dbf733,a4743386c4c1f6e2c022f760617a46dd0df5defc..2684562df4d91115c674022481cb2eb22e6fd01b
@@@ -24,12 -24,9 +24,12 @@@ properties
      oneOf:
        - items:
            - enum:
 +              - qcom,sc7280-bwmon
                - qcom,sdm845-bwmon
            - const: qcom,msm8998-bwmon
        - const: qcom,msm8998-bwmon       # BWMON v4
 +      - const: qcom,sc7280-llcc-bwmon   # BWMON v5
 +      - const: qcom,sdm845-llcc-bwmon   # BWMON v5
  
    interconnects:
      maxItems: 1
@@@ -38,7 -35,8 +38,8 @@@
      maxItems: 1
  
    operating-points-v2: true
-   opp-table: true
+   opp-table:
+     type: object
  
    reg:
      # BWMON v4 (currently described) and BWMON v5 use one register address
index 2b39fce5f6504b05694e6f5e184004aaa0c72edc,fc2e7de10331c83b3e2e97098ac142852a8d9791..519b123116dc10409b912bb79adbcb2e8378aaf6
@@@ -7,7 -7,7 +7,7 @@@ $schema: http://devicetree.org/meta-sch
  title: i.MX8M DDR Controller
  
  maintainers:
 -  - Leonard Crestez <leonard.crestez@nxp.com>
 +  - Peng Fan <peng.fan@nxp.com>
  
  description:
    The DDRC block is integrated in i.MX8M for interfacing with DDR based
@@@ -47,7 -47,8 +47,8 @@@ properties
        - const: apb
  
    operating-points-v2: true
-   opp-table: true
+   opp-table:
+     type: object
  
  required:
    - reg
index 021d33cb3dd682629718612659d0e84d06377ac3,e9bbd7440829007eb29bba3b82f70e9dd3b4b590..cf94176fe1eb60d3f42392246ea4c568d9dd7a63
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/mfd/allwinner,sun6i-a31-prcm.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Allwinner A31 PRCM Device Tree Bindings
+ title: Allwinner A31 PRCM
  
  maintainers:
    - Chen-Yu Tsai <wens@csie.org>
@@@ -22,7 -22,6 +22,7 @@@ properties
  patternProperties:
    "^.*_(clk|rst)$":
      type: object
 +    unevaluatedProperties: false
  
      properties:
        compatible:
            - fixed-factor-clock
  
      allOf:
 +      - if:
 +          properties:
 +            compatible:
 +              contains:
 +                const: fixed-factor-clock
 +
 +        then:
 +          $ref: /schemas/clock/fixed-factor-clock.yaml#
 +
 +      - if:
 +          properties:
 +            compatible:
 +              contains:
 +                const: allwinner,sun4i-a10-mod0-clk
 +
 +        then:
 +          properties:
 +            "#clock-cells":
 +              const: 0
 +
 +            # Already checked in the main schema
 +            compatible: true
 +
 +            clocks:
 +              maxItems: 2
 +
 +            clock-output-names:
 +              maxItems: 1
 +
 +            phandle: true
 +
 +          required:
 +            - "#clock-cells"
 +            - compatible
 +            - clocks
 +            - clock-output-names
 +
 +          additionalProperties: false
 +
        - if:
            properties:
              compatible:
index 01f4f52105741e3da78a7e587cc99aa765b012ee,c2d339d15c97ca24b7a5f021a280fec8a108692c..16c80a7eec49c065568616a2d41321316db5963c
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/mfd/allwinner,sun8i-a23-prcm.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Allwinner A23 PRCM Device Tree Bindings
+ title: Allwinner A23 PRCM
  
  maintainers:
    - Chen-Yu Tsai <wens@csie.org>
@@@ -22,7 -22,6 +22,7 @@@ properties
  patternProperties:
    "^.*(clk|rst|codec).*$":
      type: object
 +    unevaluatedProperties: false
  
      properties:
        compatible:
        - compatible
  
      allOf:
 +      - if:
 +          properties:
 +            compatible:
 +              contains:
 +                const: fixed-factor-clock
 +
 +        then:
 +          $ref: /schemas/clock/fixed-factor-clock.yaml#
 +
        - if:
            properties:
              compatible:
index 5750cc06e92313d575f551b43c098aef244abe87,7d7e20e904c56b1cb4198fc8068a19b8ed09b0d8..084960fd5a1fdd6c1162235369690c019ecfe1aa
@@@ -4,10 -4,10 +4,10 @@@
  $id: http://devicetree.org/schemas/mfd/khadas,mcu.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Khadas on-board Microcontroller Device Tree Bindings
+ title: Khadas on-board Microcontroller
  
  maintainers:
 -  - Neil Armstrong <narmstrong@baylibre.com>
 +  - Neil Armstrong <neil.armstrong@linaro.org>
  
  description: |
    Khadas embeds a microcontroller on their VIM and Edge boards adding some
index 4fc483b1aee76718a885f0bf10df7f5fa07a5375,9c79044e7b37dea06ed09ae7a601eb4512a712d4..4e4baf53796dea0b21981890667d65268a8da31f
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/mfd/syscon.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: System Controller Registers R/W Device Tree Bindings
+ title: System Controller Registers R/W
  
  description: |
    System controller node represents a register region containing a set
@@@ -40,8 -40,6 +40,8 @@@ properties
                - allwinner,sun50i-a64-system-controller
                - brcm,cru-clkset
                - freecom,fsg-cs2-system-controller
 +              - fsl,imx93-aonmix-ns-syscfg
 +              - fsl,imx93-wakeupmix-syscfg
                - hisilicon,dsa-subctrl
                - hisilicon,hi6220-sramctrl
                - hisilicon,pcie-sas-subctrl
@@@ -61,8 -59,6 +61,8 @@@
                - rockchip,rk3368-qos
                - rockchip,rk3399-qos
                - rockchip,rk3568-qos
 +              - rockchip,rk3588-qos
 +              - rockchip,rv1126-qos
                - samsung,exynos3-sysreg
                - samsung,exynos4-sysreg
                - samsung,exynos5-sysreg
@@@ -75,7 -71,7 +75,7 @@@
        - contains:
            const: syscon
          minItems: 2
 -        maxItems: 4  # Should be enough
 +        maxItems: 5  # Should be enough
  
    reg:
      maxItems: 1
@@@ -84,6 -80,7 +84,6 @@@
      description: |
        The size (in bytes) of the IO accesses that should be performed
        on the device.
 -    $ref: /schemas/types.yaml#/definitions/uint32
      enum: [1, 2, 4, 8]
  
    hwlocks:
@@@ -95,18 -92,6 +95,18 @@@ required
    - compatible
    - reg
  
 +allOf:
 +  - if:
 +      properties:
 +        compatible:
 +          contains:
 +            const: simple-mfd
 +    then:
 +      properties:
 +        compatible:
 +          minItems: 3
 +          maxItems: 5
 +
  additionalProperties: true
  
  examples:
index 782ce2f8a5df6d1969bc2dd2e1111d59bc26df82,1aeac43cad929918d348e774e47a91f16a40a872..873ee0c0973f1195691c99af6e8fc30ab5d44802
@@@ -5,7 -5,7 +5,7 @@@
  $id: http://devicetree.org/schemas/mfd/ti,j721e-system-controller.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: TI J721e System Controller Registers R/W Device Tree Bindings
+ title: TI J721e System Controller Registers R/W
  
  description: |
    This represents the Control Module registers (CTRL_MMR0) on the SoC.
@@@ -54,12 -54,6 +54,12 @@@ patternProperties
      description:
        Clock provider for TI EHRPWM nodes.
  
 +  "phy@[0-9a-f]+$":
 +    type: object
 +    $ref: /schemas/phy/ti,phy-gmii-sel.yaml#
 +    description:
 +      The phy node corresponding to the ethernet MAC.
 +
  required:
    - compatible
    - reg
index 1c7601d05807fce57eeefea1920c61678eacc335,de1c3c6c7bc8fac17ddc4fa84872f31e88354eab..b7a8747d5fa0e00a25ecf4b484032a3f02c36010
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: X-Powers AXP PMIC Device Tree Bindings
+ title: X-Powers AXP PMIC
  
  maintainers:
    - Chen-Yu Tsai <wens@csie.org>
@@@ -92,9 -92,6 +92,9 @@@ properties
            - x-powers,axp806
            - x-powers,axp809
            - x-powers,axp813
 +      - items:
 +          - const: x-powers,axp228
 +          - const: x-powers,axp221
        - items:
            - const: x-powers,axp805
            - const: x-powers,axp806
        "^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|drivevbus|dc5ldo)$":
          $ref: /schemas/regulator/regulator.yaml#
          type: object
 +        unevaluatedProperties: false
  
          properties:
            regulator-ramp-delay:
index ccf0e3e93efa21e50a80f496f3ddce964b43afa8,bad28bc74b345781be589ab1e8f05e89faa40e7d..95f59a5e3576f2a4bf29d6145ba1cefbafe4af52
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/mmc/rockchip-dw-mshc.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Rockchip designware mobile storage host controller device tree bindings
+ title: Rockchip designware mobile storage host controller
  
  description:
    Rockchip uses the Synopsys designware mobile storage host controller
@@@ -32,7 -32,6 +32,7 @@@ properties
                - rockchip,px30-dw-mshc
                - rockchip,rk1808-dw-mshc
                - rockchip,rk3036-dw-mshc
 +              - rockchip,rk3128-dw-mshc
                - rockchip,rk3228-dw-mshc
                - rockchip,rk3308-dw-mshc
                - rockchip,rk3328-dw-mshc
index 04f26196c4c18a3d878b6784153f5c8e98c520f5,0000000000000000000000000000000000000000..741c66ee06c3733575b5a07805e375d074775c28
mode 100644,000000..100644
--- /dev/null
@@@ -1,99 -1,0 +1,99 @@@
- title: Intel LGM SoC NAND Controller Device Tree Bindings
 +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
 +%YAML 1.2
 +---
 +$id: http://devicetree.org/schemas/mtd/intel,lgm-ebunand.yaml#
 +$schema: http://devicetree.org/meta-schemas/core.yaml#
 +
++title: Intel LGM SoC NAND Controller
 +
 +allOf:
 +  - $ref: "nand-controller.yaml"
 +
 +maintainers:
 +  - Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com>
 +
 +properties:
 +  compatible:
 +    const: intel,lgm-ebunand
 +
 +  reg:
 +    maxItems: 6
 +
 +  reg-names:
 +    items:
 +      - const: ebunand
 +      - const: hsnand
 +      - const: nand_cs0
 +      - const: nand_cs1
 +      - const: addr_sel0
 +      - const: addr_sel1
 +
 +  clocks:
 +    maxItems: 1
 +
 +  dmas:
 +    maxItems: 2
 +
 +  dma-names:
 +    items:
 +      - const: tx
 +      - const: rx
 +
 +  "#address-cells":
 +    const: 1
 +
 +  "#size-cells":
 +    const: 0
 +
 +patternProperties:
 +  "^nand@[a-f0-9]+$":
 +    type: object
 +    properties:
 +      reg:
 +        minimum: 0
 +        maximum: 1
 +
 +      nand-ecc-mode: true
 +
 +      nand-ecc-algo:
 +        const: hw
 +
 +    additionalProperties: false
 +
 +required:
 +  - compatible
 +  - reg
 +  - reg-names
 +  - clocks
 +  - dmas
 +  - dma-names
 +  - "#address-cells"
 +  - "#size-cells"
 +
 +additionalProperties: false
 +
 +examples:
 +  - |
 +    nand-controller@e0f00000 {
 +      compatible = "intel,lgm-ebunand";
 +      reg = <0xe0f00000 0x100>,
 +            <0xe1000000 0x300>,
 +            <0xe1400000 0x8000>,
 +            <0xe1c00000 0x1000>,
 +            <0x17400000 0x4>,
 +            <0x17c00000 0x4>;
 +      reg-names = "ebunand", "hsnand", "nand_cs0", "nand_cs1",
 +        "addr_sel0", "addr_sel1";
 +      clocks = <&cgu0 125>;
 +      dmas = <&dma0 8>, <&dma0 9>;
 +      dma-names = "tx", "rx";
 +      #address-cells = <1>;
 +      #size-cells = <0>;
 +
 +      nand@0 {
 +        reg = <0>;
 +        nand-ecc-mode = "hw";
 +      };
 +    };
 +
 +...
index f94a0a4320f15da36caae4d04f90ca9146277317,73ce3f5d0b8d92727af24341c0fdbfb12ceff0f2..13b984076af5381e25d39a2ff4585316d3442bc3
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/net/snps,dwmac.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Synopsys DesignWare MAC Device Tree Bindings
+ title: Synopsys DesignWare MAC
  
  maintainers:
    - Alexandre Torgue <alexandre.torgue@foss.st.com>
@@@ -74,7 -74,6 +74,7 @@@ properties
          - rockchip,rk3328-gmac
          - rockchip,rk3366-gmac
          - rockchip,rk3368-gmac
 +        - rockchip,rk3588-gmac
          - rockchip,rk3399-gmac
          - rockchip,rv1108-gmac
          - snps,dwmac
        is supported. For example, this is used in case of SGMII and
        MAC2MAC connection.
  
 +  snps,clk-csr:
 +    $ref: /schemas/types.yaml#/definitions/uint32
 +    description:
 +      Frequency division factor for MDC clock.
 +
    mdio:
      $ref: mdio.yaml#
      unevaluatedProperties: false
      required:
        - compatible
  
 +  stmmac-axi-config:
 +    type: object
 +    unevaluatedProperties: false
 +    description:
 +      AXI BUS Mode parameters.
 +
 +    properties:
 +      snps,lpi_en:
 +        $ref: /schemas/types.yaml#/definitions/flag
 +        description:
 +          enable Low Power Interface
 +
 +      snps,xit_frm:
 +        $ref: /schemas/types.yaml#/definitions/flag
 +        description:
 +          unlock on WoL
 +
 +      snps,wr_osr_lmt:
 +        $ref: /schemas/types.yaml#/definitions/uint32
 +        description:
 +          max write outstanding req. limit
 +
 +      snps,rd_osr_lmt:
 +        $ref: /schemas/types.yaml#/definitions/uint32
 +        description:
 +          max read outstanding req. limit
 +
 +      snps,kbbe:
 +        $ref: /schemas/types.yaml#/definitions/uint32
 +        description:
 +          do not cross 1KiB boundary.
 +
 +      snps,blen:
 +        $ref: /schemas/types.yaml#/definitions/uint32-array
 +        description:
 +          this is a vector of supported burst length.
 +        minItems: 7
 +        maxItems: 7
 +
 +      snps,fb:
 +        $ref: /schemas/types.yaml#/definitions/flag
 +        description:
 +          fixed-burst
 +
 +      snps,mb:
 +        $ref: /schemas/types.yaml#/definitions/flag
 +        description:
 +          mixed-burst
 +
 +      snps,rb:
 +        $ref: /schemas/types.yaml#/definitions/flag
 +        description:
 +          rebuild INCRx Burst
 +
  required:
    - compatible
    - reg
index 8e51dcdb4796e296e7037684be267b7e8bdf7a05,35ab268f87ab85cb107ef5922fbe5405e21bbe24..5b130097449b09b0ae2c6cecc1e0dfc9822065be
@@@ -5,7 -5,7 +5,7 @@@
  $id: http://devicetree.org/schemas/net/sunplus,sp7021-emac.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Sunplus SP7021 Dual Ethernet MAC Device Tree Bindings
+ title: Sunplus SP7021 Dual Ethernet MAC
  
  maintainers:
    - Wells Lu <wellslutw@gmail.com>
@@@ -32,7 -32,6 +32,7 @@@ properties
  
    ethernet-ports:
      type: object
 +    additionalProperties: false
      description: Ethernet ports to PHY
  
      properties:
@@@ -45,7 -44,6 +45,7 @@@
      patternProperties:
        "^port@[0-1]$":
          type: object
 +        additionalProperties: false
          description: Port to PHY
  
          properties:
index 46e330f457683efb0d648709588ecf4f53a1f279,4be6cabb510c8814046fb067a375beeed6c7f7cf..e36c7817be69ef953138b6be3dc84b4f35f15b64
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/net/ti,cpsw-switch.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: TI SoC Ethernet Switch Controller (CPSW) Device Tree Bindings
+ title: TI SoC Ethernet Switch Controller (CPSW)
  
  maintainers:
    - Grygorii Strashko <grygorii.strashko@ti.com>
@@@ -77,8 -77,6 +77,8 @@@ properties
  
    ethernet-ports:
      type: object
 +    additionalProperties: false
 +
      properties:
        '#address-cells':
          const: 1
@@@ -91,7 -89,6 +91,7 @@@
          description: CPSW external ports
  
          $ref: ethernet-controller.yaml#
 +        unevaluatedProperties: false
  
          properties:
            reg:
  
    cpts:
      type: object
 +    unevaluatedProperties: false
      description:
        The Common Platform Time Sync (CPTS) module
  
index 7d90beaccc60c410b9076c364ac809f3489df3e9,2f404436b01075ca536fe2f1ef4130574a97c8e0..821974815dec9766fdb068115da440c73a556a5c
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/net/ti,k3-am654-cpsw-nuss.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: The TI AM654x/J721E/AM642x SoC Gigabit Ethernet MAC (Media Access Controller) Device Tree Bindings
+ title: The TI AM654x/J721E/AM642x SoC Gigabit Ethernet MAC (Media Access Controller)
  
  maintainers:
    - Grygorii Strashko <grygorii.strashko@ti.com>
@@@ -55,7 -55,6 +55,7 @@@ properties
    compatible:
      enum:
        - ti,am654-cpsw-nuss
 +      - ti,j7200-cpswxg-nuss
        - ti,j721e-cpsw-nuss
        - ti,am642-cpsw-nuss
  
          const: 0
  
      patternProperties:
 -      port@[1-2]:
 +      "^port@[1-4]$":
          type: object
          description: CPSWxG NUSS external ports
  
          $ref: ethernet-controller.yaml#
 +        unevaluatedProperties: false
  
          properties:
            reg:
              minimum: 1
 -            maximum: 2
 +            maximum: 4
              description: CPSW port number
  
            phys:
@@@ -180,19 -178,6 +180,19 @@@ required
    - '#address-cells'
    - '#size-cells'
  
 +allOf:
 +  - if:
 +      not:
 +        properties:
 +          compatible:
 +            contains:
 +              const: ti,j7200-cpswxg-nuss
 +    then:
 +      properties:
 +        ethernet-ports:
 +          patternProperties:
 +            "^port@[3-4]$": false
 +
  additionalProperties: false
  
  examples:
index e9f78cef6b7f8e42101de5a007d5b2df9628c729,f0a09a0d60e80485a2924ee29e949d6987173f77..6230f576134bb9edfb9ace20f5b75290d9da5924
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/net/ti,k3-am654-cpts.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: The TI AM654x/J721E Common Platform Time Sync (CPTS) module Device Tree Bindings
+ title: The TI AM654x/J721E Common Platform Time Sync (CPTS) module
  
  maintainers:
    - Grygorii Strashko <grygorii.strashko@ti.com>
@@@ -95,7 -95,6 +95,7 @@@ properties
  
    refclk-mux:
      type: object
 +    additionalProperties: false
      description: CPTS reference clock multiplexer clock
      properties:
        '#clock-cells':
index 304757bf928177d84254170e24ebfbd2c15a709a,3ac2e361b9b38d7ce65a7df7a1c0f9708ca89122..6a71f694cb554ceaabcb411ec1d14e9668ba95e2
@@@ -4,10 -4,10 +4,10 @@@
  $id: "http://devicetree.org/schemas/net/vertexcom-mse102x.yaml#"
  $schema: "http://devicetree.org/meta-schemas/core.yaml#"
  
- title: The Vertexcom MSE102x (SPI) Device Tree Bindings
+ title: The Vertexcom MSE102x (SPI)
  
  maintainers:
 -  - Stefan Wahren <stefan.wahren@in-tech.com>
 +  - Stefan Wahren <stefan.wahren@chargebyte.com>
  
  description:
    Vertexcom's MSE102x are a family of HomePlug GreenPHY chips.
index d24ec47c038e9451d8bdc447731e3abaab160f1a,a76fba657de1942504ab6f8d1891e3310aa16626..6fdd46ad5a780fa3ce9628ddaf7181f5270824bb
@@@ -4,10 -4,10 +4,10 @@@
  $id: http://devicetree.org/schemas/phy/cdns,dphy-rx.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Cadence DPHY Rx Device Tree Bindings
+ title: Cadence DPHY Rx
  
  maintainers:
 -  - Pratyush Yadav <p.yadav@ti.com>
 +  - Pratyush Yadav <pratyush@kernel.org>
  
  properties:
    compatible:
index 649e0b953df0064f23fb4ecd1b7781e6aa35dbb8,554b270112fd91a38ce4467ef035c8422a9f9377..6cd9b0f388a43a0b23f997de36a04f6b57a9869c
@@@ -4,10 -4,10 +4,10 @@@
  $id: http://devicetree.org/schemas/phy/cdns,dphy.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Cadence DPHY Device Tree Bindings
+ title: Cadence DPHY
  
  maintainers:
 -  - Pratyush Yadav <p.yadav@ti.com>
 +  - Pratyush Yadav <pratyush@kernel.org>
  
  properties:
    compatible:
index e0754fb44451539d3ca037b71e3a545d3c3a353a,73fde3a229bc3e4f0905d4ff263858e71fc1a8f0..5613cc5106e32f7f5be26aed73f0617801dc41ac
@@@ -5,7 -5,7 +5,7 @@@
  $id: http://devicetree.org/schemas/phy/mediatek,tphy.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: MediaTek T-PHY Controller Device Tree Bindings
+ title: MediaTek T-PHY Controller
  
  maintainers:
    - Chunfeng Yun <chunfeng.yun@mediatek.com>
@@@ -163,7 -163,6 +163,7 @@@ patternProperties
                  - PHY_TYPE_USB3
                  - PHY_TYPE_PCIE
                  - PHY_TYPE_SATA
 +                - PHY_TYPE_SGMII
  
        nvmem-cells:
          items:
          minimum: 1
          maximum: 15
  
 +      mediatek,pre-emphasis:
 +        description:
 +          The level of pre-emphasis which used to widen the eye opening and
 +          boost eye swing, the unit step is about 4.16% increment; e.g. the
 +          level 1 means amplitude increases about 4.16%, the level 2 is about
 +          8.3% etc. (U2 phy)
 +        $ref: /schemas/types.yaml#/definitions/uint32
 +        minimum: 1
 +        maximum: 3
 +
        mediatek,bc12:
          description:
            Specify the flag to enable BC1.2 if support it
index 810537a0f7dda8bab69f2050ebfb9cb6116210c8,4b0b020921d509c443fb1954db37aa687604be33..0e6505e9da50504a4530ff082ab2220d51b163b1
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/phy/rockchip-inno-csi-dphy.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Rockchip SoC MIPI RX0 D-PHY Device Tree Bindings
+ title: Rockchip SoC MIPI RX0 D-PHY
  
  maintainers:
    - Heiko Stuebner <heiko@sntech.de>
@@@ -20,7 -20,6 +20,7 @@@ properties
        - rockchip,rk1808-csi-dphy
        - rockchip,rk3326-csi-dphy
        - rockchip,rk3368-csi-dphy
 +      - rockchip,rk3568-csi-dphy
  
    reg:
      maxItems: 1
index 346eb7cf29a508e2a9b223fcbee27ea62ef2d866,3307b58b1cac419f2b45d3670555b6bf15951bb4..c5dbb91ac40235c47a4d4d656e432330bff2fba4
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/phy/samsung,ufs-phy.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Samsung SoC series UFS PHY Device Tree Bindings
+ title: Samsung SoC series UFS PHY
  
  maintainers:
    - Alim Akhtar <alim.akhtar@samsung.com>
@@@ -27,12 -27,18 +27,12 @@@ properties
        - const: phy-pma
  
    clocks:
 -    items:
 -      - description: PLL reference clock
 -      - description: symbol clock for input symbol ( rx0-ch0 symbol clock)
 -      - description: symbol clock for input symbol ( rx1-ch1 symbol clock)
 -      - description: symbol clock for output symbol ( tx0 symbol clock)
 +    minItems: 1
 +    maxItems: 4
  
    clock-names:
 -    items:
 -      - const: ref_clk
 -      - const: rx1_symbol_clk
 -      - const: rx0_symbol_clk
 -      - const: tx0_symbol_clk
 +    minItems: 1
 +    maxItems: 4
  
    samsung,pmu-syscon:
      $ref: '/schemas/types.yaml#/definitions/phandle-array'
@@@ -56,39 -62,6 +56,39 @@@ required
    - clock-names
    - samsung,pmu-syscon
  
 +allOf:
 +  - if:
 +      properties:
 +        compatible:
 +          contains:
 +            const: samsung,exynos7-ufs-phy
 +
 +    then:
 +      properties:
 +        clocks:
 +          items:
 +            - description: PLL reference clock
 +            - description: symbol clock for input symbol (rx0-ch0 symbol clock)
 +            - description: symbol clock for input symbol (rx1-ch1 symbol clock)
 +            - description: symbol clock for output symbol (tx0 symbol clock)
 +
 +        clock-names:
 +          items:
 +            - const: ref_clk
 +            - const: rx1_symbol_clk
 +            - const: rx0_symbol_clk
 +            - const: tx0_symbol_clk
 +
 +    else:
 +      properties:
 +        clocks:
 +          items:
 +            - description: PLL reference clock
 +
 +        clock-names:
 +          items:
 +            - const: ref_clk
 +
  additionalProperties: false
  
  examples:
index 2dd93e8499f0527130b23d97bfc1de77980e4774,8c4f8bf62f7ed7ec35dd2a2041b4028bd9b9f405..0088bc8e7c541a3c6ba7001c06e93bb88a6586ac
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/pwm/mediatek,pwm-disp.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: MediaTek DISP_PWM Controller Device Tree Bindings
+ title: MediaTek DISP_PWM Controller
  
  maintainers:
    - Jitao Shi <jitao.shi@mediatek.com>
@@@ -27,7 -27,6 +27,7 @@@ properties
        - items:
            - enum:
                - mediatek,mt8186-disp-pwm
 +              - mediatek,mt8188-disp-pwm
                - mediatek,mt8192-disp-pwm
                - mediatek,mt8195-disp-pwm
            - const: mediatek,mt8183-disp-pwm
index 7985b1410017433ae28c4d8dea611af9456e342a,cd0ab0d1e0787dd00984c099bfbdb14df217f928..fd5aa61b467f813ed28775d3ebffe4cf3b6c7809
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/sound/adi,max98396.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Analog Devices MAX98396 Speaker Amplifier Device Tree Bindings
+ title: Analog Devices MAX98396 Speaker Amplifier
  
  maintainers:
    - Ryan Lee <ryans.lee@analog.com>
@@@ -78,40 -78,6 +78,40 @@@ properties
        interleaved on a single output channel.
      type: boolean
  
 +  adi,dmon-stuck-enable:
 +    description:
 +      Enables the "data monitor stuck" feature. Once the data monitor is
 +      enabled, it actively monitors the selected input data (from DIN) to the
 +      speaker amplifier. Once a data error is detected, the data monitor
 +      automatically places the device into software shutdown.
 +    type: boolean
 +
 +  adi,dmon-stuck-threshold-bits:
 +    description:
 +      Sets the threshold for the "data monitor stuck" feature, in bits.
 +    enum: [9, 11, 13, 15]
 +    default: 15
 +
 +  adi,dmon-magnitude-enable:
 +    description:
 +      Enables the "data monitor magnitude" feature. Once the data monitor is
 +      enabled, it actively monitors the selected input data (from DIN) to the
 +      speaker amplifier. Once a data error is detected, the data monitor
 +      automatically places the device into software shutdown.
 +    type: boolean
 +
 +  adi,dmon-magnitude-threshold-bits:
 +    description:
 +      Sets the threshold for the "data monitor magnitude" feature, in bits.
 +    enum: [2, 3, 4, 5]
 +    default: 5
 +
 +  adi,dmon-duration-ms:
 +    description:
 +      Sets the duration for the "data monitor" feature, in milliseconds.
 +    enum: [64, 256, 1024, 4096]
 +    default: 64
 +
    reset-gpios:
      maxItems: 1
  
index aaa99c2deda08c6d70fb8da3ca01cec8bfaad845,2efbfcaca760def124d592473f898e7780166c86..d59baedee180d43fc53ecb36053ef5e74a76c179
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/sound/audio-graph.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Audio Graph Device Tree Bindings
+ title: Audio Graph
  
  maintainers:
    - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
@@@ -27,12 -27,11 +27,12 @@@ properties
      description: User specified audio sound widgets.
      $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    convert-rate:
 -    description: CPU to Codec rate convert.
 -    $ref: /schemas/types.yaml#/definitions/uint32
 +    $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-rate"
    convert-channels:
 -    description: CPU to Codec rate channels.
 -    $ref: /schemas/types.yaml#/definitions/uint32
 +    $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-channels"
 +  convert-sample-format:
 +    $ref: "/schemas/sound/dai-params.yaml#/$defs/dai-sample-format"
 +
    pa-gpios:
      maxItems: 1
    hp-det-gpio:
index 268895c90bd5e409de3348f22fb239cb452176e7,ac8e27e96850d22c1c10dfcaa060d199b1818cd1..679a246dd666d3f8a2da8906f2e2a989d3692b12
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/sound/renesas,rsnd.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Renesas R-Car Sound Driver Device Tree Bindings
+ title: Renesas R-Car Sound Driver
  
  maintainers:
    - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
@@@ -129,8 -129,6 +129,8 @@@ properties
      patternProperties:
        "^dvc-[0-1]$":
          type: object
 +        additionalProperties: false
 +
          properties:
            dmas:
              maxItems: 1
      patternProperties:
        "^mix-[0-1]$":
          type: object
 -        # no properties
 +        additionalProperties: false
      additionalProperties: false
  
    rcar_sound,ctu:
      patternProperties:
        "^ctu-[0-7]$":
          type: object
 -        # no properties
 +        additionalProperties: false
      additionalProperties: false
  
    rcar_sound,src:
      patternProperties:
        "^src-[0-9]$":
          type: object
 +        additionalProperties: false
 +
          properties:
            interrupts:
              maxItems: 1
      patternProperties:
        "^ssiu-[0-9]+$":
          type: object
 +        additionalProperties: false
 +
          properties:
            dmas:
              maxItems: 2
      patternProperties:
        "^ssi-[0-9]$":
          type: object
 +        additionalProperties: false
 +
          properties:
            interrupts:
              maxItems: 1
      patternProperties:
        "^dai([0-9]+)?$":
          type: object
 +        additionalProperties: false
 +
          properties:
            playback:
              $ref: /schemas/types.yaml#/definitions/phandle-array
index d64c1b28fb61a7b1cc5731b9369012d8a340a558,74f8d68c4909b598f9e4acb49a7e7ffcae48c94a..98a7dc7f467d91fde72eab705ddb7edc2ea8d425
@@@ -4,7 -4,7 +4,7 @@@
  $id: http://devicetree.org/schemas/sram/allwinner,sun4i-a10-system-control.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: Allwinner A10 System Control Device Tree Bindings
+ title: Allwinner A10 System Control
  
  maintainers:
    - Chen-Yu Tsai <wens@csie.org>
@@@ -24,31 -24,32 +24,31 @@@ properties
  
    compatible:
      oneOf:
 -      - const: allwinner,sun4i-a10-sram-controller
 +      - enum:
 +          - allwinner,sun4i-a10-sram-controller
 +          - allwinner,sun50i-a64-sram-controller
          deprecated: true
 -      - const: allwinner,sun4i-a10-system-control
 -      - const: allwinner,sun5i-a13-system-control
 +      - enum:
 +          - allwinner,sun4i-a10-system-control
 +          - allwinner,sun5i-a13-system-control
 +          - allwinner,sun8i-a23-system-control
 +          - allwinner,sun8i-h3-system-control
 +          - allwinner,sun20i-d1-system-control
 +          - allwinner,sun50i-a64-system-control
 +          - allwinner,sun50i-h5-system-control
 +          - allwinner,sun50i-h616-system-control
        - items:
 -          - const: allwinner,sun7i-a20-system-control
 +          - enum:
 +              - allwinner,suniv-f1c100s-system-control
 +              - allwinner,sun7i-a20-system-control
 +              - allwinner,sun8i-r40-system-control
            - const: allwinner,sun4i-a10-system-control
 -      - const: allwinner,sun8i-a23-system-control
 -      - const: allwinner,sun8i-h3-system-control
        - items:
            - const: allwinner,sun8i-v3s-system-control
            - const: allwinner,sun8i-h3-system-control
 -      - items:
 -          - const: allwinner,sun8i-r40-system-control
 -          - const: allwinner,sun4i-a10-system-control
 -      - const: allwinner,sun50i-a64-sram-controller
 -        deprecated: true
 -      - const: allwinner,sun50i-a64-system-control
 -      - const: allwinner,sun50i-h5-system-control
        - items:
            - const: allwinner,sun50i-h6-system-control
            - const: allwinner,sun50i-a64-system-control
 -      - items:
 -          - const: allwinner,suniv-f1c100s-system-control
 -          - const: allwinner,sun4i-a10-system-control
 -      - const: allwinner,sun50i-h616-system-control
  
    reg:
      maxItems: 1
@@@ -75,26 -76,43 +75,26 @@@ patternProperties
                - const: allwinner,sun4i-a10-sram-d
                - const: allwinner,sun50i-a64-sram-c
                - items:
 -                  - const: allwinner,sun5i-a13-sram-a3-a4
 -                  - const: allwinner,sun4i-a10-sram-a3-a4
 -              - items:
 -                  - const: allwinner,sun7i-a20-sram-a3-a4
 +                  - enum:
 +                      - allwinner,sun5i-a13-sram-a3-a4
 +                      - allwinner,sun7i-a20-sram-a3-a4
                    - const: allwinner,sun4i-a10-sram-a3-a4
                - items:
 -                  - const: allwinner,sun5i-a13-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun7i-a20-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun8i-a23-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun8i-h3-sram-c1
 +                  - enum:
 +                      - allwinner,sun5i-a13-sram-c1
 +                      - allwinner,sun7i-a20-sram-c1
 +                      - allwinner,sun8i-a23-sram-c1
 +                      - allwinner,sun8i-h3-sram-c1
 +                      - allwinner,sun8i-r40-sram-c1
 +                      - allwinner,sun50i-a64-sram-c1
 +                      - allwinner,sun50i-h5-sram-c1
 +                      - allwinner,sun50i-h6-sram-c1
                    - const: allwinner,sun4i-a10-sram-c1
                - items:
 -                  - const: allwinner,sun8i-r40-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun50i-a64-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun50i-h5-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun50i-h6-sram-c1
 -                  - const: allwinner,sun4i-a10-sram-c1
 -              - items:
 -                  - const: allwinner,sun5i-a13-sram-d
 -                  - const: allwinner,sun4i-a10-sram-d
 -              - items:
 -                  - const: allwinner,sun7i-a20-sram-d
 -                  - const: allwinner,sun4i-a10-sram-d
 -              - items:
 -                  - const: allwinner,suniv-f1c100s-sram-d
 +                  - enum:
 +                      - allwinner,suniv-f1c100s-sram-d
 +                      - allwinner,sun5i-a13-sram-d
 +                      - allwinner,sun7i-a20-sram-d
                    - const: allwinner,sun4i-a10-sram-d
                - items:
                    - const: allwinner,sun50i-h6-sram-c
index b019d490170d749f2df40896c1d58277a63e03d5,1d8667930565f71ced90fcbc72c20871f3e42e12..80750b0f458a82b48856920c99eb43487be73fa3
@@@ -5,7 -5,7 +5,7 @@@
  $id: http://devicetree.org/schemas/usb/mediatek,mtu3.yaml#
  $schema: http://devicetree.org/meta-schemas/core.yaml#
  
- title: MediaTek USB3 DRD Controller Device Tree Bindings
+ title: MediaTek USB3 DRD Controller
  
  maintainers:
    - Chunfeng Yun <chunfeng.yun@mediatek.com>
@@@ -24,7 -24,6 +24,7 @@@ properties
            - mediatek,mt2712-mtu3
            - mediatek,mt8173-mtu3
            - mediatek,mt8183-mtu3
 +          - mediatek,mt8188-mtu3
            - mediatek,mt8192-mtu3
            - mediatek,mt8195-mtu3
        - const: mediatek,mtu3
diff --combined MAINTAINERS
index 3bd6bb8d34f26bd2f40f42972dc5eb33aa747850,c0c33ad7450324266b9c06f2512748046f31a9e7..01169f29097ee703d15e033d9f63fad711ea5012
@@@ -348,6 -348,7 +348,6 @@@ M: "Rafael J. Wysocki" <rafael@kernel.o
  R:    Len Brown <lenb@kernel.org>
  L:    linux-acpi@vger.kernel.org
  S:    Supported
 -W:    https://01.org/linux-acpi
  Q:    https://patchwork.kernel.org/project/linux-acpi/list/
  B:    https://bugzilla.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
@@@ -426,6 -427,7 +426,6 @@@ M: Rafael J. Wysocki <rafael@kernel.org
  R:    Zhang Rui <rui.zhang@intel.com>
  L:    linux-acpi@vger.kernel.org
  S:    Supported
 -W:    https://01.org/linux-acpi
  B:    https://bugzilla.kernel.org
  F:    drivers/acpi/*thermal*
  
@@@ -618,7 -620,7 +618,7 @@@ ADXL367 THREE-AXIS DIGITAL ACCELEROMETE
  M:    Cosmin Tanislav <cosmin.tanislav@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
 -W:    http://ez.analog.com/community/linux-device-drivers
 +W:    https://ez.analog.com/linux-software-drivers
  F:    Documentation/devicetree/bindings/iio/accel/adi,adxl367.yaml
  F:    drivers/iio/accel/adxl367*
  
@@@ -669,8 -671,7 +669,8 @@@ F: fs/afs
  F:    include/trace/events/afs.h
  
  AGPGART DRIVER
 -M:    David Airlie <airlied@linux.ie>
 +M:    David Airlie <airlied@redhat.com>
 +L:    dri-devel@lists.freedesktop.org
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm
  F:    drivers/char/agp/
@@@ -748,17 -749,19 +748,17 @@@ S:      Supporte
  F:    drivers/infiniband/hw/erdma
  F:    include/uapi/rdma/erdma-abi.h
  
 +ALIBABA PMU DRIVER
 +M:    Shuai Xue <xueshuai@linux.alibaba.com>
 +S:    Supported
 +F:    Documentation/admin-guide/perf/alibaba_pmu.rst
 +F:    drivers/perf/alibaba_uncore_dwr_pmu.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
 -S:    Maintained
 -W:    http://www.allsensors.com/
 -F:    Documentation/devicetree/bindings/iio/pressure/asc,dlhl60d.yaml
 -F:    drivers/iio/pressure/dlhl60d.c
 -
  ALLEGRO DVT VIDEO IP CORE DRIVER
  M:    Michael Tretter <m.tretter@pengutronix.de>
  R:    Pengutronix Kernel Team <kernel@pengutronix.de>
@@@ -817,13 -820,6 +817,13 @@@ L:       linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/media/sunxi/cedrus/
  
 +ALLWINNER DMIC DRIVERS
 +M:    Ban Tao <fengzheng923@gmail.com>
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/allwinner,sun50i-h6-dmic.yaml
 +F:    sound/soc/sunxi/sun50i-dmic.c
 +
  ALPHA PORT
  M:    Richard Henderson <richard.henderson@linaro.org>
  M:    Ivan Kokshaysky <ink@jurassic.park.msu.ru>
@@@ -882,13 -878,6 +882,13 @@@ L:       netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/altera/
  
 +ALTERA TSE PCS
 +M:    Maxime Chevallier <maxime.chevallier@bootlin.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +F:    drivers/net/pcs/pcs-altera-tse.c
 +F:    include/linux/pcs-altera-tse.h
 +
  ALTERA UART/JTAG UART SERIAL DRIVERS
  M:    Tobias Klauser <tklauser@distanz.ch>
  L:    linux-serial@vger.kernel.org
@@@ -1021,6 -1010,7 +1021,6 @@@ F:      drivers/spi/spi-amd.
  
  AMD MP2 I2C DRIVER
  M:    Elie Morisse <syniurge@gmail.com>
 -M:    Nehal Shah <nehal-bakulchandra.shah@amd.com>
  M:    Shyam Sundar S K <shyam-sundar.s-k@amd.com>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
@@@ -1032,13 -1022,6 +1032,13 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/amd/pmc.c
  
 +AMD PMF DRIVER
 +M:    Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-amd-pmf
 +F:    drivers/platform/x86/amd/pmf/
 +
  AMD HSMP DRIVER
  M:    Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
  R:    Carlos Bilbao <carlos.bilbao@amd.com>
@@@ -1062,7 -1045,6 +1062,7 @@@ L:      linux-pm@vger.kernel.or
  S:    Supported
  F:    Documentation/admin-guide/pm/amd-pstate.rst
  F:    drivers/cpufreq/amd-pstate*
 +F:    include/linux/amd-pstate.h
  F:    tools/power/x86/amd_pstate_tracer/amd_pstate_trace.py
  
  AMD PTDMA DRIVER
@@@ -1170,7 -1152,7 +1170,7 @@@ ANALOG DEVICES INC AD74413R DRIVE
  M:    Cosmin Tanislav <cosmin.tanislav@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
 -W:    http://ez.analog.com/community/linux-device-drivers
 +W:    https://ez.analog.com/linux-software-drivers
  F:    Documentation/devicetree/bindings/iio/addac/adi,ad74413r.yaml
  F:    drivers/iio/addac/ad74413r.c
  F:    include/dt-bindings/iio/addac/adi,ad74413r.h
@@@ -1345,23 -1327,13 +1345,23 @@@ W:   https://ez.analog.com/linux-software
  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/adi,ad5758.yaml
 +F:    Documentation/devicetree/bindings/iio/adc/lltc,ltc2496.yaml
 +F:    Documentation/devicetree/bindings/iio/adc/lltc,ltc2497.yaml
  F:    drivers/iio/*/ad*
  F:    drivers/iio/adc/ltc249*
  F:    drivers/iio/amplifiers/hmc425a.c
  F:    drivers/staging/iio/*/ad*
  X:    drivers/iio/*/adjd*
  
 +ANALOG DEVICES INC MAX31760 DRIVER
 +M:    Ibrahim Tilki <Ibrahim.Tilki@analog.com>
 +S:    Maintained
 +W:    http://wiki.analog.com/
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/hwmon/adi,max31760.yaml
 +F:    Documentation/hwmon/max31760.rst
 +F:    drivers/hwmon/max31760.c
 +
  ANALOGBITS PLL LIBRARIES
  M:    Paul Walmsley <paul.walmsley@sifive.com>
  S:    Supported
@@@ -1410,7 -1382,7 +1410,7 @@@ APEX EMBEDDED SYSTEMS STX104 IIO DRIVE
  M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -F:    drivers/iio/adc/stx104.c
 +F:    drivers/iio/addac/stx104.c
  
  APM DRIVER
  M:    Jiri Kosina <jikos@kernel.org>
@@@ -1831,7 -1803,7 +1831,7 @@@ N:      sun[x456789]
  N:    sun50i
  
  ARM/Amlogic Meson SoC CLOCK FRAMEWORK
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  M:    Jerome Brunet <jbrunet@baylibre.com>
  L:    linux-amlogic@lists.infradead.org
  S:    Maintained
@@@ -1856,7 -1828,7 +1856,7 @@@ F:      Documentation/devicetree/bindings/so
  F:    sound/soc/meson/
  
  ARM/Amlogic Meson SoC support
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  M:    Kevin Hilman <khilman@baylibre.com>
  R:    Jerome Brunet <jbrunet@baylibre.com>
  R:    Martin Blumenstingl <martin.blumenstingl@googlemail.com>
@@@ -1927,15 -1899,6 +1927,15 @@@ F:    include/dt-bindings/pinctrl/apple.
  F:    include/linux/apple-mailbox.h
  F:    include/linux/soc/apple/*
  
 +ARM/APPLE MACHINE SOUND DRIVERS
 +M:    Martin PoviÅ¡er <povik+lin@cutebit.org>
 +L:    asahi@lists.linux.dev
 +L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/apple,*
 +F:    sound/soc/apple/*
 +F:    sound/soc/codecs/cs42l83-i2c.c
 +
  ARM/ARTPEC MACHINE SUPPORT
  M:    Jesper Nilsson <jesper.nilsson@axis.com>
  M:    Lars Persson <lars.persson@axis.com>
@@@ -2215,7 -2178,7 +2215,7 @@@ M:      Jean-Marie Verdun <verdun@hpe.com
  M:    Nick Hawkins <nick.hawkins@hpe.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/arm/hpe,gxp.yaml
 -F:    Documentation/devicetree/bindings/spi/hpe,gxp-spi.yaml
 +F:    Documentation/devicetree/bindings/spi/hpe,gxp-spifi.yaml
  F:    Documentation/devicetree/bindings/timer/hpe,gxp-timer.yaml
  F:    arch/arm/boot/dts/hpe-bmc*
  F:    arch/arm/boot/dts/hpe-gxp*
@@@ -2431,7 -2394,6 +2431,7 @@@ N:      atme
  ARM/Microchip Sparx5 SoC support
  M:    Lars Povlsen <lars.povlsen@microchip.com>
  M:    Steen Hegelund <Steen.Hegelund@microchip.com>
 +M:    Daniel Machon <daniel.machon@microchip.com>
  M:    UNGLinuxDriver@microchip.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
@@@ -2569,7 -2531,7 +2569,7 @@@ W:      http://www.digriz.org.uk/ts78xx/kern
  F:    arch/arm/mach-orion5x/ts78xx-*
  
  ARM/OXNAS platform support
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-oxnas@groups.io (moderated for non-subscribers)
  S:    Maintained
@@@ -2617,7 -2579,7 +2617,7 @@@ W:      http://www.armlinux.org.uk
  
  ARM/QUALCOMM SUPPORT
  M:    Andy Gross <agross@kernel.org>
 -M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Bjorn Andersson <andersson@kernel.org>
  R:    Konrad Dybcio <konrad.dybcio@somainline.org>
  L:    linux-arm-msm@vger.kernel.org
  S:    Maintained
@@@ -2626,7 -2588,6 +2626,7 @@@ F:      Documentation/devicetree/bindings/*/
  F:    Documentation/devicetree/bindings/soc/qcom/
  F:    arch/arm/boot/dts/qcom-*.dts
  F:    arch/arm/boot/dts/qcom-*.dtsi
 +F:    arch/arm/configs/qcom_defconfig
  F:    arch/arm/mach-qcom/
  F:    arch/arm64/boot/dts/qcom/
  F:    drivers/*/*/qcom*
@@@ -2689,7 -2650,7 +2689,7 @@@ F:      arch/arm/boot/dts/rtd
  F:    arch/arm/mach-realtek/
  F:    arch/arm64/boot/dts/realtek/
  
 -ARM/RENESAS ARM64 ARCHITECTURE
 +ARM/RENESAS ARCHITECTURE
  M:    Geert Uytterhoeven <geert+renesas@glider.be>
  M:    Magnus Damm <magnus.damm@gmail.com>
  L:    linux-renesas-soc@vger.kernel.org
@@@ -2700,16 -2661,6 +2700,16 @@@ T:    git git://git.kernel.org/pub/scm/lin
  F:    Documentation/devicetree/bindings/arm/renesas.yaml
  F:    Documentation/devicetree/bindings/hwinfo/renesas,prr.yaml
  F:    Documentation/devicetree/bindings/soc/renesas/
 +F:    arch/arm/boot/dts/emev2*
 +F:    arch/arm/boot/dts/gr-peach*
 +F:    arch/arm/boot/dts/iwg20d-q7*
 +F:    arch/arm/boot/dts/r7s*
 +F:    arch/arm/boot/dts/r8a*
 +F:    arch/arm/boot/dts/r9a*
 +F:    arch/arm/boot/dts/sh*
 +F:    arch/arm/configs/shmobile_defconfig
 +F:    arch/arm/include/debug/renesas-scif.S
 +F:    arch/arm/mach-shmobile/
  F:    arch/arm64/boot/dts/renesas/
  F:    drivers/soc/renesas/
  F:    include/linux/soc/renesas/
@@@ -2719,6 -2670,7 +2719,6 @@@ M:      Russell King <linux@armlinux.org.uk
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  W:    http://www.armlinux.org.uk/
 -F:    arch/arm/include/asm/hardware/entry-macro-iomd.S
  F:    arch/arm/include/asm/hardware/ioc.h
  F:    arch/arm/include/asm/hardware/iomd.h
  F:    arch/arm/include/asm/hardware/memc.h
@@@ -2820,6 -2772,29 +2820,6 @@@ L:     linux-media@vger.kernel.or
  S:    Maintained
  F:    drivers/media/platform/samsung/s5p-mfc/
  
 -ARM/SHMOBILE ARM ARCHITECTURE
 -M:    Geert Uytterhoeven <geert+renesas@glider.be>
 -M:    Magnus Damm <magnus.damm@gmail.com>
 -L:    linux-renesas-soc@vger.kernel.org
 -S:    Supported
 -Q:    http://patchwork.kernel.org/project/linux-renesas-soc/list/
 -C:    irc://irc.libera.chat/renesas-soc
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git next
 -F:    Documentation/devicetree/bindings/arm/renesas.yaml
 -F:    Documentation/devicetree/bindings/soc/renesas/
 -F:    arch/arm/boot/dts/emev2*
 -F:    arch/arm/boot/dts/gr-peach*
 -F:    arch/arm/boot/dts/iwg20d-q7*
 -F:    arch/arm/boot/dts/r7s*
 -F:    arch/arm/boot/dts/r8a*
 -F:    arch/arm/boot/dts/r9a*
 -F:    arch/arm/boot/dts/sh*
 -F:    arch/arm/configs/shmobile_defconfig
 -F:    arch/arm/include/debug/renesas-scif.S
 -F:    arch/arm/mach-shmobile/
 -F:    drivers/soc/renesas/
 -F:    include/linux/soc/renesas/
 -
  ARM/SOCFPGA ARCHITECTURE
  M:    Dinh Nguyen <dinguyen@kernel.org>
  S:    Maintained
@@@ -3112,8 -3087,6 +3112,8 @@@ W:      http://wiki.xilinx.co
  T:    git https://github.com/Xilinx/linux-xlnx.git
  F:    Documentation/devicetree/bindings/i2c/cdns,i2c-r1p10.yaml
  F:    Documentation/devicetree/bindings/i2c/xlnx,xps-iic-2.00.a.yaml
 +F:    Documentation/devicetree/bindings/memory-controllers/snps,dw-umctl2-ddrc.yaml
 +F:    Documentation/devicetree/bindings/memory-controllers/xlnx,zynq-ddrc-a05.yaml
  F:    Documentation/devicetree/bindings/spi/xlnx,zynq-qspi.yaml
  F:    arch/arm/mach-zynq/
  F:    drivers/clocksource/timer-cadence-ttc.c
@@@ -3237,13 -3210,6 +3237,13 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/usb/aspeed,ast2600-udc.yaml
  F:    drivers/usb/gadget/udc/aspeed_udc.c
  
 +ASPEED CRYPTO DRIVER
 +M:    Neal Liu <neal_liu@aspeedtech.com>
 +L:    linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/crypto/aspeed,ast2500-hace.yaml
 +F:    drivers/crypto/aspeed/
 +
  ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
  M:    Corentin Chary <corentin.chary@gmail.com>
  L:    acpi4asus-user@lists.sourceforge.net
@@@ -3267,6 -3233,13 +3267,6 @@@ L:     linux-hwmon@vger.kernel.or
  S:    Maintained
  F:    drivers/hwmon/asus_wmi_sensors.c
  
 -ASUS WMI EC HARDWARE MONITOR DRIVER
 -M:    Eugene Shalygin <eugene.shalygin@gmail.com>
 -M:    Denis Pauk <pauk.denis@gmail.com>
 -L:    linux-hwmon@vger.kernel.org
 -S:    Maintained
 -F:    drivers/hwmon/asus_wmi_ec_sensors.c
 -
  ASUS EC HARDWARE MONITOR DRIVER
  M:    Eugene Shalygin <eugene.shalygin@gmail.com>
  L:    linux-hwmon@vger.kernel.org
@@@ -3639,7 -3612,6 +3639,7 @@@ F:      include/linux/find.
  F:    include/linux/nodemask.h
  F:    lib/bitmap.c
  F:    lib/cpumask.c
 +F:    lib/cpumask_kunit.c
  F:    lib/find_bit.c
  F:    lib/find_bit_benchmark.c
  F:    lib/test_bitmap.c
@@@ -3707,7 -3679,6 +3707,7 @@@ F:      Documentation/networking/bonding.rs
  F:    drivers/net/bonding/
  F:    include/net/bond*
  F:    include/uapi/linux/if_bonding.h
 +F:    tools/testing/selftests/drivers/net/bonding/
  
  BOSCH SENSORTEC BMA400 ACCELEROMETER IIO DRIVER
  M:    Dan Robertson <dan@dlrobertson.com>
@@@ -3852,7 -3823,6 +3852,7 @@@ F:      kernel/bpf/dispatcher.
  F:    kernel/bpf/trampoline.c
  F:    include/linux/bpf*
  F:    include/linux/filter.h
 +F:    include/linux/tnum.h
  
  BPF [BTF]
  M:    Martin KaFai Lau <martin.lau@linux.dev>
@@@ -3978,7 -3948,6 +3978,7 @@@ M:      William Zhang <william.zhang@broadco
  M:    Anand Gore <anand.gore@broadcom.com>
  M:    Kursad Oney <kursad.oney@broadcom.com>
  M:    Florian Fainelli <f.fainelli@gmail.com>
 +M:    RafaÅ‚ MiÅ‚ecki <rafal@milecki.pl>
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
@@@ -4925,7 -4894,6 +4925,7 @@@ M:      Prashant Malani <pmalani@chromium.or
  L:    chrome-platform@lists.linux.dev
  S:    Maintained
  F:    drivers/platform/chrome/cros_ec_typec.c
 +F:    drivers/platform/chrome/cros_typec_switch.c
  
  CHROMEOS EC USB PD NOTIFY DRIVER
  M:    Prashant Malani <pmalani@chromium.org>
@@@ -4989,7 -4957,7 +4989,7 @@@ F:      drivers/hwmon/lochnagar-hwmon.
  F:    drivers/mfd/lochnagar-i2c.c
  F:    drivers/pinctrl/cirrus/pinctrl-lochnagar.c
  F:    drivers/regulator/lochnagar-regulator.c
 -F:    include/dt-bindings/clk/lochnagar.h
 +F:    include/dt-bindings/clock/lochnagar.h
  F:    include/dt-bindings/pinctrl/lochnagar.h
  F:    include/linux/mfd/lochnagar*
  F:    sound/soc/codecs/lochnagar-sc.c
@@@ -5177,7 -5145,6 +5177,7 @@@ T:      git git://git.samba.org/sfrench/cifs
  F:    Documentation/admin-guide/cifs/
  F:    fs/cifs/
  F:    fs/smbfs_common/
 +F:    include/uapi/linux/cifs
  
  COMPACTPCI HOTPLUG CORE
  M:    Scott Murray <scott@spiteful.org>
@@@ -5275,7 -5242,6 +5275,7 @@@ F:      block/blk-throttle.
  F:    include/linux/blk-cgroup.h
  
  CONTROL GROUP - CPUSET
 +M:    Waiman Long <longman@redhat.com>
  M:    Zefan Li <lizefan.x@bytedance.com>
  L:    cgroups@vger.kernel.org
  S:    Maintained
@@@ -5323,7 -5289,7 +5323,7 @@@ COUNTER SUBSYSTE
  M:    William Breathitt Gray <william.gray@linaro.org>
  L:    linux-iio@vger.kernel.org
  S:    Maintained
 -T:    git https://git.linaro.org/people/william.gray/counter.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wbg/counter.git
  F:    Documentation/ABI/testing/sysfs-bus-counter
  F:    Documentation/driver-api/generic-counter.rst
  F:    drivers/counter/
@@@ -5404,8 -5370,8 +5404,8 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    drivers/cpuidle/cpuidle-big_little.c
  
  CPUIDLE DRIVER - ARM EXYNOS
 -M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  M:    Daniel Lezcano <daniel.lezcano@linaro.org>
 +R:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  M:    Kukjin Kim <kgene@kernel.org>
  L:    linux-pm@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
@@@ -5753,6 -5719,13 +5753,6 @@@ F:     include/linux/tfrc.
  F:    include/uapi/linux/dccp.h
  F:    net/dccp/
  
 -DECnet NETWORK LAYER
 -L:    linux-decnet-user@lists.sourceforge.net
 -S:    Orphan
 -W:    http://linux-decnet.sourceforge.net
 -F:    Documentation/networking/decnet.rst
 -F:    net/decnet/
 -
  DECSTATION PLATFORM SUPPORT
  M:    "Maciej W. Rozycki" <macro@orcam.me.uk>
  L:    linux-mips@vger.kernel.org
@@@ -5921,9 -5894,10 +5921,9 @@@ T:     git git://git.kernel.org/pub/scm/lin
  F:    drivers/usb/dwc2/
  
  DESIGNWARE USB3 DRD IP DRIVER
 -M:    Felipe Balbi <balbi@kernel.org>
 +M:    Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  L:    linux-usb@vger.kernel.org
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
  F:    drivers/usb/dwc3/
  
  DEVANTECH SRF ULTRASONIC RANGER IIO DRIVER
@@@ -6204,7 -6178,7 +6204,7 @@@ F:      Documentation/devicetree/bindings/me
  F:    drivers/memory/samsung/exynos5422-dmc.c
  
  DME1737 HARDWARE MONITOR DRIVER
 -M:    Juerg Haefliger <juergh@gmail.com>
 +M:    Juerg Haefliger <juergh@proton.me>
  L:    linux-hwmon@vger.kernel.org
  S:    Maintained
  F:    Documentation/hwmon/dme1737.rst
@@@ -6444,11 -6418,6 +6444,11 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.yaml
  F:    drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
  
 +DRM DRIVER FOR GENERIC EDP PANELS
 +R:    Douglas Anderson <dianders@chromium.org>
 +F:    Documentation/devicetree/bindings/display/panel/panel-edp.yaml
 +F:    drivers/gpu/drm/panel/panel-edp.c
 +
  DRM DRIVER FOR GENERIC USB DISPLAY
  M:    Noralf Trønnes <noralf@tronnes.org>
  S:    Maintained
@@@ -6781,7 -6750,7 +6781,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/panel/panel-widechips-ws2401.c
  
  DRM DRIVERS
 -M:    David Airlie <airlied@linux.ie>
 +M:    David Airlie <airlied@gmail.com>
  M:    Daniel Vetter <daniel@ffwll.ch>
  L:    dri-devel@lists.freedesktop.org
  S:    Maintained
@@@ -6820,7 -6789,7 +6820,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/sun4i/
  
  DRM DRIVERS FOR AMLOGIC SOCS
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  L:    dri-devel@lists.freedesktop.org
  L:    linux-amlogic@lists.infradead.org
  S:    Supported
@@@ -6842,7 -6811,7 +6842,7 @@@ F:      drivers/gpu/drm/atmel-hlcdc
  
  DRM DRIVERS FOR BRIDGE CHIPS
  M:    Andrzej Hajda <andrzej.hajda@intel.com>
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  M:    Robert Foss <robert.foss@linaro.org>
  R:    Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
  R:    Jonas Karlman <jonas@kwiboo.se>
@@@ -7235,8 -7204,6 +7235,8 @@@ M:      Jason Baron <jbaron@akamai.com
  S:    Maintained
  F:    include/linux/dynamic_debug.h
  F:    lib/dynamic_debug.c
 +M:    Jim Cromie <jim.cromie@gmail.com>
 +F:    lib/test_dynamic_debug.c
  
  DYNAMIC INTERRUPT MODERATION
  M:    Tal Gilboa <talgi@nvidia.com>
@@@ -7564,7 -7531,7 +7564,7 @@@ M:      Adrian Hunter <adrian.hunter@intel.c
  M:    Ritesh Harjani <riteshh@codeaurora.org>
  M:    Asutosh Das <asutoshd@codeaurora.org>
  L:    linux-mmc@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/mmc/host/cqhci*
  
  EMULEX 10Gbps iSCSI - OneConnect DRIVER
@@@ -7717,6 -7684,7 +7717,6 @@@ R:      Kees Cook <keescook@chromium.org
  L:    linux-mm@kvack.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/execve
 -F:    arch/alpha/kernel/binfmt_loader.c
  F:    fs/*binfmt_*.c
  F:    fs/exec.c
  F:    include/linux/binfmts.h
@@@ -8033,7 -8001,6 +8033,7 @@@ L:      linux-hardening@vger.kernel.or
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
  F:    include/linux/fortify-string.h
 +F:    lib/fortify_kunit.c
  F:    lib/test_fortify/*
  F:    scripts/test_fortify.sh
  K:    \b__NO_FORTIFY\b
@@@ -8440,19 -8407,6 +8440,19 @@@ L:    platform-driver-x86@vger.kernel.or
  S:    Maintained
  F:    drivers/platform/x86/fujitsu-tablet.c
  
 +FUNCTION HOOKS (FTRACE)
 +M:    Steven Rostedt <rostedt@goodmis.org>
 +M:    Masami Hiramatsu <mhiramat@kernel.org>
 +R:    Mark Rutland <mark.rutland@arm.com>
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
 +F:    Documentation/trace/ftrace*
 +F:    kernel/trace/ftrace*
 +F:    kernel/trace/fgraph.c
 +F:    arch/*/*/*/*ftrace*
 +F:    arch/*/*/*ftrace*
 +F:    include/*/ftrace.h
 +
  FUNGIBLE ETHERNET DRIVERS
  M:    Dimitris Michailidis <dmichail@fungible.com>
  L:    netdev@vger.kernel.org
@@@ -8489,6 -8443,7 +8489,6 @@@ F:      tools/testing/selftests/futex
  
  GATEWORKS SYSTEM CONTROLLER (GSC) DRIVER
  M:    Tim Harvey <tharvey@gateworks.com>
 -M:    Robert Jones <rjones@gateworks.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml
  F:    drivers/mfd/gateworks-gsc.c
@@@ -8694,8 -8649,8 +8694,8 @@@ F:      drivers/input/touchscreen/goodix
  
  GOOGLE ETHERNET DRIVERS
  M:    Jeroen de Borst <jeroendb@google.com>
 -R:    Catherine Sullivan <csully@google.com>
 -R:    David Awogbemila <awogbemila@google.com>
 +M:    Catherine Sullivan <csully@google.com>
 +R:    Shailend Chand <shailend@google.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    Documentation/networking/device_drivers/ethernet/google/gve.rst
@@@ -8928,7 -8883,6 +8928,7 @@@ T:      git https://git.kernel.org/pub/scm/l
  F:    Documentation/ABI/testing/debugfs-driver-habanalabs
  F:    Documentation/ABI/testing/sysfs-driver-habanalabs
  F:    drivers/misc/habanalabs/
 +F:    include/trace/events/habanalabs.h
  F:    include/uapi/misc/habanalabs.h
  
  HACKRF MEDIA DRIVER
@@@ -8950,7 -8904,7 +8950,7 @@@ S:      Maintaine
  F:    Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
  F:    Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
  F:    Documentation/devicetree/bindings/media/rockchip-vpu.yaml
 -F:    drivers/staging/media/hantro/
 +F:    drivers/media/platform/verisilicon/
  
  HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
  M:    Frank Seidel <frank@f-seidel.de>
@@@ -8986,7 -8940,7 +8986,7 @@@ F:      include/linux/hw_random.
  
  HARDWARE SPINLOCK CORE
  M:    Ohad Ben-Cohen <ohad@wizery.com>
 -M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Bjorn Andersson <andersson@kernel.org>
  R:    Baolin Wang <baolin.wang7@gmail.com>
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
@@@ -9096,12 -9050,6 +9096,12 @@@ L:    linux-input@vger.kernel.or
  S:    Supported
  F:    drivers/hid/hid-playstation.c
  
 +HID PHOENIX RC FLIGHT CONTROLLER
 +M:    Marcus Folkesson <marcus.folkesson@gmail.com>
 +L:    linux-input@vger.kernel.org
 +S:    Maintained
 +F:    drivers/hid/hid-pxrc.c
 +
  HID SENSOR HUB DRIVERS
  M:    Jiri Kosina <jikos@kernel.org>
  M:    Jonathan Cameron <jic23@kernel.org>
@@@ -9114,12 -9062,6 +9114,12 @@@ F:    drivers/hid/hid-sensor-
  F:    drivers/iio/*/hid-*
  F:    include/linux/hid-sensor-*
  
 +HID VRC-2 CAR CONTROLLER DRIVER
 +M:    Marcus Folkesson <marcus.folkesson@gmail.com>
 +L:    linux-input@vger.kernel.org
 +S:    Maintained
 +F:    drivers/hid/hid-vrc2.c
 +
  HID WACOM DRIVER
  M:    Ping Cheng <ping.cheng@wacom.com>
  M:    Jason Gerecke  <jason.gerecke@wacom.com>
@@@ -9172,13 -9114,12 +9172,13 @@@ F:   net/dsa/tag_hellcreek.
  
  HISILICON DMA DRIVER
  M:    Zhou Wang <wangzhou1@hisilicon.com>
 +M:    Jie Hai <haijie1@hisilicon.com>
  L:    dmaengine@vger.kernel.org
  S:    Maintained
  F:    drivers/dma/hisi_dma.c
  
  HISILICON GPIO DRIVER
 -M:    Luo Jiaxing <luojiaxing@huawei.com>
 +M:    Jay Fang <f.fangjian@huawei.com>
  L:    linux-gpio@vger.kernel.org
  S:    Maintained
  F:    drivers/gpio/gpio-hisi.c
@@@ -9244,14 -9185,6 +9244,14 @@@ S:    Supporte
  F:    Documentation/admin-guide/perf/hns3-pmu.rst
  F:    drivers/perf/hisilicon/hns3_pmu.c
  
 +HISILICON PTT DRIVER
 +M:    Yicong Yang <yangyicong@hisilicon.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-devices-hisi_ptt
 +F:    Documentation/trace/hisi-ptt.rst
 +F:    drivers/hwtracing/ptt/
 +
  HISILICON QM DRIVER
  M:    Weili Qian <qianweili@huawei.com>
  M:    Zhou Wang <wangzhou1@hisilicon.com>
@@@ -9272,8 -9205,8 +9272,8 @@@ F:      Documentation/ABI/testing/debugfs-hi
  F:    drivers/crypto/hisilicon/zip/
  
  HISILICON ROCE DRIVER
 +M:    Haoyue Xu <xuhaoyue1@hisilicon.com>
  M:    Wenpeng Liang <liangwenpeng@huawei.com>
 -M:    Weihang Li <liweihang@huawei.com>
  L:    linux-rdma@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/infiniband/hisilicon-hns-roce.txt
@@@ -9847,7 -9780,7 +9847,7 @@@ M:      Christian Brauner <brauner@kernel.or
  M:    Seth Forshee <sforshee@kernel.org>
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
 +T:    git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git
  F:    Documentation/filesystems/idmappings.rst
  F:    tools/testing/selftests/mount_setattr/
  F:    include/linux/mnt_idmapping.h
@@@ -10096,7 -10029,6 +10096,7 @@@ F:   Documentation/devicetree/bindings/in
  F:    Documentation/devicetree/bindings/serio/
  F:    Documentation/input/
  F:    drivers/input/
 +F:    include/dt-bindings/input/
  F:    include/linux/input.h
  F:    include/linux/input/
  F:    include/uapi/linux/input-event-codes.h
@@@ -10442,6 -10374,7 +10442,6 @@@ INTEL MENLOW THERMAL DRIVE
  M:    Sujith Thomas <sujith.thomas@intel.com>
  L:    linux-pm@vger.kernel.org
  S:    Supported
 -W:    https://01.org/linux-acpi
  F:    drivers/thermal/intel/intel_menlow.c
  
  INTEL P-Unit IPC DRIVER
@@@ -10724,7 -10657,6 +10724,7 @@@ T:   git git://git.kernel.dk/linux-bloc
  T:    git git://git.kernel.dk/liburing
  F:    io_uring/
  F:    include/linux/io_uring.h
 +F:    include/linux/io_uring_types.h
  F:    include/uapi/linux/io_uring.h
  F:    tools/io_uring/
  
@@@ -10891,7 -10823,7 +10891,7 @@@ F:   drivers/media/tuners/it913x
  
  ITE IT66121 HDMI BRIDGE DRIVER
  M:    Phong LE <ple@baylibre.com>
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml
@@@ -11136,8 -11068,8 +11136,8 @@@ F:   tools/testing/selftests
  KERNEL SMB3 SERVER (KSMBD)
  M:    Namjae Jeon <linkinjeon@kernel.org>
  M:    Steve French <sfrench@samba.org>
 -M:    Hyunchul Lee <hyc.lee@gmail.com>
  R:    Sergey Senozhatsky <senozhatsky@chromium.org>
 +R:    Tom Talpey <tom@talpey.com>
  L:    linux-cifs@vger.kernel.org
  S:    Maintained
  T:    git git://git.samba.org/ksmbd.git
@@@ -11410,7 -11342,7 +11410,7 @@@ F:   kernel/debug
  F:    kernel/module/kdb.c
  
  KHADAS MCU MFD DRIVER
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  L:    linux-amlogic@lists.infradead.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/mfd/khadas,mcu.yaml
@@@ -11442,7 -11374,7 +11442,7 @@@ M:   Anil S Keshavamurthy <anil.s.keshava
  M:    "David S. Miller" <davem@davemloft.net>
  M:    Masami Hiramatsu <mhiramat@kernel.org>
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
  F:    Documentation/trace/kprobes.rst
  F:    include/asm-generic/kprobes.h
  F:    include/linux/kprobes.h
@@@ -11619,15 -11551,6 +11619,15 @@@ F: drivers/ata/ahci_platform.
  F:    drivers/ata/libahci_platform.c
  F:    include/linux/ahci_platform.h
  
 +LIBATA SATA AHCI SYNOPSYS DWC CONTROLLER DRIVER
 +M:    Serge Semin <fancer.lancer@gmail.com>
 +L:    linux-ide@vger.kernel.org
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata.git
 +F:    Documentation/devicetree/bindings/ata/baikal,bt1-ahci.yaml
 +F:    Documentation/devicetree/bindings/ata/snps,dwc-ahci.yaml
 +F:    drivers/ata/ahci_dwc.c
 +
  LIBATA SATA PROMISE TX2/TX4 CONTROLLER DRIVER
  M:    Mikael Pettersson <mikpelinux@gmail.com>
  L:    linux-ide@vger.kernel.org
@@@ -11702,7 -11625,6 +11702,7 @@@ F:   Documentation/process/license-rules.
  F:    LICENSES/
  F:    scripts/spdxcheck-test.sh
  F:    scripts/spdxcheck.py
 +F:    scripts/spdxexclude
  
  LINEAR RANGES HELPERS
  M:    Mark Brown <broonie@kernel.org>
@@@ -12001,7 -11923,7 +12001,7 @@@ LTC2688 IIO DAC DRIVE
  M:    Nuno Sá <nuno.sa@analog.com>
  L:    linux-iio@vger.kernel.org
  S:    Supported
 -W:    http://ez.analog.com/community/linux-device-drivers
 +W:    https://ez.analog.com/linux-software-drivers
  F:    Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2688
  F:    Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml
  F:    drivers/iio/dac/ltc2688.c
@@@ -12418,14 -12340,6 +12418,14 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/iio/proximity/maxbotix,mb1232.yaml
  F:    drivers/iio/proximity/mb1232.c
  
 +MAXIM MAX11205 DRIVER
 +M:    Ramona Bolboaca <ramona.bolboaca@analog.com>
 +L:    linux-iio@vger.kernel.org
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/iio/adc/maxim,max11205.yaml
 +F:    drivers/iio/adc/max11205.c
 +
  MAXIM MAX17040 FAMILY FUEL GAUGE DRIVERS
  R:    Iskren Chernev <iskren.chernev@gmail.com>
  R:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
@@@ -12491,6 -12405,7 +12491,6 @@@ F:   drivers/power/supply/max77976_charge
  
  MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
  M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 -M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    linux-pm@vger.kernel.org
  S:    Supported
  B:    mailto:linux-samsung-soc@vger.kernel.org
@@@ -12502,6 -12417,7 +12502,6 @@@ 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 <krzysztof.kozlowski@linaro.org>
 -M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  B:    mailto:linux-samsung-soc@vger.kernel.org
@@@ -12949,7 -12865,7 +12949,7 @@@ MEDIATEK MT7621/28/88 I2C DRIVE
  M:    Stefan Roese <sr@denx.de>
  L:    linux-i2c@vger.kernel.org
  S:    Maintained
- F:    Documentation/devicetree/bindings/i2c/i2c-mt7621.txt
+ F:    Documentation/devicetree/bindings/i2c/mediatek,mt7621-i2c.yaml
  F:    drivers/i2c/busses/i2c-mt7621.c
  
  MEDIATEK MT7621 PCIE CONTROLLER DRIVER
@@@ -13062,9 -12978,9 +13062,9 @@@ F:   drivers/input/touchscreen/melfas_mip
  
  MELLANOX BLUEFIELD I2C DRIVER
  M:    Khalil Blaiech <kblaiech@nvidia.com>
 +M:    Asmaa Mnebhi <asmaa@nvidia.com>
  L:    linux-i2c@vger.kernel.org
  S:    Supported
 -F:    Documentation/devicetree/bindings/i2c/mellanox,i2c-mlxbf.yaml
  F:    drivers/i2c/busses/i2c-mlxbf.c
  
  MELLANOX ETHERNET DRIVER (mlx4_en)
@@@ -13268,13 -13184,6 +13268,13 @@@ F: drivers/mtd
  F:    include/linux/mtd/
  F:    include/uapi/mtd/
  
 +MEMSENSING MICROSYSTEMS MSA311 DRIVER
 +M:    Dmitry Rokosov <ddrokosov@sberdevices.ru>
 +L:    linux-iio@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/accel/memsensing,msa311.yaml
 +F:    drivers/iio/accel/msa311.c
 +
  MEN A21 WATCHDOG DRIVER
  M:    Johannes Thumshirn <morbidrsa@gmail.com>
  L:    linux-watchdog@vger.kernel.org
@@@ -13304,7 -13213,7 +13304,7 @@@ S:   Maintaine
  F:    drivers/watchdog/menz69_wdt.c
  
  MESON AO CEC DRIVER FOR AMLOGIC SOCS
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  L:    linux-media@vger.kernel.org
  L:    linux-amlogic@lists.infradead.org
  S:    Supported
@@@ -13315,7 -13224,7 +13315,7 @@@ F:   drivers/media/cec/platform/meson/ao-
  F:    drivers/media/cec/platform/meson/ao-cec.c
  
  MESON GE2D DRIVER FOR AMLOGIC SOCS
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  L:    linux-media@vger.kernel.org
  L:    linux-amlogic@lists.infradead.org
  S:    Supported
@@@ -13331,7 -13240,7 +13331,7 @@@ F:   Documentation/devicetree/bindings/mt
  F:    drivers/mtd/nand/raw/meson_*
  
  MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS
 -M:    Neil Armstrong <narmstrong@baylibre.com>
 +M:    Neil Armstrong <neil.armstrong@linaro.org>
  L:    linux-media@vger.kernel.org
  L:    linux-amlogic@lists.infradead.org
  S:    Supported
@@@ -13378,7 -13287,7 +13378,7 @@@ F:   include/dt-bindings/dma/at91.
  MICROCHIP AT91 SERIAL DRIVER
  M:    Richard Genoud <richard.genoud@gmail.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/mfd/atmel-usart.txt
 +F:    Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
  F:    drivers/tty/serial/atmel_serial.c
  F:    drivers/tty/serial/atmel_serial.h
  
@@@ -13386,7 -13295,7 +13386,7 @@@ MICROCHIP AT91 USART MFD DRIVE
  M:    Radu Pirea <radu_nicolae.pirea@upb.ro>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
 -F:    Documentation/devicetree/bindings/mfd/atmel-usart.txt
 +F:    Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
  F:    drivers/mfd/at91-usart.c
  F:    include/dt-bindings/mfd/at91-usart.h
  
@@@ -13394,7 -13303,7 +13394,7 @@@ MICROCHIP AT91 USART SPI DRIVE
  M:    Radu Pirea <radu_nicolae.pirea@upb.ro>
  L:    linux-spi@vger.kernel.org
  S:    Supported
 -F:    Documentation/devicetree/bindings/mfd/atmel-usart.txt
 +F:    Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
  F:    drivers/spi/spi-at91-usart.c
  
  MICROCHIP AUDIO ASOC DRIVERS
@@@ -13496,7 -13405,7 +13496,7 @@@ MICROCHIP MCP3911 ADC DRIVE
  M:    Marcus Folkesson <marcus.folkesson@gmail.com>
  M:    Kent Gustavsson <kent@minoris.se>
  L:    linux-iio@vger.kernel.org
 -S:    Supported
 +S:    Maintained
  F:    Documentation/devicetree/bindings/iio/adc/microchip,mcp3911.yaml
  F:    drivers/iio/adc/mcp3911.c
  
@@@ -13512,14 -13421,6 +13512,14 @@@ S: Supporte
  F:    Documentation/devicetree/bindings/mtd/atmel-nand.txt
  F:    drivers/mtd/nand/raw/atmel/*
  
 +MICROCHIP PCI1XXXX GP DRIVER
 +M:    Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
 +L:    linux-gpio@vger.kernel.org
 +S:    Supported
 +F:    drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c
 +F:    drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.h
 +F:    drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c
 +
  MICROCHIP OTPC DRIVER
  M:    Claudiu Beznea <claudiu.beznea@microchip.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -13528,14 -13429,6 +13528,14 @@@ F: Documentation/devicetree/bindings/nv
  F:    drivers/nvmem/microchip-otpc.c
  F:    include/dt-bindings/nvmem/microchip,sama7g5-otpc.h
  
 +MICROCHIP PCI1XXXX I2C DRIVER
 +M:    Tharun Kumar P <tharunkumar.pasumarthi@microchip.com>
 +M:    Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
 +M:    Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
 +L:    linux-i2c@vger.kernel.org
 +S:    Maintained
 +F:    drivers/i2c/busses/i2c-mchp-pci1xxxx.c
 +
  MICROCHIP PWM DRIVER
  M:    Claudiu Beznea <claudiu.beznea@microchip.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -13595,7 -13488,6 +13595,7 @@@ M:   UNGLinuxDriver@microchip.co
  L:    linux-mips@vger.kernel.org
  S:    Supported
  F:    Documentation/devicetree/bindings/mips/mscc.txt
 +F:    Documentation/devicetree/bindings/phy/mscc,vsc7514-serdes.yaml
  F:    Documentation/devicetree/bindings/power/reset/ocelot-reset.txt
  F:    arch/mips/boot/dts/mscc/
  F:    arch/mips/configs/generic/board-ocelot.config
@@@ -13883,7 -13775,7 +13883,7 @@@ MOTION EYE VAIO PICTUREBOOK CAMERA DRIV
  S:    Orphan
  W:    http://popies.net/meye/
  F:    Documentation/userspace-api/media/drivers/meye*
 -F:    drivers/media/pci/meye/
 +F:    drivers/staging/media/deprecated/meye/
  F:    include/uapi/linux/meye.h
  
  MOTORCOMM PHY DRIVER
@@@ -14552,7 -14444,6 +14552,7 @@@ M:   Willy Tarreau <w@1wt.eu
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
  F:    tools/include/nolibc/
 +F:    tools/testing/selftests/nolibc/
  
  NSDEPS
  M:    Matthias Maennich <maennich@google.com>
@@@ -14635,7 -14526,6 +14635,7 @@@ M:   Daniel Dadap <ddadap@nvidia.com
  L:    platform-driver-x86@vger.kernel.org
  S:    Supported
  F:    drivers/platform/x86/nvidia-wmi-ec-backlight.c
 +F:    include/linux/platform_data/x86/nvidia-wmi-ec-backlight.h
  
  NVM EXPRESS DRIVER
  M:    Keith Busch <kbusch@kernel.org>
@@@ -14651,15 -14541,6 +14651,15 @@@ F: drivers/nvme/common
  F:    include/linux/nvme*
  F:    include/uapi/linux/nvme_ioctl.h
  
 +NVM EXPRESS FABRICS AUTHENTICATION
 +M:    Hannes Reinecke <hare@suse.de>
 +L:    linux-nvme@lists.infradead.org
 +S:    Supported
 +F:    drivers/nvme/host/auth.c
 +F:    drivers/nvme/target/auth.c
 +F:    drivers/nvme/target/fabrics-cmd-auth.c
 +F:    include/linux/nvme-auth.h
 +
  NVM EXPRESS FC TRANSPORT DRIVERS
  M:    James Smart <james.smart@broadcom.com>
  L:    linux-nvme@lists.infradead.org
@@@ -14809,15 -14690,6 +14809,15 @@@ S: Orpha
  F:    Documentation/devicetree/bindings/net/nfc/nxp,nci.yaml
  F:    drivers/nfc/nxp-nci
  
 +NXP i.MX 8MP DW100 V4L2 DRIVER
 +M:    Xavier Roumegue <xavier.roumegue@oss.nxp.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/nxp,dw100.yaml
 +F:    Documentation/userspace-api/media/drivers/dw100.rst
 +F:    drivers/media/platform/nxp/dw100/
 +F:    include/uapi/linux/dw100.h
 +
  NXP i.MX 8QXP/8QM JPEG V4L2 DRIVER
  M:    Mirela Rabulea <mirela.rabulea@nxp.com>
  R:    NXP Linux Team <linux-imx@nxp.com>
@@@ -14869,13 -14741,6 +14869,13 @@@ F: net/dsa/tag_ocelot.
  F:    net/dsa/tag_ocelot_8021q.c
  F:    tools/testing/selftests/drivers/net/ocelot/*
  
 +OCELOT EXTERNAL SWITCH CONTROL
 +M:    Colin Foster <colin.foster@in-advantage.com>
 +S:    Supported
 +F:    Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml
 +F:    drivers/mfd/ocelot*
 +F:    include/linux/mfd/ocelot.h
 +
  OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
  M:    Frederic Barrat <fbarrat@linux.ibm.com>
  M:    Andrew Donnellan <ajd@linux.ibm.com>
@@@ -15070,7 -14935,6 +15070,7 @@@ F:   drivers/regulator/palmas-regulator*.
  F:    drivers/regulator/pbias-regulator.c
  F:    drivers/regulator/tps65217-regulator.c
  F:    drivers/regulator/tps65218-regulator.c
 +F:    drivers/regulator/tps65219-regulator.c
  F:    drivers/regulator/tps65910-regulator.c
  F:    drivers/regulator/twl-regulator.c
  F:    drivers/regulator/twl6030-regulator.c
@@@ -16256,7 -16120,7 +16256,7 @@@ F:   drivers/gpio/gpio-sama5d2-piobu.
  F:    drivers/pinctrl/pinctrl-at91*
  
  PIN CONTROLLER - QUALCOMM
 -M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Bjorn Andersson <andersson@kernel.org>
  L:    linux-arm-msm@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/pinctrl/qcom,*.txt
@@@ -16669,6 -16533,14 +16669,6 @@@ T:  git git://linuxtv.org/media_tree.gi
  F:    drivers/media/usb/pwc/*
  F:    include/trace/events/pwc.h
  
 -PWM FAN DRIVER
 -M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
 -L:    linux-hwmon@vger.kernel.org
 -S:    Supported
 -F:    Documentation/devicetree/bindings/hwmon/pwm-fan.txt
 -F:    Documentation/hwmon/pwm-fan.rst
 -F:    drivers/hwmon/pwm-fan.c
 -
  PWM IR Transmitter
  M:    Sean Young <sean@mess.org>
  L:    linux-media@vger.kernel.org
@@@ -16737,9 -16609,6 +16737,9 @@@ M:   Srinivas Kandagatla <srinivas.kandag
  M:    Banajit Goswami <bgoswami@quicinc.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
 +F:    Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
 +F:    Documentation/devicetree/bindings/sound/qcom,*
 +F:    drivers/soc/qcom/apr.c
  F:    include/dt-bindings/sound/qcom,wcd9335.h
  F:    sound/soc/codecs/lpass-rx-macro.*
  F:    sound/soc/codecs/lpass-tx-macro.*
@@@ -16944,7 -16813,7 +16944,7 @@@ F:   Documentation/devicetree/bindings/me
  F:    drivers/media/platform/qcom/camss/
  
  QUALCOMM CLOCK DRIVERS
 -M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Bjorn Andersson <andersson@kernel.org>
  L:    linux-arm-msm@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
@@@ -16983,7 -16852,6 +16983,7 @@@ F:   drivers/net/ethernet/qualcomm/emac
  
  QUALCOMM ETHQOS ETHERNET DRIVER
  M:    Vinod Koul <vkoul@kernel.org>
 +R:    Bhupesh Sharma <bhupesh.sharma@linaro.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/qcom,ethqos.txt
@@@ -16994,7 -16862,7 +16994,7 @@@ M:   Srinivas Kandagatla <srinivas.kandag
  M:    Amol Maheshwari <amahesh@qti.qualcomm.com>
  L:    linux-arm-msm@vger.kernel.org
  S:    Maintained
- F:    Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
+ F:    Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
  F:    drivers/misc/fastrpc.c
  F:    include/uapi/misc/fastrpc.h
  
@@@ -17434,7 -17302,7 +17434,7 @@@ S:   Supporte
  F:    fs/reiserfs/
  
  REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
 -M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Bjorn Andersson <andersson@kernel.org>
  M:    Mathieu Poirier <mathieu.poirier@linaro.org>
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
@@@ -17447,7 -17315,7 +17447,7 @@@ F:   include/linux/remoteproc.
  F:    include/linux/remoteproc/
  
  REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
 -M:    Bjorn Andersson <bjorn.andersson@linaro.org>
 +M:    Bjorn Andersson <andersson@kernel.org>
  M:    Mathieu Poirier <mathieu.poirier@linaro.org>
  L:    linux-remoteproc@vger.kernel.org
  S:    Maintained
@@@ -17573,12 -17441,6 +17573,12 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/mtd/renesas-nandc.yaml
  F:    drivers/mtd/nand/raw/renesas-nand-controller.c
  
 +RENESAS VERSACLOCK 7 CLOCK DRIVER
 +M:    Alex Helms <alexander.helms.jy@renesas.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/clock/renesas,versaclock7.yaml
 +F:    drivers/clk/clk-versaclock7.c
 +
  RESET CONTROLLER FRAMEWORK
  M:    Philipp Zabel <p.zabel@pengutronix.de>
  S:    Maintained
@@@ -17665,25 -17527,13 +17665,25 @@@ M:        Conor Dooley <conor.dooley@microchip
  M:    Daire McNamara <daire.mcnamara@microchip.com>
  L:    linux-riscv@lists.infradead.org
  S:    Supported
 +F:    Documentation/devicetree/bindings/clock/microchip,mpfs.yaml
 +F:    Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
 +F:    Documentation/devicetree/bindings/i2c/microchip,corei2c.yaml
 +F:    Documentation/devicetree/bindings/mailbox/microchip,mpfs-mailbox.yaml
 +F:    Documentation/devicetree/bindings/net/can/microchip,mpfs-can.yaml
 +F:    Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
 +F:    Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml
 +F:    Documentation/devicetree/bindings/spi/microchip,mpfs-spi.yaml
 +F:    Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml
  F:    arch/riscv/boot/dts/microchip/
  F:    drivers/char/hw_random/mpfs-rng.c
  F:    drivers/clk/microchip/clk-mpfs.c
 +F:    drivers/i2c/busses/i2c-microchip-core.c
  F:    drivers/mailbox/mailbox-mpfs.c
  F:    drivers/pci/controller/pcie-microchip-host.c
 +F:    drivers/reset/reset-mpfs.c
  F:    drivers/rtc/rtc-mpfs.c
  F:    drivers/soc/microchip/
 +F:    drivers/spi/spi-microchip-core-qspi.c
  F:    drivers/spi/spi-microchip-core.c
  F:    drivers/usb/musb/mpfs.c
  F:    include/soc/microchip/mpfs.h
@@@ -17880,35 -17730,6 +17880,35 @@@ L: linux-rdma@vger.kernel.or
  S:    Maintained
  F:    drivers/infiniband/ulp/rtrs/
  
 +RUNTIME VERIFICATION (RV)
 +M:    Daniel Bristot de Oliveira <bristot@kernel.org>
 +M:    Steven Rostedt <rostedt@goodmis.org>
 +L:    linux-trace-devel@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/trace/rv/
 +F:    include/linux/rv.h
 +F:    include/rv/
 +F:    kernel/trace/rv/
 +F:    tools/verification/
 +
 +RUST
 +M:    Miguel Ojeda <ojeda@kernel.org>
 +M:    Alex Gaynor <alex.gaynor@gmail.com>
 +M:    Wedson Almeida Filho <wedsonaf@gmail.com>
 +R:    Boqun Feng <boqun.feng@gmail.com>
 +R:    Gary Guo <gary@garyguo.net>
 +R:    Björn Roy Baron <bjorn3_gh@protonmail.com>
 +L:    rust-for-linux@vger.kernel.org
 +S:    Supported
 +W:    https://github.com/Rust-for-Linux/linux
 +B:    https://github.com/Rust-for-Linux/linux/issues
 +T:    git https://github.com/Rust-for-Linux/linux.git rust-next
 +F:    Documentation/rust/
 +F:    rust/
 +F:    samples/rust/
 +F:    scripts/*rust*
 +K:    \b(?i:rust)\b
 +
  RXRPC SOCKETS (AF_RXRPC)
  M:    David Howells <dhowells@redhat.com>
  M:    Marc Dionne <marc.dionne@auristor.com>
@@@ -18080,7 -17901,8 +18080,7 @@@ M:   Hans Verkuil <hverkuil@xs4all.nl
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/media/common/saa7146/
 -F:    drivers/media/pci/saa7146/
 +F:    drivers/staging/media/deprecated/saa7146/
  F:    include/media/drv-intf/saa7146*
  
  SAFESETID SECURITY MODULE
@@@ -18135,6 -17957,7 +18135,6 @@@ F:   drivers/platform/x86/samsung-laptop.
  
  SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS
  M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
 -M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    linux-kernel@vger.kernel.org
  L:    linux-samsung-soc@vger.kernel.org
  S:    Supported
@@@ -18199,14 -18022,12 +18199,14 @@@ Q:        https://patchwork.linuxtv.org/projec
  F:    drivers/media/platform/samsung/exynos4-is/
  
  SAMSUNG SOC CLOCK DRIVERS
 +M:    Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
  M:    Tomasz Figa <tomasz.figa@gmail.com>
  M:    Chanwoo Choi <cw00.choi@samsung.com>
  R:    Alim Akhtar <alim.akhtar@samsung.com>
  L:    linux-samsung-soc@vger.kernel.org
  S:    Supported
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git
  F:    Documentation/devicetree/bindings/clock/samsung,*.yaml
  F:    Documentation/devicetree/bindings/clock/samsung,s3c*
@@@ -18431,7 -18252,7 +18431,7 @@@ F:   drivers/mmc/host/sdhci-brcmstb
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
  M:    Adrian Hunter <adrian.hunter@intel.com>
  L:    linux-mmc@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/mmc/host/sdhci*
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) MICROCHIP DRIVER
@@@ -18454,7 -18275,7 +18454,7 @@@ S:   Maintaine
  F:    drivers/mmc/host/sdhci-spear.c
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) TI OMAP DRIVER
 -M:    Kishon Vijay Abraham I <kishon@ti.com>
 +M:    Vignesh Raghavendra <vigneshr@ti.com>
  L:    linux-mmc@vger.kernel.org
  S:    Maintained
  F:    drivers/mmc/host/sdhci-omap.c
@@@ -19655,11 -19476,6 +19655,11 @@@ L: netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/dlink/sundance.c
  
 +SUN HAPPY MEAL ETHERNET DRIVER
 +M:    Sean Anderson <seanga2@gmail.com>
 +S:    Maintained
 +F:    drivers/net/ethernet/sun/sunhme.*
 +
  SUNPLUS ETHERNET DRIVER
  M:    Wells Lu <wellslutw@gmail.com>
  L:    netdev@vger.kernel.org
@@@ -19674,15 -19490,6 +19674,15 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/nvmem/sunplus,sp7021-ocotp.yaml
  F:    drivers/nvmem/sunplus-ocotp.c
  
 +SUNPLUS USB2 PHY DRIVER
 +M:    Vincent Shih <vincent.sunplus@gmail.com>
 +L:    linux-usb@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/phy/sunplus,sp7021-usb2-phy.yaml
 +F:    drivers/phy/sunplus/Kconfig
 +F:    drivers/phy/sunplus/Makefile
 +F:    drivers/phy/sunplus/phy-sunplus-usb2.c
 +
  SUNPLUS PWM DRIVER
  M:    Hammer Hsieh <hammerh0314@gmail.com>
  S:    Maintained
@@@ -20126,7 -19933,6 +20126,7 @@@ S:   Supporte
  F:    drivers/net/team/
  F:    include/linux/if_team.h
  F:    include/uapi/linux/if_team.h
 +F:    tools/testing/selftests/drivers/net/team/
  
  TECHNOLOGIC SYSTEMS TS-5500 PLATFORM SUPPORT
  M:    "Savoir-faire Linux Inc." <kernel@savoirfairelinux.com>
@@@ -20440,6 -20246,13 +20440,6 @@@ 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
@@@ -20491,7 -20304,6 +20491,7 @@@ R:   Sekhar Nori <nsekhar@ti.com
  S:    Maintained
  F:    Documentation/devicetree/bindings/clock/ti/davinci/
  F:    drivers/clk/davinci/
 +F:    include/linux/clk/davinci.h
  
  TI DAVINCI SERIES GPIO DRIVER
  M:    Keerthy <j-keerthy@ti.com>
@@@ -20508,18 -20320,8 +20508,18 @@@ W: https://linuxtv.or
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git
  F:    drivers/media/platform/ti/davinci/
 +F:    drivers/staging/media/deprecated/vpfe_capture/
  F:    include/media/davinci/
  
 +TI ENHANCED CAPTURE (eCAP) DRIVER
 +M:    Vignesh Raghavendra <vigneshr@ti.com>
 +R:    Julien Panis <jpanis@baylibre.com>
 +L:    linux-iio@vger.kernel.org
 +L:    linux-omap@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/counter/ti,am62-ecap-capture.yaml
 +F:    drivers/counter/ti-ecap-capture.c
 +
  TI ENHANCED QUADRATURE ENCODER PULSE (eQEP) DRIVER
  R:    David Lechner <david@lechnology.com>
  L:    linux-iio@vger.kernel.org
@@@ -20658,7 -20460,7 +20658,7 @@@ S:   Odd fixe
  W:    https://linuxtv.org
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/admin-guide/media/tm6000*
 -F:    drivers/media/usb/tm6000/
 +F:    drivers/staging/media/deprecated/tm6000/
  
  TMIO/SDHI MMC DRIVER
  M:    Wolfram Sang <wsa+renesas@sang-engineering.com>
@@@ -20758,10 -20560,9 +20758,10 @@@ F: include/linux/toshiba.
  F:    include/uapi/linux/toshiba.h
  
  TOSHIBA TC358743 DRIVER
 -M:    Mats Randgaard <matrandg@cisco.com>
 +M:    Hans Verkuil <hverkuil-cisco@xs4all.nl>
  L:    linux-media@vger.kernel.org
  S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/tc358743.txt
  F:    drivers/media/i2c/tc358743*
  F:    include/media/i2c/tc358743.h
  
@@@ -20782,29 -20583,24 +20782,29 @@@ Q:        https://patchwork.kernel.org/project
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
  F:    drivers/char/tpm/
  
 +TPS546D24 DRIVER
 +M:    Duke Du <dukedu83@gmail.com>
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/tps546d24.rst
 +F:    drivers/hwmon/pmbus/tps546d24.c
 +
  TRACING
  M:    Steven Rostedt <rostedt@goodmis.org>
 -M:    Ingo Molnar <mingo@redhat.com>
 +M:    Masami Hiramatsu <mhiramat@kernel.org>
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
 -F:    Documentation/trace/ftrace.rst
 -F:    arch/*/*/*/*ftrace*
 -F:    arch/*/*/*ftrace*
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
 +F:    Documentation/trace/*
  F:    fs/tracefs/
 -F:    include/*/ftrace.h
  F:    include/linux/trace*.h
  F:    include/trace/
  F:    kernel/trace/
 +F:    scripts/tracing/
  F:    tools/testing/selftests/ftrace/
  
  TRACING MMIO ACCESSES (MMIOTRACE)
  M:    Steven Rostedt <rostedt@goodmis.org>
 -M:    Ingo Molnar <mingo@kernel.org>
 +M:    Masami Hiramatsu <mhiramat@kernel.org>
  R:    Karol Herbst <karolherbst@gmail.com>
  R:    Pekka Paalanen <ppaalanen@gmail.com>
  L:    linux-kernel@vger.kernel.org
@@@ -20935,7 -20731,6 +20935,7 @@@ U-BOOT ENVIRONMENT VARIABLE
  M:    RafaÅ‚ MiÅ‚ecki <rafal@milecki.pl>
  S:    Maintained
  F:    Documentation/devicetree/bindings/nvmem/u-boot,env.yaml
 +F:    drivers/nvmem/u-boot-env.c
  
  UACCE ACCELERATOR FRAMEWORK
  M:    Zhangfei Gao <zhangfei.gao@linaro.org>
@@@ -20965,7 -20760,6 +20965,7 @@@ UBLK USERSPACE BLOCK DRIVE
  M:    Ming Lei <ming.lei@redhat.com>
  L:    linux-block@vger.kernel.org
  S:    Maintained
 +F:    Documentation/block/ublk.rst
  F:    drivers/block/ublk_drv.c
  F:    include/uapi/linux/ublk_cmd.h
  
@@@ -21415,7 -21209,7 +21415,7 @@@ S:   Maintaine
  W:    http://royale.zerezo.com/zr364xx/
  T:    git git://linuxtv.org/media_tree.git
  F:    Documentation/admin-guide/media/zr364xx*
 -F:    drivers/media/usb/zr364xx/
 +F:    drivers/staging/media/deprecated/zr364xx/
  
  USER-MODE LINUX (UML)
  M:    Richard Weinberger <richard@nod.at>
@@@ -21743,7 -21537,7 +21743,7 @@@ F:   drivers/gpio/gpio-virtio.
  F:    include/uapi/linux/virtio_gpio.h
  
  VIRTIO GPU DRIVER
 -M:    David Airlie <airlied@linux.ie>
 +M:    David Airlie <airlied@redhat.com>
  M:    Gerd Hoffmann <kraxel@redhat.com>
  R:    Gurchetan Singh <gurchetansingh@chromium.org>
  R:    Chia-I Wu <olvaffe@gmail.com>
@@@ -21883,7 -21677,7 +21883,7 @@@ VMWARE BALLOON DRIVE
  M:    Nadav Amit <namit@vmware.com>
  R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
  L:    linux-kernel@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/misc/vmw_balloon.c
  
  VMWARE HYPERVISOR INTERFACE
@@@ -21902,14 -21696,14 +21902,14 @@@ M:        Bryan Tan <bryantan@vmware.com
  M:    Vishnu Dasa <vdasa@vmware.com>
  R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
  L:    linux-rdma@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/infiniband/hw/vmw_pvrdma/
  
 -VMware PVSCSI driver
 +VMWARE PVSCSI DRIVER
  M:    Vishal Bhakta <vbhakta@vmware.com>
  R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
  L:    linux-scsi@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/scsi/vmw_pvscsi.c
  F:    drivers/scsi/vmw_pvscsi.h
  
@@@ -21922,19 -21716,19 +21922,19 @@@ F:        drivers/ptp/ptp_vmw.
  
  VMWARE VMCI DRIVER
  M:    Bryan Tan <bryantan@vmware.com>
 -M:    Rajesh Jalisatgi <rjalisatgi@vmware.com>
  M:    Vishnu Dasa <vdasa@vmware.com>
  R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
  L:    linux-kernel@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/misc/vmw_vmci/
 +F:    include/linux/vmw_vmci*
  
  VMWARE VMMOUSE SUBDRIVER
  M:    Zack Rusin <zackr@vmware.com>
  R:    VMware Graphics Reviewers <linux-graphics-maintainer@vmware.com>
  R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
  L:    linux-input@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/input/mouse/vmmouse.c
  F:    drivers/input/mouse/vmmouse.h
  
@@@ -21942,17 -21736,9 +21942,17 @@@ VMWARE VMXNET3 ETHERNET DRIVE
  M:    Ronak Doshi <doshir@vmware.com>
  R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
  L:    netdev@vger.kernel.org
 -S:    Maintained
 +S:    Supported
  F:    drivers/net/vmxnet3/
  
 +VMWARE VSOCK VMCI TRANSPORT DRIVER
 +M:    Bryan Tan <bryantan@vmware.com>
 +M:    Vishnu Dasa <vdasa@vmware.com>
 +R:    VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Supported
 +F:    net/vmw_vsock/vmci_transport*
 +
  VOCORE VOCORE2 BOARD
  M:    Harvey Hunt <harveyhuntnexus@gmail.com>
  L:    linux-mips@vger.kernel.org
@@@ -21998,7 -21784,7 +21998,7 @@@ F:   lib/test_scanf.
  F:    lib/vsprintf.c
  
  VT1211 HARDWARE MONITOR DRIVER
 -M:    Juerg Haefliger <juergh@gmail.com>
 +M:    Juerg Haefliger <juergh@proton.me>
  L:    linux-hwmon@vger.kernel.org
  S:    Maintained
  F:    Documentation/hwmon/vt1211.rst
@@@ -22057,11 -21843,9 +22057,11 @@@ F: drivers/input/tablet/wacom_serial4.
  
  WANGXUN ETHERNET DRIVER
  M:    Jiawen Wu <jiawenwu@trustnetic.com>
 +M:    Mengyuan Lou <mengyuanlou@net-swift.com>
 +W:    https://www.net-swift.com
  L:    netdev@vger.kernel.org
  S:    Maintained
 -F:    Documentation/networking/device_drivers/ethernet/wangxun/txgbe.rst
 +F:    Documentation/networking/device_drivers/ethernet/wangxun/*
  F:    drivers/net/ethernet/wangxun/
  
  WATCHDOG DEVICE DRIVERS
@@@ -22517,7 -22301,7 +22517,7 @@@ M:   Shubhrajyoti Datta <shubhrajyoti.dat
  R:    Srinivas Neeli <srinivas.neeli@xilinx.com>
  R:    Michal Simek <michal.simek@xilinx.com>
  S:    Maintained
 -F:    Documentation/devicetree/bindings/gpio/gpio-xilinx.txt
 +F:    Documentation/devicetree/bindings/gpio/xlnx,gpio-xilinx.yaml
  F:    Documentation/devicetree/bindings/gpio/gpio-zynq.yaml
  F:    drivers/gpio/gpio-xilinx.c
  F:    drivers/gpio/gpio-zynq.c
diff --combined Makefile
index d66187d53b5f5a67afea1ad8a69aadddba747b68,7f19e1725b2f7b8c49231f3c460791842f8a19d2..85a63a1d29b37e31ca3059aff3def1b4ce9b6e60
+++ b/Makefile
@@@ -2,7 -2,7 +2,7 @@@
  VERSION = 6
  PATCHLEVEL = 0
  SUBLEVEL = 0
 -EXTRAVERSION = -rc1
 +EXTRAVERSION =
  NAME = Hurr durr I'ma ninja sloth
  
  # *DOCUMENTATION*
@@@ -120,15 -120,6 +120,15 @@@ endi
  
  export KBUILD_CHECKSRC
  
 +# Enable "clippy" (a linter) as part of the Rust compilation.
 +#
 +# Use 'make CLIPPY=1' to enable it.
 +ifeq ("$(origin CLIPPY)", "command line")
 +  KBUILD_CLIPPY := $(CLIPPY)
 +endif
 +
 +export KBUILD_CLIPPY
 +
  # Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the
  # directory of external module to build. Setting M= takes precedence.
  ifeq ("$(origin M)", "command line")
@@@ -279,14 -270,14 +279,14 @@@ no-dot-config-targets := $(clean-target
                         cscope gtags TAGS tags help% %docs check% coccicheck \
                         $(version_h) headers headers_% archheaders archscripts \
                         %asm-generic kernelversion %src-pkg dt_binding_check \
 -                       outputmakefile
 +                       outputmakefile rustavailable rustfmt rustfmtcheck
  # Installation targets should not require compiler. Unfortunately, vdso_install
  # is an exception where build artifacts may be updated. This must be fixed.
  no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
                        headers_install modules_install kernelrelease image_name
  no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
                          image_name
 -single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
 +single-targets := %.a %.i %.rsi %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
  
  config-build  :=
  mixed-build   :=
@@@ -448,7 -439,6 +448,7 @@@ els
  HOSTCC        = gcc
  HOSTCXX       = g++
  endif
 +HOSTRUSTC = rustc
  HOSTPKG_CONFIG        = pkg-config
  
  KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
  KBUILD_USERCFLAGS  := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)
  KBUILD_USERLDFLAGS := $(USERLDFLAGS)
  
 +# These flags apply to all Rust code in the tree, including the kernel and
 +# host programs.
 +export rust_common_flags := --edition=2021 \
 +                          -Zbinary_dep_depinfo=y \
 +                          -Dunsafe_op_in_unsafe_fn -Drust_2018_idioms \
 +                          -Dunreachable_pub -Dnon_ascii_idents \
 +                          -Wmissing_docs \
 +                          -Drustdoc::missing_crate_level_docs \
 +                          -Dclippy::correctness -Dclippy::style \
 +                          -Dclippy::suspicious -Dclippy::complexity \
 +                          -Dclippy::perf \
 +                          -Dclippy::let_unit_value -Dclippy::mut_mut \
 +                          -Dclippy::needless_bitwise_bool \
 +                          -Dclippy::needless_continue \
 +                          -Wclippy::dbg_macro
 +
  KBUILD_HOSTCFLAGS   := $(KBUILD_USERHOSTCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
  KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
 +KBUILD_HOSTRUSTFLAGS := $(rust_common_flags) -O -Cstrip=debuginfo \
 +                      -Zallow-features= $(HOSTRUSTFLAGS)
  KBUILD_HOSTLDFLAGS  := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
  KBUILD_HOSTLDLIBS   := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
  
@@@ -501,12 -473,6 +501,12 @@@ OBJDUMP          = $(CROSS_COMPILE)objdum
  READELF               = $(CROSS_COMPILE)readelf
  STRIP         = $(CROSS_COMPILE)strip
  endif
 +RUSTC         = rustc
 +RUSTDOC               = rustdoc
 +RUSTFMT               = rustfmt
 +CLIPPY_DRIVER = clippy-driver
 +BINDGEN               = bindgen
 +CARGO         = cargo
  PAHOLE                = pahole
  RESOLVE_BTFIDS        = $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
  LEX           = flex
@@@ -532,13 -498,11 +532,13 @@@ CHECKFLAGS     := -D__linux__ -Dlinux -
                  -Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
  NOSTDINC_FLAGS :=
  CFLAGS_MODULE   =
 +RUSTFLAGS_MODULE =
  AFLAGS_MODULE   =
  LDFLAGS_MODULE  =
  CFLAGS_KERNEL =
 +RUSTFLAGS_KERNEL =
  AFLAGS_KERNEL =
 -LDFLAGS_vmlinux =
 +export LDFLAGS_vmlinux =
  
  # Use USERINCLUDE when you must reference the UAPI directories only.
  USERINCLUDE    := \
@@@ -565,43 -529,15 +565,43 @@@ KBUILD_CFLAGS   := -Wall -Wundef -Werro
                   -Werror=return-type -Wno-format-security \
                   -std=gnu11
  KBUILD_CPPFLAGS := -D__KERNEL__
 +KBUILD_RUSTFLAGS := $(rust_common_flags) \
 +                  --target=$(objtree)/rust/target.json \
 +                  -Cpanic=abort -Cembed-bitcode=n -Clto=n \
 +                  -Cforce-unwind-tables=n -Ccodegen-units=1 \
 +                  -Csymbol-mangling-version=v0 \
 +                  -Crelocation-model=static \
 +                  -Zfunction-sections=n \
 +                  -Dclippy::float_arithmetic
 +
  KBUILD_AFLAGS_KERNEL :=
  KBUILD_CFLAGS_KERNEL :=
 +KBUILD_RUSTFLAGS_KERNEL :=
  KBUILD_AFLAGS_MODULE  := -DMODULE
  KBUILD_CFLAGS_MODULE  := -DMODULE
 +KBUILD_RUSTFLAGS_MODULE := --cfg MODULE
  KBUILD_LDFLAGS_MODULE :=
  KBUILD_LDFLAGS :=
  CLANG_FLAGS :=
  
 +ifeq ($(KBUILD_CLIPPY),1)
 +      RUSTC_OR_CLIPPY_QUIET := CLIPPY
 +      RUSTC_OR_CLIPPY = $(CLIPPY_DRIVER)
 +else
 +      RUSTC_OR_CLIPPY_QUIET := RUSTC
 +      RUSTC_OR_CLIPPY = $(RUSTC)
 +endif
 +
 +ifdef RUST_LIB_SRC
 +      export RUST_LIB_SRC
 +endif
 +
 +# Allows the usage of unstable features in stable compilers.
 +export RUSTC_BOOTSTRAP := 1
 +
  export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG
 +export RUSTC RUSTDOC RUSTFMT RUSTC_OR_CLIPPY_QUIET RUSTC_OR_CLIPPY BINDGEN CARGO
 +export HOSTRUSTC KBUILD_HOSTRUSTFLAGS
  export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
  export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
  export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
@@@ -610,10 -546,9 +610,10 @@@ export KBUILD_USERCFLAGS KBUILD_USERLDF
  
  export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
  export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
 +export KBUILD_RUSTFLAGS RUSTFLAGS_KERNEL RUSTFLAGS_MODULE
  export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
 -export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
 -export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
 +export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_RUSTFLAGS_MODULE KBUILD_LDFLAGS_MODULE
 +export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL KBUILD_RUSTFLAGS_KERNEL
  export PAHOLE_FLAGS
  
  # Files to ignore in find ... statements
@@@ -648,7 -583,7 +648,7 @@@ quiet_cmd_makefile = GEN     Makefil
        } > Makefile
  
  outputmakefile:
 -      $(Q)if [ -f $(srctree)/.config -o \
 +      @if [ -f $(srctree)/.config -o \
                 -d $(srctree)/include/config -o \
                 -d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
                echo >&2 "***"; \
@@@ -710,8 -645,6 +710,8 @@@ els
  __all: modules
  endif
  
 +targets :=
 +
  # Decide whether to build built-in, modular, or both.
  # Normally, just do built-in.
  
@@@ -743,8 -676,11 +743,8 @@@ endi
  
  ifeq ($(KBUILD_EXTMOD),)
  # Objects we will link into vmlinux / subdirs we need to visit
 -core-y                := init/ usr/ arch/$(SRCARCH)/
 -drivers-y     := drivers/ sound/
 -drivers-$(CONFIG_SAMPLES) += samples/
 -drivers-$(CONFIG_NET) += net/
 -drivers-y     += virt/
 +core-y                :=
 +drivers-y     :=
  libs-y                := lib/
  endif # KBUILD_EXTMOD
  
@@@ -793,7 -729,7 +793,7 @@@ $(KCONFIG_CONFIG)
  #
  # Do not use $(call cmd,...) here. That would suppress prompts from syncconfig,
  # so you cannot notice that Kconfig is waiting for the user input.
 -%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
 +%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h %/generated/rustc_cfg: $(KCONFIG_CONFIG)
        $(Q)$(kecho) "  SYNC    $@"
        $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
  else # !may-sync-config
  PHONY += include/config/auto.conf
  
  include/config/auto.conf:
 -      $(Q)test -e include/generated/autoconf.h -a -e $@ || (          \
 +      @test -e include/generated/autoconf.h -a -e $@ || (             \
        echo >&2;                                                       \
        echo >&2 "  ERROR: Kernel configuration is invalid.";           \
        echo >&2 "         include/generated/autoconf.h or $@ are missing.";\
@@@ -822,17 -758,10 +822,17 @@@ KBUILD_CFLAGS   += $(call cc-disable-warn
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
  KBUILD_CFLAGS += -O2
 +KBUILD_RUSTFLAGS += -Copt-level=2
  else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
  KBUILD_CFLAGS += -Os
 +KBUILD_RUSTFLAGS += -Copt-level=s
  endif
  
 +# Always set `debug-assertions` and `overflow-checks` because their default
 +# depends on `opt-level` and `debug-assertions`, respectively.
 +KBUILD_RUSTFLAGS += -Cdebug-assertions=$(if $(CONFIG_RUST_DEBUG_ASSERTIONS),y,n)
 +KBUILD_RUSTFLAGS += -Coverflow-checks=$(if $(CONFIG_RUST_OVERFLOW_CHECKS),y,n)
 +
  # Tell gcc to never replace conditional load with a non-conditional one
  ifdef CONFIG_CC_IS_GCC
  # gcc-10 renamed --param=allow-store-data-races=0 to
@@@ -861,9 -790,7 +861,9 @@@ KBUILD_CFLAGS += $(stackp-flags-y
  
  KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
  KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
 -KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
 +
 +KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings
 +KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y)
  
  ifdef CONFIG_CC_IS_CLANG
  KBUILD_CPPFLAGS += -Qunused-arguments
@@@ -885,15 -812,12 +885,15 @@@ KBUILD_CFLAGS += $(call cc-disable-warn
  
  ifdef CONFIG_FRAME_POINTER
  KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
 +KBUILD_RUSTFLAGS += -Cforce-frame-pointers=y
  else
  # Some targets (ARM with Thumb2, for example), can't be built with frame
  # pointers.  For those, we don't have FUNCTION_TRACER automatically
  # select FRAME_POINTER.  However, FUNCTION_TRACER adds -pg, and this is
  # incompatible with -fomit-frame-pointer with current GCC, so we don't use
  # -fomit-frame-pointer with FUNCTION_TRACER.
 +# In the Rust target specification, "frame-pointer" is set explicitly
 +# to "may-omit".
  ifndef CONFIG_FUNCTION_TRACER
  KBUILD_CFLAGS += -fomit-frame-pointer
  endif
@@@ -907,8 -831,8 +907,8 @@@ endi
  # Initialize all stack variables with a zero value.
  ifdef CONFIG_INIT_STACK_ALL_ZERO
  KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
 -ifdef CONFIG_CC_IS_CLANG
 -# https://bugs.llvm.org/show_bug.cgi?id=45497
 +ifdef CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER
 +# https://github.com/llvm/llvm-project/issues/44842
  KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
  endif
  endif
@@@ -958,10 -882,8 +958,10 @@@ ifdef CONFIG_DEBUG_SECTION_MISMATC
  KBUILD_CFLAGS += -fno-inline-functions-called-once
  endif
  
 +# `rustc`'s `-Zfunction-sections` applies to data too (as of 1.59.0).
  ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
  KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
 +KBUILD_RUSTFLAGS_KERNEL += -Zfunction-sections=y
  LDFLAGS_vmlinux += --gc-sections
  endif
  
@@@ -999,7 -921,18 +999,7 @@@ export CC_FLAGS_LT
  endif
  
  ifdef CONFIG_CFI_CLANG
 -CC_FLAGS_CFI  := -fsanitize=cfi \
 -                 -fsanitize-cfi-cross-dso \
 -                 -fno-sanitize-cfi-canonical-jump-tables \
 -                 -fno-sanitize-trap=cfi \
 -                 -fno-sanitize-blacklist
 -
 -ifdef CONFIG_CFI_PERMISSIVE
 -CC_FLAGS_CFI  += -fsanitize-recover=cfi
 -endif
 -
 -# If LTO flags are filtered out, we must also filter out CFI.
 -CC_FLAGS_LTO  += $(CC_FLAGS_CFI)
 +CC_FLAGS_CFI  := -fsanitize=kcfi
  KBUILD_CFLAGS += $(CC_FLAGS_CFI)
  export CC_FLAGS_CFI
  endif
@@@ -1039,6 -972,7 +1039,6 @@@ ifdef CONFIG_CC_IS_GC
  KBUILD_CFLAGS += -Wno-maybe-uninitialized
  endif
  
 -ifdef CONFIG_CC_IS_GCC
  # The allocators already balk at large sizes, so silence the compiler
  # warnings for bounds checks involving those possible values. While
  # -Wno-alloc-size-larger-than would normally be used here, earlier versions
  # ignored, continuing to default to PTRDIFF_MAX. So, left with no other
  # choice, we must perform a versioned check to disable this warning.
  # https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au
 -KBUILD_CFLAGS += $(call cc-ifversion, -ge, 0901, -Wno-alloc-size-larger-than)
 -endif
 +KBUILD_CFLAGS-$(call gcc-min-version, 90100) += -Wno-alloc-size-larger-than
 +KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
  
  # disable invalid "can't wrap" optimizations for signed / pointers
  KBUILD_CFLAGS += -fno-strict-overflow
@@@ -1092,11 -1026,10 +1092,11 @@@ include $(addprefix $(srctree)/, $(incl
  # Do not add $(call cc-option,...) below this line. When you build the kernel
  # from the clean source tree, the GCC plugins do not exist at this point.
  
 -# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
 +# Add user supplied CPPFLAGS, AFLAGS, CFLAGS and RUSTFLAGS as the last assignments
  KBUILD_CPPFLAGS += $(KCPPFLAGS)
  KBUILD_AFLAGS   += $(KAFLAGS)
  KBUILD_CFLAGS   += $(KCFLAGS)
 +KBUILD_RUSTFLAGS += $(KRUSTFLAGS)
  
  KBUILD_LDFLAGS_MODULE += --build-id=sha1
  LDFLAGS_vmlinux += --build-id=sha1
@@@ -1107,7 -1040,7 +1107,7 @@@ KBUILD_LDFLAGS  += $(call ld-option,--no
  endif
  
  ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
 -LDFLAGS_vmlinux       += $(call ld-option, -X,)
 +LDFLAGS_vmlinux       += -X
  endif
  
  ifeq ($(CONFIG_RELR),y)
@@@ -1168,27 -1101,42 +1168,27 @@@ export MODORDER := $(extmod_prefix)modu
  export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
  
  ifeq ($(KBUILD_EXTMOD),)
 -core-y                        += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/
 -core-$(CONFIG_BLOCK)  += block/
 -core-$(CONFIG_IO_URING)       += io_uring/
  
 -vmlinux-dirs  := $(patsubst %/,%,$(filter %/, \
 -                   $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
 -                   $(libs-y) $(libs-m)))
 -
 -vmlinux-alldirs       := $(sort $(vmlinux-dirs) Documentation \
 +build-dir     := .
 +clean-dirs    := $(sort . Documentation \
                     $(patsubst %/,%,$(filter %/, $(core-) \
                        $(drivers-) $(libs-))))
  
 -subdir-modorder := $(addsuffix modules.order,$(filter %/, \
 -                      $(core-y) $(core-m) $(libs-y) $(libs-m) \
 -                      $(drivers-y) $(drivers-m)))
 -
 -build-dirs    := $(vmlinux-dirs)
 -clean-dirs    := $(vmlinux-alldirs)
 -
 +export ARCH_CORE      := $(core-y)
 +export ARCH_LIB               := $(filter %/, $(libs-y))
 +export ARCH_DRIVERS   := $(drivers-y) $(drivers-m)
  # Externally visible symbols (used by link-vmlinux.sh)
 -KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
 -KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
 +
 +KBUILD_VMLINUX_OBJS := ./built-in.a
  ifdef CONFIG_MODULES
  KBUILD_VMLINUX_OBJS += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
  KBUILD_VMLINUX_LIBS := $(filter-out %/, $(libs-y))
  else
  KBUILD_VMLINUX_LIBS := $(patsubst %/,%/lib.a, $(libs-y))
  endif
 -KBUILD_VMLINUX_OBJS += $(patsubst %/,%/built-in.a, $(drivers-y))
  
 -export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
 +export KBUILD_VMLINUX_LIBS
  export KBUILD_LDS          := arch/$(SRCARCH)/kernel/vmlinux.lds
 -# used by scripts/Makefile.package
 -export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) LICENSES arch include scripts tools)
 -
 -vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
  
  # Recurse until adjust_autoksyms.sh is satisfied
  PHONY += autoksyms_recursive
@@@ -1198,7 -1146,7 +1198,7 @@@ ifdef CONFIG_TRIM_UNUSED_KSYM
  # (this can be evaluated only once include/config/auto.conf has been included)
  KBUILD_MODULES := 1
  
 -autoksyms_recursive: descend modules.order
 +autoksyms_recursive: $(build-dir) modules.order
        $(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
          "$(MAKE) -f $(srctree)/Makefile autoksyms_recursive"
  endif
@@@ -1212,31 -1160,21 +1212,31 @@@ quiet_cmd_autoksyms_h = GEN     $
  $(autoksyms_h):
        $(call cmd,autoksyms_h)
  
 -ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
 +# '$(AR) mPi' needs 'T' to workaround the bug of llvm-ar <= 14
 +quiet_cmd_ar_vmlinux.a = AR      $@
 +      cmd_ar_vmlinux.a = \
 +      rm -f $@; \
 +      $(AR) cDPrST $@ $(KBUILD_VMLINUX_OBJS); \
 +      $(AR) mPiT $$($(AR) t $@ | head -n1) $@ $$($(AR) t $@ | grep -F --file=$(srctree)/scripts/head-object-list.txt)
 +
 +targets += vmlinux.a
 +vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt autoksyms_recursive FORCE
 +      $(call if_changed,ar_vmlinux.a)
  
 -# Final link of vmlinux with optional arch pass after final link
 -cmd_link-vmlinux =                                                 \
 -      $(CONFIG_SHELL) $< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)";    \
 -      $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
 +PHONY += vmlinux_o
 +vmlinux_o: vmlinux.a $(KBUILD_VMLINUX_LIBS)
 +      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux_o
  
 -vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
 -      +$(call if_changed_dep,link-vmlinux)
 +vmlinux.o modules.builtin.modinfo modules.builtin: vmlinux_o
 +      @:
  
 -targets := vmlinux
 +PHONY += vmlinux
 +vmlinux: vmlinux.o $(KBUILD_LDS) modpost
 +      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux
  
  # The actual objects are generated when descending,
  # make sure no implicit rule kicks in
 -$(sort $(vmlinux-deps) $(subdir-modorder)): descend ;
 +$(sort $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)): . ;
  
  filechk_kernel.release = \
        echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
@@@ -1262,18 -1200,14 +1262,18 @@@ PHONY += prepare archprepar
  
  archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \
        asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h \
 -      include/generated/autoconf.h remove-stale-files
 +      include/generated/compile.h include/generated/autoconf.h remove-stale-files
  
  prepare0: archprepare
        $(Q)$(MAKE) $(build)=scripts/mod
 -      $(Q)$(MAKE) $(build)=.
 +      $(Q)$(MAKE) $(build)=. prepare
  
  # All the preparing..
  prepare: prepare0
 +ifdef CONFIG_RUST
 +      $(Q)$(CONFIG_SHELL) $(srctree)/scripts/rust_is_available.sh -v
 +      $(Q)$(MAKE) $(build)=rust
 +endif
  
  PHONY += remove-stale-files
  remove-stale-files:
@@@ -1328,12 -1262,6 +1328,12 @@@ $(version_h): FORC
  include/generated/utsrelease.h: include/config/kernel.release FORCE
        $(call filechk,utsrelease.h)
  
 +filechk_compile.h = $(srctree)/scripts/mkcompile_h \
 +      "$(UTS_MACHINE)" "$(CONFIG_CC_VERSION_TEXT)" "$(LD)"
 +
 +include/generated/compile.h: FORCE
 +      $(call filechk,compile.h)
 +
  PHONY += headerdep
  headerdep:
        $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
@@@ -1361,7 -1289,8 +1361,7 @@@ hdr-inst := -f $(srctree)/scripts/Makef
  
  PHONY += headers
  headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
 -      $(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
 -        $(error Headers not exportable for the $(SRCARCH) architecture))
 +      $(if $(filter um, $(SRCARCH)), $(error Headers not exportable for UML))
        $(Q)$(MAKE) $(hdr-inst)=include/uapi
        $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
  
@@@ -1490,6 -1419,10 +1490,10 @@@ PHONY += dt_binding_chec
  dt_binding_check: scripts_dtc
        $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
  
+ PHONY += dt_compatible_check
+ dt_compatible_check: dt_binding_check
+       $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings $@
  # ---------------------------------------------------------------------------
  # Modules
  
@@@ -1508,16 -1441,22 +1512,16 @@@ endi
  
  # Build modules
  #
 -# A module can be listed more than once in obj-m resulting in
 -# duplicate lines in modules.order files.  Those are removed
 -# using awk while concatenating to the final file.
 -
 -PHONY += modules
 -modules: $(if $(KBUILD_BUILTIN),vmlinux) modules_check modules_prepare
 -
 -cmd_modules_order = $(AWK) '!x[$$0]++' $(real-prereqs) > $@
  
 -modules.order: $(subdir-modorder) FORCE
 -      $(call if_changed,modules_order)
 +# *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFOBTF_MODULES
 +# is an exception.
 +ifdef CONFIG_DEBUG_INFO_BTF_MODULES
 +modules: vmlinux
 +endif
  
 -targets += modules.order
 +modules: modules_prepare
  
  # Target to prepare building external modules
 -PHONY += modules_prepare
  modules_prepare: prepare
        $(Q)$(MAKE) $(build)=scripts scripts/module.lds
  
@@@ -1567,8 -1506,7 +1571,8 @@@ endif # CONFIG_MODULE
  # Directories & files removed with 'make clean'
  CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
               modules.builtin modules.builtin.modinfo modules.nsdeps \
 -             compile_commands.json .thinlto-cache
 +             compile_commands.json .thinlto-cache rust/test rust/doc \
 +             .vmlinux.objs .vmlinux.export.c
  
  # Directories & files removed with 'make mrproper'
  MRPROPER_FILES += include/config include/generated          \
                  certs/signing_key.pem \
                  certs/x509.genkey \
                  vmlinux-gdb.py \
 -                *.spec
 +                *.spec \
 +                rust/target.json rust/libmacros.so
  
  # clean - Delete most, but leave enough to build external modules
  #
@@@ -1605,9 -1542,6 +1609,9 @@@ $(mrproper-dirs)
  
  mrproper: clean $(mrproper-dirs)
        $(call cmd,rmfiles)
 +      @find . $(RCS_FIND_IGNORE) \
 +              \( -name '*.rmeta' \) \
 +              -type f -print | xargs rm -f
  
  # distclean
  #
@@@ -1695,24 -1629,6 +1699,24 @@@ help
        @echo  '  kselftest-merge   - Merge all the config dependencies of'
        @echo  '                      kselftest to existing .config.'
        @echo  ''
 +      @echo  'Rust targets:'
 +      @echo  '  rustavailable   - Checks whether the Rust toolchain is'
 +      @echo  '                    available and, if not, explains why.'
 +      @echo  '  rustfmt         - Reformat all the Rust code in the kernel'
 +      @echo  '  rustfmtcheck    - Checks if all the Rust code in the kernel'
 +      @echo  '                    is formatted, printing a diff otherwise.'
 +      @echo  '  rustdoc         - Generate Rust documentation'
 +      @echo  '                    (requires kernel .config)'
 +      @echo  '  rusttest        - Runs the Rust tests'
 +      @echo  '                    (requires kernel .config; downloads external repos)'
 +      @echo  '  rust-analyzer   - Generate rust-project.json rust-analyzer support file'
 +      @echo  '                    (requires kernel .config)'
 +      @echo  '  dir/file.[os]   - Build specified target only'
 +      @echo  '  dir/file.rsi    - Build macro expanded source, similar to C preprocessing.'
 +      @echo  '                    Run with RUSTFMT=n to skip reformatting if needed.'
 +      @echo  '                    The output is not intended to be compilable.'
 +      @echo  '  dir/file.ll     - Build the LLVM assembly file'
 +      @echo  ''
        @$(if $(dtstree), \
                echo 'Devicetree:'; \
                echo '* dtbs             - Build device tree blobs for enabled boards'; \
@@@ -1785,52 -1701,6 +1789,52 @@@ PHONY += $(DOC_TARGETS
  $(DOC_TARGETS):
        $(Q)$(MAKE) $(build)=Documentation $@
  
 +
 +# Rust targets
 +# ---------------------------------------------------------------------------
 +
 +# "Is Rust available?" target
 +PHONY += rustavailable
 +rustavailable:
 +      $(Q)$(CONFIG_SHELL) $(srctree)/scripts/rust_is_available.sh -v && echo "Rust is available!"
 +
 +# Documentation target
 +#
 +# Using the singular to avoid running afoul of `no-dot-config-targets`.
 +PHONY += rustdoc
 +rustdoc: prepare
 +      $(Q)$(MAKE) $(build)=rust $@
 +
 +# Testing target
 +PHONY += rusttest
 +rusttest: prepare
 +      $(Q)$(MAKE) $(build)=rust $@
 +
 +# Formatting targets
 +PHONY += rustfmt rustfmtcheck
 +
 +# We skip `rust/alloc` since we want to minimize the diff w.r.t. upstream.
 +#
 +# We match using absolute paths since `find` does not resolve them
 +# when matching, which is a problem when e.g. `srctree` is `..`.
 +# We `grep` afterwards in order to remove the directory entry itself.
 +rustfmt:
 +      $(Q)find $(abs_srctree) -type f -name '*.rs' \
 +              -o -path $(abs_srctree)/rust/alloc -prune \
 +              -o -path $(abs_objtree)/rust/test -prune \
 +              | grep -Fv $(abs_srctree)/rust/alloc \
 +              | grep -Fv $(abs_objtree)/rust/test \
 +              | grep -Fv generated \
 +              | xargs $(RUSTFMT) $(rustfmt_flags)
 +
 +rustfmtcheck: rustfmt_flags = --check
 +rustfmtcheck: rustfmt
 +
 +# IDE support targets
 +PHONY += rust-analyzer
 +rust-analyzer:
 +      $(Q)$(MAKE) $(build)=rust $@
 +
  # Misc
  # ---------------------------------------------------------------------------
  
@@@ -1856,7 -1726,9 +1860,7 @@@ else # KBUILD_EXTMO
  KBUILD_BUILTIN :=
  KBUILD_MODULES := 1
  
 -build-dirs := $(KBUILD_EXTMOD)
 -$(MODORDER): descend
 -      @:
 +build-dir := $(KBUILD_EXTMOD)
  
  compile_commands.json: $(extmod_prefix)compile_commands.json
  PHONY += compile_commands.json
@@@ -1885,24 -1757,20 +1889,24 @@@ help
        @echo  '  clean           - remove generated files in module directory only'
        @echo  ''
  
 -# no-op for external module builds
 -PHONY += modules_prepare
 -
  endif # KBUILD_EXTMOD
  
  # ---------------------------------------------------------------------------
  # Modules
  
 -PHONY += modules modules_install
 +PHONY += modules modules_install modules_prepare
  
  ifdef CONFIG_MODULES
  
 -modules: modules_check
 -      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
 +$(MODORDER): $(build-dir)
 +      @:
 +
 +# KBUILD_MODPOST_NOFINAL can be set to skip the final link of modules.
 +# This is solely useful to speed up test compiles.
 +modules: modpost
 +ifneq ($(KBUILD_MODPOST_NOFINAL),1)
 +      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
 +endif
  
  PHONY += modules_check
  modules_check: $(MODORDER)
@@@ -1929,15 -1797,8 +1933,15 @@@ modules modules_install
        @echo >&2 '***'
        @exit 1
  
 +KBUILD_MODULES :=
 +
  endif # CONFIG_MODULES
  
 +PHONY += modpost
 +modpost: $(if $(single-build),, $(if $(KBUILD_BUILTIN), vmlinux.o)) \
 +       $(if $(KBUILD_MODULES), modules_check)
 +      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
 +
  # Single targets
  # ---------------------------------------------------------------------------
  # To build individual files in subdirectories, you can do like this:
@@@ -1957,32 -1818,47 +1961,32 @@@ single-ko := $(sort $(filter %.ko, $(MA
  single-no-ko := $(filter-out $(single-ko), $(MAKECMDGOALS)) \
                $(foreach x, o mod, $(patsubst %.ko, %.$x, $(single-ko)))
  
 -$(single-ko): single_modpost
 +$(single-ko): single_modules
        @:
 -$(single-no-ko): descend
 +$(single-no-ko): $(build-dir)
        @:
  
 -ifeq ($(KBUILD_EXTMOD),)
 -# For the single build of in-tree modules, use a temporary file to avoid
 -# the situation of modules_install installing an invalid modules.order.
 -MODORDER := .modules.tmp
 -endif
 -
 -PHONY += single_modpost
 -single_modpost: $(single-no-ko) modules_prepare
 +# Remove MODORDER when done because it is not the real one.
 +PHONY += single_modules
 +single_modules: $(single-no-ko) modules_prepare
        $(Q){ $(foreach m, $(single-ko), echo $(extmod_prefix)$m;) } > $(MODORDER)
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
 -
 -KBUILD_MODULES := 1
 -
 -export KBUILD_SINGLE_TARGETS := $(addprefix $(extmod_prefix), $(single-no-ko))
 -
 -# trim unrelated directories
 -build-dirs := $(foreach d, $(build-dirs), \
 -                      $(if $(filter $(d)/%, $(KBUILD_SINGLE_TARGETS)), $(d)))
 -
 +ifneq ($(KBUILD_MODPOST_NOFINAL),1)
 +      $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
  endif
 +      $(Q)rm -f $(MODORDER)
 +
 +single-goals := $(addprefix $(build-dir)/, $(single-no-ko))
  
 -ifndef CONFIG_MODULES
 -KBUILD_MODULES :=
  endif
  
 -# Handle descending into subdirectories listed in $(build-dirs)
  # Preset locale variables to speed up the build process. Limit locale
  # tweaks to this spot to avoid wrong language settings when running
  # make menuconfig etc.
  # Error messages still appears in the original language
 -PHONY += descend $(build-dirs)
 -descend: $(build-dirs)
 -$(build-dirs): prepare
 -      $(Q)$(MAKE) $(build)=$@ \
 -      single-build=$(if $(filter-out $@/, $(filter $@/%, $(KBUILD_SINGLE_TARGETS))),1) \
 -      need-builtin=1 need-modorder=1
 +PHONY += $(build-dir)
 +$(build-dir): prepare
 +      $(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1 $(single-goals)
  
  clean-dirs := $(addprefix _clean_, $(clean-dirs))
  PHONY += $(clean-dirs) clean
@@@ -1992,7 -1868,7 +1996,7 @@@ $(clean-dirs)
  clean: $(clean-dirs)
        $(call cmd,rmfiles)
        @find $(or $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
 -              \( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
 +              \( -name '*.[aios]' -o -name '*.rsi' -o -name '*.ko' -o -name '.*.cmd' \
                -o -name '*.ko.*' \
                -o -name '*.dtb' -o -name '*.dtbo' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
                -o -name '*.dwo' -o -name '*.lst' \
@@@ -2030,7 -1906,7 +2034,7 @@@ quiet_cmd_gen_compile_commands = GE
        cmd_gen_compile_commands = $(PYTHON3) $< -a $(AR) -o $@ $(filter-out $<, $(real-prereqs))
  
  $(extmod_prefix)compile_commands.json: scripts/clang-tools/gen_compile_commands.py \
 -      $(if $(KBUILD_EXTMOD),,$(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)) \
 +      $(if $(KBUILD_EXTMOD),, vmlinux.a $(KBUILD_VMLINUX_LIBS)) \
        $(if $(CONFIG_MODULES), $(MODORDER)) FORCE
        $(call if_changed,gen_compile_commands)
  
diff --combined drivers/of/base.c
index 42da760e0f45d92cca93224d78fa9d20c5812dd9,209953c4f6c6833771223c2b50098aba70b8ed07..d5a5c35eba72ac62d3a06be7956bf97297adb8a1
@@@ -561,7 -561,7 +561,7 @@@ EXPORT_SYMBOL(of_device_is_compatible)
   *  a NULL terminated array of strings. Returns the best match
   *  score or 0.
   */
- int of_device_compatible_match(struct device_node *device,
+ int of_device_compatible_match(const struct device_node *device,
                               const char *const *compat)
  {
        unsigned int tmp, score = 0;
  
        return score;
  }
 +EXPORT_SYMBOL_GPL(of_device_compatible_match);
  
  /**
   * of_machine_is_compatible - Test root of device tree for a given compatible value
@@@ -1229,7 -1228,7 +1229,7 @@@ int of_modalias_node(struct device_nod
        if (!compatible || strlen(compatible) > cplen)
                return -ENODEV;
        p = strchr(compatible, ',');
-       strlcpy(modalias, p ? p + 1 : compatible, len);
+       strscpy(modalias, p ? p + 1 : compatible, len);
        return 0;
  }
  EXPORT_SYMBOL_GPL(of_modalias_node);
@@@ -2089,12 -2088,13 +2089,13 @@@ int of_find_last_cache_level(unsigned i
        struct device_node *prev = NULL, *np = of_cpu_device_node_get(cpu);
  
        while (np) {
+               of_node_put(prev);
                prev = np;
-               of_node_put(np);
                np = of_find_next_cache_node(np);
        }
  
        of_property_read_u32(prev, "cache-level", &cache_level);
+       of_node_put(prev);
  
        return cache_level;
  }
diff --combined drivers/of/fdt.c
index 1c573e7a60bc854b8fa0503d4904d6415df9f929,53b250fcd2a9a1c90a7e7b1a04a476945de53826..7b571a631639702817cd550ad599896fc3bfb2ae
@@@ -314,7 -314,7 +314,7 @@@ static int unflatten_dt_nodes(const voi
        for (offset = 0;
             offset >= 0 && depth >= initial_depth;
             offset = fdt_next_node(blob, offset, &depth)) {
 -              if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH))
 +              if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH - 1))
                        continue;
  
                if (!IS_ENABLED(CONFIG_OF_KOBJ) &&
@@@ -828,15 -828,6 +828,6 @@@ uint32_t __init of_get_flat_dt_phandle(
        return fdt_get_phandle(initial_boot_params, node);
  }
  
- struct fdt_scan_status {
-       const char *name;
-       int namelen;
-       int depth;
-       int found;
-       int (*iterator)(unsigned long node, const char *uname, int depth, void *data);
-       void *data;
- };
  const char * __init of_flat_dt_get_machine_name(void)
  {
        const char *name;
@@@ -936,6 -927,8 +927,8 @@@ static void __init early_init_dt_check_
        if (!prop)
                return;
        end = of_read_number(prop, len/4);
+       if (start > end)
+               return;
  
        __early_init_dt_declare_initrd(start, end);
        phys_initrd_start = start;
@@@ -1178,7 -1171,7 +1171,7 @@@ int __init early_init_dt_scan_chosen(ch
        /* Retrieve command line */
        p = of_get_flat_dt_prop(node, "bootargs", &l);
        if (p != NULL && l > 0)
-               strlcpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
+               strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
  
        /*
         * CONFIG_CMDLINE is meant to be a default in case nothing else
        strlcat(cmdline, " ", COMMAND_LINE_SIZE);
        strlcat(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
  #elif defined(CONFIG_CMDLINE_FORCE)
-       strlcpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+       strscpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
  #else
        /* No arguments from boot loader, use kernel's  cmdl*/
        if (!((char *)cmdline)[0])
-               strlcpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+               strscpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
  #endif
  #endif /* CONFIG_CMDLINE */
  
diff --combined drivers/of/unittest.c
index f9614552db829407cd18dc2c14ecccbb608aaf3d,2b39470e82d4935d8a9ca888d379ef8fd943278f..b89ab5d9fea55415ba3682c2a4542974e392d651
@@@ -2465,7 -2465,7 +2465,7 @@@ static int unittest_i2c_bus_probe(struc
        adap = &std->adap;
        i2c_set_adapdata(adap, std);
        adap->nr = -1;
-       strlcpy(adap->name, pdev->name, sizeof(adap->name));
+       strscpy(adap->name, pdev->name, sizeof(adap->name));
        adap->class = I2C_CLASS_DEPRECATED;
        adap->algo = &unittest_i2c_algo;
        adap->dev.parent = dev;
@@@ -2524,12 -2524,13 +2524,12 @@@ static int unittest_i2c_dev_probe(struc
        return 0;
  };
  
 -static int unittest_i2c_dev_remove(struct i2c_client *client)
 +static void unittest_i2c_dev_remove(struct i2c_client *client)
  {
        struct device *dev = &client->dev;
        struct device_node *np = client->dev.of_node;
  
        dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
 -      return 0;
  }
  
  static const struct i2c_device_id unittest_i2c_dev_id[] = {
@@@ -2600,7 -2601,7 +2600,7 @@@ static int unittest_i2c_mux_probe(struc
        return 0;
  };
  
 -static int unittest_i2c_mux_remove(struct i2c_client *client)
 +static void unittest_i2c_mux_remove(struct i2c_client *client)
  {
        struct device *dev = &client->dev;
        struct device_node *np = client->dev.of_node;
  
        dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
        i2c_mux_del_adapters(muxc);
 -      return 0;
  }
  
  static const struct i2c_device_id unittest_i2c_mux_id[] = {
@@@ -3465,6 -3467,9 +3465,9 @@@ static int __init of_unittest(void
  
        pr_info("start of unittest - you will see error messages\n");
  
+       /* Taint the kernel so we know we've run tests. */
+       add_taint(TAINT_TEST, LOCKDEP_STILL_OK);
        /* adding data for unittest */
  
        if (IS_ENABLED(CONFIG_UML))
diff --combined scripts/Makefile.lib
index 3dd688b7baab44f2142647a0008220b34bdfedbf,cec0560f6ac6d895b551c48c31666615dc3209a5..09d08f93dcd378d777cd66c00ad9c3ac48a9e543
@@@ -8,7 -8,6 +8,7 @@@ ldflags-y  += $(EXTRA_LDFLAGS
  # flags that take effect in current and sub directories
  KBUILD_AFLAGS += $(subdir-asflags-y)
  KBUILD_CFLAGS += $(subdir-ccflags-y)
 +KBUILD_RUSTFLAGS += $(subdir-rustflags-y)
  
  # Figure out what we need to build from the various variables
  # ===========================================================================
@@@ -90,7 -89,6 +90,7 @@@ always-y                      += $(dtb-y
  
  # Add subdir path
  
 +ifneq ($(obj),.)
  extra-y               := $(addprefix $(obj)/,$(extra-y))
  always-y      := $(addprefix $(obj)/,$(always-y))
  targets               := $(addprefix $(obj)/,$(targets))
@@@ -102,7 -100,6 +102,7 @@@ multi-obj-m        := $(addprefix $(obj)/, $(m
  multi-dtb-y   := $(addprefix $(obj)/, $(multi-dtb-y))
  real-dtb-y    := $(addprefix $(obj)/, $(real-dtb-y))
  subdir-ym     := $(addprefix $(obj)/,$(subdir-ym))
 +endif
  
  # Finds the multi-part object the current object will be linked into.
  # If the object belongs to two or more multi-part objects, list them all.
@@@ -131,10 -128,6 +131,10 @@@ _c_flags       = $(filter-out $(CFLAGS_
                       $(filter-out $(ccflags-remove-y), \
                           $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(ccflags-y)) \
                       $(CFLAGS_$(target-stem).o))
 +_rust_flags    = $(filter-out $(RUSTFLAGS_REMOVE_$(target-stem).o), \
 +                     $(filter-out $(rustflags-remove-y), \
 +                         $(KBUILD_RUSTFLAGS) $(rustflags-y)) \
 +                     $(RUSTFLAGS_$(target-stem).o))
  _a_flags       = $(filter-out $(AFLAGS_REMOVE_$(target-stem).o), \
                       $(filter-out $(asflags-remove-y), \
                           $(KBUILD_CPPFLAGS) $(KBUILD_AFLAGS) $(asflags-y)) \
@@@ -209,11 -202,6 +209,11 @@@ modkern_cflags 
                $(KBUILD_CFLAGS_MODULE) $(CFLAGS_MODULE), \
                $(KBUILD_CFLAGS_KERNEL) $(CFLAGS_KERNEL) $(modfile_flags))
  
 +modkern_rustflags =                                              \
 +      $(if $(part-of-module),                                   \
 +              $(KBUILD_RUSTFLAGS_MODULE) $(RUSTFLAGS_MODULE), \
 +              $(KBUILD_RUSTFLAGS_KERNEL) $(RUSTFLAGS_KERNEL))
 +
  modkern_aflags = $(if $(part-of-module),                              \
                        $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE),       \
                        $(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL))
@@@ -223,8 -211,6 +223,8 @@@ c_flags        = -Wp,-MMD,$(depfile) $(
                 $(_c_flags) $(modkern_cflags)                           \
                 $(basename_flags) $(modname_flags)
  
 +rust_flags     = $(_rust_flags) $(modkern_rustflags) @$(objtree)/include/generated/rustc_cfg
 +
  a_flags        = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE)     \
                 $(_a_flags) $(modkern_aflags)
  
@@@ -243,26 -229,25 +243,26 @@@ ifdef CONFIG_OBJTOO
  
  objtool := $(objtree)/tools/objtool/objtool
  
 -objtool_args =                                                                \
 -      $(if $(CONFIG_HAVE_JUMP_LABEL_HACK), --hacks=jump_label)        \
 -      $(if $(CONFIG_HAVE_NOINSTR_HACK), --hacks=noinstr)              \
 -      $(if $(CONFIG_X86_KERNEL_IBT), --ibt)                           \
 -      $(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount)             \
 -      $(if $(CONFIG_UNWINDER_ORC), --orc)                             \
 -      $(if $(CONFIG_RETPOLINE), --retpoline)                          \
 -      $(if $(CONFIG_RETHUNK), --rethunk)                              \
 -      $(if $(CONFIG_SLS), --sls)                                      \
 -      $(if $(CONFIG_STACK_VALIDATION), --stackval)                    \
 -      $(if $(CONFIG_HAVE_STATIC_CALL_INLINE), --static-call)          \
 -      $(if $(CONFIG_HAVE_UACCESS_VALIDATION), --uaccess)              \
 +objtool-args-$(CONFIG_HAVE_JUMP_LABEL_HACK)           += --hacks=jump_label
 +objtool-args-$(CONFIG_HAVE_NOINSTR_HACK)              += --hacks=noinstr
 +objtool-args-$(CONFIG_X86_KERNEL_IBT)                 += --ibt
 +objtool-args-$(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL)      += --mcount
 +objtool-args-$(CONFIG_UNWINDER_ORC)                   += --orc
 +objtool-args-$(CONFIG_RETPOLINE)                      += --retpoline
 +objtool-args-$(CONFIG_RETHUNK)                                += --rethunk
 +objtool-args-$(CONFIG_SLS)                            += --sls
 +objtool-args-$(CONFIG_STACK_VALIDATION)                       += --stackval
 +objtool-args-$(CONFIG_HAVE_STATIC_CALL_INLINE)                += --static-call
 +objtool-args-$(CONFIG_HAVE_UACCESS_VALIDATION)                += --uaccess
 +objtool-args-$(CONFIG_GCOV_KERNEL)                    += --no-unreachable
 +
 +objtool-args = $(objtool-args-y)                                      \
        $(if $(delay-objtool), --link)                                  \
 -      $(if $(part-of-module), --module)                               \
 -      $(if $(CONFIG_GCOV_KERNEL), --no-unreachable)
 +      $(if $(part-of-module), --module)
  
  delay-objtool := $(or $(CONFIG_LTO_CLANG),$(CONFIG_X86_KERNEL_IBT))
  
 -cmd_objtool = $(if $(objtool-enabled), ; $(objtool) $(objtool_args) $@)
 +cmd_objtool = $(if $(objtool-enabled), ; $(objtool) $(objtool-args) $@)
  cmd_gen_objtooldep = $(if $(objtool-enabled), { echo ; echo '$@: $$(wildcard $(objtool))' ; } >> $(dot-target).cmd)
  
  endif # CONFIG_OBJTOOL
@@@ -386,17 -371,15 +386,15 @@@ DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FI
  DT_BINDING_DIR := Documentation/devicetree/bindings
  DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.json
  
- quiet_cmd_dtb_check = CHECK   $@
-       cmd_dtb_check = $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true
+ quiet_cmd_dtb =       DTC_CHK $@
+       cmd_dtb =       $(cmd_dtc) ; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true
+ else
+ quiet_cmd_dtb = $(quiet_cmd_dtc)
+       cmd_dtb = $(cmd_dtc)
  endif
  
- define rule_dtc
-       $(call cmd_and_fixdep,dtc)
-       $(call cmd,dtb_check)
- endef
  $(obj)/%.dtb: $(src)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
-       $(call if_changed_rule,dtc)
+       $(call if_changed_dep,dtb)
  
  $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE
        $(call if_changed_dep,dtc)