Commit e2d10998e429 for kernel

commit e2d10998e4293a27c0389870b5fdf736a71d61ef
Merge: 430cc9f42b44 a74c2e55ab66
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri Apr 17 14:09:02 2026 -0700

    Merge tag 'devicetree-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

    Pull devicetree updates from Rob Herring:
     "DT core:

       - Cleanup of the reserved memory code to keep CMA specifics in CMA
         code

       - Add and convert several users to new of_machine_get_match() helper

       - Validate nul termination in string properties

       - Update dtc to upstream v1.7.2-69-g53373d135579

       - Limit matching reserved memory devices to /reserved-memory nodes

       - Fix some UAF in unittests

       - Remove Baikal SoC bus driver

       - Fix false DT_SPLIT_BINDING_PATCH checkpatch warning

       - Allow fw_devlink device-tree on x86

       - Fix kerneldoc return description for of_property_count_elems_of_size()

      DT bindings:

       - Add fsl,imx25-aips, fsl,imx25-tcq, qcom,eliza-pdc,
         qcom,eliza-spmi-pmic-arb, qcom,hawi-imem, qcom,milos-imem,
         qcom,hawi-pdc, and lg,sw49410 bindings

       - Convert arm,vexpress-scc to DT schema

       - Deprecate Qualcomm generic CPU compatibles. Add Apple M3 CPU cores.

       - Move some dual-link display panels to the dual-link schema

       - Drop mux controller node name constraints

       - Remove Baikal SoC bus bindings

       - Fix a false warning in the thermal trip node binding"

    * tag 'devicetree-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (39 commits)
      dt-bindings: display: panel: panel-simple: Add lg,sw49410 compatible
      dt-bindings: display: ti, am65x-dss: Fix AM62L DSS reg and clock constraints
      dt-bindings: display: simple: Move Innolux G156HCE-L01 panel to dual-link
      dt-bindings: display: simple: Move AUO 21.5" FHD to dual-link
      dt-bindings: thermal: Fix false warning with 'phandle' in trips nodes
      of: unittest: fix use-after-free in testdrv_probe()
      of: unittest: fix use-after-free in of_unittest_changeset()
      dt-bindings: qcom,pdc: document the Hawi Power Domain Controller
      dt-bindings: ARM: arm,vexpress-scc: convert to DT schema
      drivers/of: fdt: validate flat DT string properties before string use
      drivers/of: fdt: validate stdout-path properties before parsing them
      dt-bindings: sram: Document qcom,hawi-imem compatible
      dt-bindings: sram: Allow multiple-word prefixes to sram subnode
      dt-bindings: sram: Document qcom,milos-imem
      scripts/dtc: Update to upstream version v1.7.2-69-g53373d135579
      of: property: Allow fw_devlink device-tree on x86
      dt-bindings: arm: cpus: Add Apple M3 CPU core compatibles
      dt-bindings: display: lt8912b: Drop redundant endpoint properties
      dt-bindings: opp-v2: Fix example 3 CPU reg value
      dt-bindings: connector: add pd-disable dependency
      ...

diff --cc Documentation/devicetree/bindings/arm/cpus.yaml
index 07f3c6a52554,6f189ea3fdfa..5f5ff5e51e51
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@@ -79,156 -79,155 +79,162 @@@ properties
        All other bits in the reg cells must be set to 0.

    compatible:
-     enum:
-       - apm,potenza
-       - apm,strega
-       - apple,avalanche
-       - apple,blizzard
-       - apple,cyclone
-       - apple,firestorm
-       - apple,hurricane-zephyr
-       - apple,icestorm
-       - apple,mistral
-       - apple,monsoon
-       - apple,twister
-       - apple,typhoon
-       - arm,arm710t
-       - arm,arm720t
-       - arm,arm740t
-       - arm,arm7ej-s
-       - arm,arm7tdmi
-       - arm,arm7tdmi-s
-       - arm,arm9es
-       - arm,arm9ej-s
-       - arm,arm920t
-       - arm,arm922t
-       - arm,arm925
-       - arm,arm926e-s
-       - arm,arm926ej-s
-       - arm,arm940t
-       - arm,arm946e-s
-       - arm,arm966e-s
-       - arm,arm968e-s
-       - arm,arm9tdmi
-       - arm,arm1020e
-       - arm,arm1020t
-       - arm,arm1022e
-       - arm,arm1026ej-s
-       - arm,arm1136j-s
-       - arm,arm1136jf-s
-       - arm,arm1156t2-s
-       - arm,arm1156t2f-s
-       - arm,arm1176jzf
-       - arm,arm1176jz-s
-       - arm,arm1176jzf-s
-       - arm,arm11mpcore
-       - arm,armv8 # Only for s/w models
-       - arm,c1-nano
-       - arm,c1-premium
-       - arm,c1-pro
-       - arm,c1-ultra
-       - arm,cortex-a5
-       - arm,cortex-a7
-       - arm,cortex-a8
-       - arm,cortex-a9
-       - arm,cortex-a12
-       - arm,cortex-a15
-       - arm,cortex-a17
-       - arm,cortex-a32
-       - arm,cortex-a34
-       - arm,cortex-a35
-       - arm,cortex-a53
-       - arm,cortex-a55
-       - arm,cortex-a57
-       - arm,cortex-a65
-       - arm,cortex-a72
-       - arm,cortex-a73
-       - arm,cortex-a75
-       - arm,cortex-a76
-       - arm,cortex-a77
-       - arm,cortex-a78
-       - arm,cortex-a78ae
-       - arm,cortex-a78c
-       - arm,cortex-a320
-       - arm,cortex-a510
-       - arm,cortex-a520
-       - arm,cortex-a520ae
-       - arm,cortex-a710
-       - arm,cortex-a715
-       - arm,cortex-a720
-       - arm,cortex-a720ae
-       - arm,cortex-a725
-       - arm,cortex-m0
-       - arm,cortex-m0+
-       - arm,cortex-m1
-       - arm,cortex-m3
-       - arm,cortex-m4
-       - arm,cortex-r4
-       - arm,cortex-r5
-       - arm,cortex-r7
-       - arm,cortex-r52
-       - arm,cortex-x1
-       - arm,cortex-x1c
-       - arm,cortex-x2
-       - arm,cortex-x3
-       - arm,cortex-x4
-       - arm,cortex-x925
-       - arm,neoverse-e1
-       - arm,neoverse-n1
-       - arm,neoverse-n2
-       - arm,neoverse-n3
-       - arm,neoverse-v1
-       - arm,neoverse-v2
-       - arm,neoverse-v3
-       - arm,neoverse-v3ae
-       - arm,rainier
-       - brcm,brahma-b15
-       - brcm,brahma-b53
-       - brcm,vulcan
-       - cavium,thunder
-       - cavium,thunder2
-       - faraday,fa526
-       - intel,sa110
-       - intel,sa1100
-       - marvell,feroceon
-       - marvell,mohawk
-       - marvell,pj4a
-       - marvell,pj4b
-       - marvell,sheeva-v5
-       - marvell,sheeva-v7
-       - nvidia,tegra132-denver
-       - nvidia,tegra186-denver
-       - nvidia,tegra194-carmel
-       - qcom,krait
-       - qcom,kryo
-       - qcom,kryo240
-       - qcom,kryo250
-       - qcom,kryo260
-       - qcom,kryo280
-       - qcom,kryo360
-       - qcom,kryo385
-       - qcom,kryo465
-       - qcom,kryo468
-       - qcom,kryo470
-       - qcom,kryo485
-       - qcom,kryo560
-       - qcom,kryo570
-       - qcom,kryo660
-       - qcom,kryo670
-       - qcom,kryo685
-       - qcom,kryo780
-       - qcom,oryon
-       - qcom,oryon-1-1
-       - qcom,oryon-1-2
-       - qcom,oryon-1-3
-       - qcom,oryon-1-4
-       - qcom,oryon-2-1
-       - qcom,oryon-2-2
-       - qcom,oryon-2-3
-       - qcom,scorpion
-       - samsung,mongoose-m2
-       - samsung,mongoose-m3
-       - samsung,mongoose-m5
+     oneOf:
+       - enum:
+           - apm,potenza
+           - apm,strega
+           - apple,avalanche
+           - apple,blizzard
+           - apple,cyclone
+           - apple,everest
+           - apple,firestorm
+           - apple,hurricane-zephyr
+           - apple,icestorm
+           - apple,mistral
+           - apple,monsoon
+           - apple,sawtooth
+           - apple,twister
+           - apple,typhoon
+           - arm,arm710t
+           - arm,arm720t
+           - arm,arm740t
+           - arm,arm7ej-s
+           - arm,arm7tdmi
+           - arm,arm7tdmi-s
+           - arm,arm9es
+           - arm,arm9ej-s
+           - arm,arm920t
+           - arm,arm922t
+           - arm,arm925
+           - arm,arm926e-s
+           - arm,arm926ej-s
+           - arm,arm940t
+           - arm,arm946e-s
+           - arm,arm966e-s
+           - arm,arm968e-s
+           - arm,arm9tdmi
+           - arm,arm1020e
+           - arm,arm1020t
+           - arm,arm1022e
+           - arm,arm1026ej-s
+           - arm,arm1136j-s
+           - arm,arm1136jf-s
+           - arm,arm1156t2-s
+           - arm,arm1156t2f-s
+           - arm,arm1176jzf
+           - arm,arm1176jz-s
+           - arm,arm1176jzf-s
+           - arm,arm11mpcore
+           - arm,armv8 # Only for s/w models
+           - arm,c1-nano
+           - arm,c1-premium
+           - arm,c1-pro
+           - arm,c1-ultra
+           - arm,cortex-a5
+           - arm,cortex-a7
+           - arm,cortex-a8
+           - arm,cortex-a9
+           - arm,cortex-a12
+           - arm,cortex-a15
+           - arm,cortex-a17
+           - arm,cortex-a32
+           - arm,cortex-a34
+           - arm,cortex-a35
+           - arm,cortex-a53
+           - arm,cortex-a55
+           - arm,cortex-a57
+           - arm,cortex-a65
+           - arm,cortex-a72
+           - arm,cortex-a73
+           - arm,cortex-a75
+           - arm,cortex-a76
+           - arm,cortex-a77
+           - arm,cortex-a78
+           - arm,cortex-a78ae
+           - arm,cortex-a78c
+           - arm,cortex-a320
+           - arm,cortex-a510
+           - arm,cortex-a520
+           - arm,cortex-a520ae
+           - arm,cortex-a710
+           - arm,cortex-a715
+           - arm,cortex-a720
+           - arm,cortex-a720ae
+           - arm,cortex-a725
+           - arm,cortex-m0
+           - arm,cortex-m0+
+           - arm,cortex-m1
+           - arm,cortex-m3
+           - arm,cortex-m4
+           - arm,cortex-r4
+           - arm,cortex-r5
+           - arm,cortex-r7
+           - arm,cortex-r52
+           - arm,cortex-x1
+           - arm,cortex-x1c
+           - arm,cortex-x2
+           - arm,cortex-x3
+           - arm,cortex-x4
+           - arm,cortex-x925
+           - arm,neoverse-e1
+           - arm,neoverse-n1
+           - arm,neoverse-n2
+           - arm,neoverse-n3
+           - arm,neoverse-v1
+           - arm,neoverse-v2
+           - arm,neoverse-v3
+           - arm,neoverse-v3ae
+           - arm,rainier
+           - brcm,brahma-b15
+           - brcm,brahma-b53
+           - brcm,vulcan
+           - cavium,thunder
+           - cavium,thunder2
+           - faraday,fa526
+           - intel,sa110
+           - intel,sa1100
+           - marvell,feroceon
+           - marvell,mohawk
+           - marvell,pj4a
+           - marvell,pj4b
+           - marvell,sheeva-v5
+           - marvell,sheeva-v7
+           - nvidia,tegra132-denver
+           - nvidia,tegra186-denver
+           - nvidia,tegra194-carmel
+           - qcom,krait
+           - qcom,kryo240
+           - qcom,kryo250
+           - qcom,kryo260
+           - qcom,kryo280
+           - qcom,kryo360
+           - qcom,kryo385
+           - qcom,kryo465
+           - qcom,kryo468
+           - qcom,kryo470
+           - qcom,kryo485
+           - qcom,kryo560
+           - qcom,kryo570
+           - qcom,kryo660
+           - qcom,kryo670
+           - qcom,kryo685
+           - qcom,kryo780
++          - qcom,oryon-1-1
++          - qcom,oryon-1-2
++          - qcom,oryon-1-3
++          - qcom,oryon-1-4
++          - qcom,oryon-2-1
++          - qcom,oryon-2-2
++          - qcom,oryon-2-3
+           - qcom,scorpion
+           - samsung,mongoose-m2
+           - samsung,mongoose-m3
+           - samsung,mongoose-m5
+       - enum:
+           - qcom,kryo
+           - qcom,oryon
+         # Too generic, do not use in new code
+         deprecated: true

    enable-method:
      $ref: /schemas/types.yaml#/definitions/string
diff --cc drivers/of/base.c
index 180dbce65b98,af048ab88e69..a650c91897cc
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@@ -434,42 -434,13 +434,41 @@@ bool of_machine_compatible_match(const
  }
  EXPORT_SYMBOL(of_machine_compatible_match);

 +/**
 + * of_machine_read_compatible - Get the compatible string of this machine
 + * @compatible: address at which the address of the compatible string will be
 + *              stored
 + * @index: index of the compatible entry in the list
 + *
 + * Returns:
 + * 0 on success, negative error number on failure.
 + */
 +int of_machine_read_compatible(const char **compatible, unsigned int index)
 +{
 +	return of_property_read_string_index(of_root, "compatible", index, compatible);
 +}
 +EXPORT_SYMBOL_GPL(of_machine_read_compatible);
 +
 +/**
 + * of_machine_read_model - Get the model string of this machine
 + * @model: address at which the address of the model string will be stored
 + *
 + * Returns:
 + * 0 on success, negative error number on failure.
 + */
 +int of_machine_read_model(const char **model)
 +{
 +	return of_property_read_string(of_root, "model", model);
 +}
 +EXPORT_SYMBOL_GPL(of_machine_read_model);
 +
  /**
-  * of_machine_device_match - Test root of device tree against a of_device_id array
+  * of_machine_get_match - Test root of device tree against an of_device_id array
   * @matches:	NULL terminated array of of_device_id match structures to search in
   *
-  * Returns true if the root node has any of the given compatible values in its
-  * compatible property.
+  * Returns matched entry or NULL
   */
- bool of_machine_device_match(const struct of_device_id *matches)
+ const struct of_device_id *of_machine_get_match(const struct of_device_id *matches)
  {
  	struct device_node *root;
  	const struct of_device_id *match = NULL;