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;