Re: [PATCH v2 6/9] soc: imx8m: don't access of_root directly
From: Alexander Stein <hidden>
Date: 2026-03-24 10:24:17
Also in:
driver-core, imx, linux-arm-kernel, linux-devicetree, linux-renesas-soc, linux-sunxi, lkml
Hi, Am Montag, 23. Februar 2026, 14:37:21 CET schrieb Bartosz Golaszewski:
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 <robh@kernel.org> Signed-off-by: Bartosz Golaszewski <redacted>
today I noticed the following warning running next-20260323:
caam 30900000.crypto: No clock data provided for i.MX SoC
This happens when there is no matching against the soc_id. Checking the source it turns out this patch is the cause that the SoC info does not provide soc_id anymore. next-20260323:
$ grep . /sys/devices/soc0/* /sys/devices/soc0/family:Freescale i.MX /sys/devices/soc0/machine:TQ-Systems i.MX8MPlus TQMa8MPxL on MBa8MP-RAS314 grep: /sys/devices/soc0/power: Is a directory /sys/devices/soc0/revision:unknown /sys/devices/soc0/serial_number:0000000000000000 grep: /sys/devices/soc0/subsystem: Is a directory
reverting this patch (2524b293a59e586afd06358d0b191ab57208a920):
$ grep . /sys/devices/soc0/* /sys/devices/soc0/family:Freescale i.MX /sys/devices/soc0/machine:TQ-Systems i.MX8MPlus TQMa8MPxL on MBa8MP-RAS314 grep: /sys/devices/soc0/power: Is a directory /sys/devices/soc0/revision:1.1 /sys/devices/soc0/serial_number:469677A693A4B8CE131D180033E44903 /sys/devices/soc0/soc_id:i.MX8MP grep: /sys/devices/soc0/subsystem: Is a directory
soc_id is restored. Now that I write these lines I noticed that serial_number also contained empty value which is restored with the revert. Best regards, Alexander
quoted hunk ↗ jump to hunk
--- drivers/soc/imx/soc-imx8m.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)diff --git a/drivers/soc/imx/soc-imx8m.c b/drivers/soc/imx/soc-imx8m.c index 8e2322999f0996d2723768469c6893b0ea22eb9d..77763a107edbd11302017e3f61ecb4369fda1ab0 100644 --- a/drivers/soc/imx/soc-imx8m.c +++ b/drivers/soc/imx/soc-imx8m.c@@ -226,7 +226,6 @@ static int imx8m_soc_probe(struct platform_device *pdev) const struct imx8_soc_data *data; struct imx8_soc_drvdata *drvdata; struct device *dev = &pdev->dev; - const struct of_device_id *id; struct soc_device *soc_dev; u32 soc_rev = 0; u64 soc_uid[2] = {0, 0};@@ -244,15 +243,11 @@ static int imx8m_soc_probe(struct platform_device *pdev) soc_dev_attr->family = "Freescale i.MX"; - ret = of_property_read_string(of_root, "model", &soc_dev_attr->machine); + ret = soc_attr_read_machine(soc_dev_attr); if (ret) return ret; - id = of_match_node(imx8_soc_match, of_root); - if (!id) - return -ENODEV; - - data = id->data; + data = device_get_match_data(dev); if (data) { soc_dev_attr->soc_id = data->name; ret = imx8m_soc_prepare(pdev, data->ocotp_compatible);@@ -326,7 +321,7 @@ static int __init imx8_soc_init(void) int ret; /* No match means this is non-i.MX8M hardware, do nothing. */ - if (!of_match_node(imx8_soc_match, of_root)) + if (!of_machine_device_match(imx8_soc_match)) return 0; ret = platform_driver_register(&imx8m_soc_driver);
-- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/