Don't access of_root directly as it reduces the build test coverage for
this driver with COMPILE_TEST=y and OF=n. Use existing helper functions
to retrieve the relevant information.

Suggested-by: Rob Herring <[email protected]>
Reviewed-by: Christophe Leroy (CS GROUP) <[email protected]>
Acked-by: Christophe Leroy (CS GROUP) <[email protected]>
Signed-off-by: Bartosz Golaszewski <[email protected]>
---
 drivers/soc/fsl/guts.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c
index 
40afb27b582b1bbea004ca91b96d0a998e7a6582..9bee7baec2b9b3a548b16661f9ba86db2b982910
 100644
--- a/drivers/soc/fsl/guts.c
+++ b/drivers/soc/fsl/guts.c
@@ -186,7 +186,6 @@ static int __init fsl_guts_init(void)
        const struct fsl_soc_data *soc_data;
        const struct of_device_id *match;
        struct ccsr_guts __iomem *regs;
-       const char *machine = NULL;
        struct device_node *np;
        bool little_endian;
        u64 soc_uid = 0;
@@ -217,13 +216,9 @@ static int __init fsl_guts_init(void)
        if (!soc_dev_attr)
                return -ENOMEM;
 
-       if (of_property_read_string(of_root, "model", &machine))
-               of_property_read_string_index(of_root, "compatible", 0, 
&machine);
-       if (machine) {
-               soc_dev_attr->machine = kstrdup(machine, GFP_KERNEL);
-               if (!soc_dev_attr->machine)
-                       goto err_nomem;
-       }
+       ret = soc_attr_read_machine(soc_dev_attr);
+       if (ret)
+               of_machine_read_compatible(&soc_dev_attr->machine, 0);
 
        soc_die = fsl_soc_die_match(svr, fsl_soc_die);
        if (soc_die) {
@@ -267,7 +262,6 @@ static int __init fsl_guts_init(void)
 err_nomem:
        ret = -ENOMEM;
 err:
-       kfree(soc_dev_attr->machine);
        kfree(soc_dev_attr->family);
        kfree(soc_dev_attr->soc_id);
        kfree(soc_dev_attr->revision);

-- 
2.47.3


Reply via email to