linux/drivers/of
Krzysztof Kozlowski 4a93adcbd2 of: Add wrappers to match root node with OF device ID tables
Several drivers duplicate same code for getting reference to the root
node, matching it against 'struct of_device_id' table and getting out
the match data from the table entry.

There is a of_machine_compatible_match() wrapper but it takes array of
strings, which is not suitable for many drivers since they want the
driver data associated with each compatible.

Add two wrappers, similar to existing of_device_get_match_data():
1. of_machine_device_match() doing only matching against 'struct
   of_device_id' and returning bool.
2. of_machine_get_match_data() doing the matching and returning
   associated driver data for found compatible.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patch.msgid.link/20251112-b4-of-match-matchine-data-v2-1-d46b72003fd6@linaro.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2025-11-26 19:38:24 -06:00
..
unittest-data samples: rust: platform: Add property child and reference args examples 2025-06-25 17:48:41 +02:00
.kunitconfig of: Allow overlay kunit tests to run CONFIG_OF_OVERLAY=n 2024-11-15 14:03:28 -06:00
address.c of/address: Remove the incorrect and misleading comment 2025-11-17 11:24:51 -06:00
base.c of: Add wrappers to match root node with OF device ID tables 2025-11-26 19:38:24 -06:00
cpu.c of: Constify struct device_node function arguments 2024-10-15 08:58:36 -05:00
device.c of: Clarify OF device context in of_match_device() comment 2025-07-30 17:49:06 -05:00
dynamic.c of: dynamic: Fix use after free in of_changeset_add_prop_helper() 2025-08-22 16:21:35 -05:00
empty_root.dts of: Add #address-cells/#size-cells in the device-tree root empty node 2024-12-02 09:26:33 -06:00
fdt.c of/fdt: Simplify the logic of early_init_dt_scan_memory() 2025-11-20 08:32:48 -06:00
fdt_address.c of: Remove a duplicated code block 2025-01-13 08:39:28 -06:00
irq.c of/irq: Handle explicit interrupt parent 2025-11-19 15:52:27 -06:00
Kconfig Kbuild updates for v6.13 2024-11-30 13:41:50 -08:00
kexec.c arm64: add KHO support 2025-05-12 23:50:41 -07:00
kobj.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
kunit_overlay_test.dtso of: Add a KUnit test for overlays and test managed APIs 2024-07-29 15:33:12 -07:00
Makefile of: Add a KUnit test for overlays and test managed APIs 2024-07-29 15:33:12 -07:00
module.c of: module: remove strlen() call in of_modalias() 2024-10-16 12:00:10 -05:00
of_kunit_helpers.c of: Skip kunit tests when arm64+ACPI doesn't populate root node 2024-10-10 12:43:01 -05:00
of_numa.c of_numa: fix uninitialized memory nodes causing kernel panic 2025-08-27 22:45:41 -07:00
of_private.h Devicetree for v6.15: 2025-03-29 11:23:16 -07:00
of_reserved_mem.c of/reserved_mem: Simplify the logic of __reserved_mem_alloc_size() 2025-11-20 08:32:49 -06:00
of_test.c of: address: Add kunit test for __of_address_resource_bounds() 2025-02-02 20:59:04 -06:00
overlay.c of: overlay: Avoid spurious error messages in of_overlay_remove() 2025-11-17 11:24:51 -06:00
overlay_test.c of: Allow overlay kunit tests to run CONFIG_OF_OVERLAY=n 2024-11-15 14:03:28 -06:00
pdt.c of: Do not expose of_alias_scan() and correct its comments 2025-01-17 08:52:57 -06:00
platform.c of/platform: Use typed accessors rather than of_get_property() 2025-03-14 18:01:42 -05:00
property.c of: Add of_property_read_u16_index 2025-03-20 12:42:27 +00:00
resolver.c of: Introduce and apply private is_pseudo_property() 2025-02-25 08:43:00 -06:00
unittest.c of: unittest: Fix device reference count leak in of_unittest_pci_node_verify 2025-10-01 09:33:23 -05:00