[PATCH v3 2/2] drm/imagination: allow probe when no power-domains are described
Sterling-Ash
liangbaihui at linux.spacemit.com
Mon Jul 27 18:05:13 PDT 2026
pvr_power_domains_init() currently fails probe with -ENOENT when the
device tree node has no "power-domains" property. On some platforms
(e.g. SpacemiT K3) the GPU power domain is brought up by the bootloader
and is not modeled or managed by Linux, so there is legitimately no
power-domains phandle to attach.
Treat a missing "power-domains" property as "nothing to attach" and
continue probing, rather than failing.
Signed-off-by: Sterling-Ash <liangbaihui at linux.spacemit.com>
---
drivers/gpu/drm/imagination/pvr_power.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/imagination/pvr_power.c b/drivers/gpu/drm/imagination/pvr_power.c
index a71d5b35601e..5751e2d814b0 100644
--- a/drivers/gpu/drm/imagination/pvr_power.c
+++ b/drivers/gpu/drm/imagination/pvr_power.c
@@ -635,6 +635,15 @@ int pvr_power_domains_init(struct pvr_device *pvr_dev)
domain_count = of_count_phandle_with_args(dev->of_node, "power-domains",
"#power-domain-cells");
+ if (domain_count == -ENOENT) {
+ /*
+ * No "power-domains" property in the device tree: the platform
+ * handles power domains transparently or at the firmware/bootloader level,
+ * so there is no domain to attach. Treat this as non-fatal.
+ */
+ err = 0;
+ goto out;
+ }
if (domain_count < 0) {
err = domain_count;
goto out;
--
2.34.1
More information about the linux-riscv
mailing list