Thread (27 messages) 27 messages, 9 authors, 2026-02-23

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 in
quoted 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help