Re: [PATCH 1/8] of: provide of_machine_get_compatible()
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2026-01-19 19:23:55
Also in:
imx, linux-arm-kernel, linux-devicetree, linux-renesas-soc, linux-sunxi, lkml
Hi Bartosz, On Mon, 19 Jan 2026 at 11:40, Bartosz Golaszewski [off-list ref] wrote:
Provide a helper function allowing users to read the compatible string of the machine, hiding the access to the root node. Signed-off-by: Bartosz Golaszewski <redacted>
Thanks for your patch!
quoted hunk ↗ jump to hunk
--- a/drivers/of/base.c +++ b/drivers/of/base.c@@ -434,6 +434,19 @@ bool of_machine_compatible_match(const char *const *compats) } EXPORT_SYMBOL(of_machine_compatible_match); +/** + * of_machine_get_compatible - Get the compatible string of this machine
... the first compatible string... Do you see a need for adding an index parameter?
+ * @compatible: address at which the compatible string will be stored
+ *
+ * Returns:
+ * 0 on success, negative error number on failure.
+ */
+int of_machine_get_compatible(const char **compatible)
+{
+ return of_property_read_string(of_root, "compatible", compatible);
+}
+EXPORT_SYMBOL_GPL(of_machine_get_compatible);
+
/**
* of_machine_device_match - Test root of device tree against a of_device_id array
* @matches: NULL terminated array of of_device_id match structures to search inquoted hunk ↗ jump to hunk
--- a/include/linux/of.h +++ b/include/linux/of.h@@ -426,6 +426,8 @@ static inline bool of_machine_is_compatible(const char *compat) return of_machine_compatible_match(compats); } +int of_machine_get_compatible(const char **compatible); + extern int of_add_property(struct device_node *np, struct property *prop); extern int of_remove_property(struct device_node *np, struct property *prop); extern int of_update_property(struct device_node *np, struct property *newprop);
Do you need a dummy for the !CONFIG_OF case?
This is only used by drivers/soc/fsl/guts.c, and FSL_GUTS is selected
by MMC_SDHCI_OF_ESDHC, which is OF-only, but can be enabled
when PPC || COMPILE_TEST.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds