The stub functions returns -ENODEV when trying to register the cooling device,
thus failing the GPU bind, rendering the GPU subsystem unusable when
CONFIG_THERMAL isn't enabled.

Signed-off-by: Lucas Stach <l.st...@pengutronix.de>
---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c 
b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index ada45fdd0eae..fc9a6a83dfc7 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1622,10 +1622,12 @@ static int etnaviv_gpu_bind(struct device *dev, struct 
device *master,
        struct etnaviv_gpu *gpu = dev_get_drvdata(dev);
        int ret;
 
-       gpu->cooling = thermal_of_cooling_device_register(dev->of_node,
+       if (IS_ENABLED(CONFIG_THERMAL)) {
+               gpu->cooling = thermal_of_cooling_device_register(dev->of_node,
                                (char *)dev_name(dev), gpu, &cooling_ops);
-       if (IS_ERR(gpu->cooling))
-               return PTR_ERR(gpu->cooling);
+               if (IS_ERR(gpu->cooling))
+                       return PTR_ERR(gpu->cooling);
+       }
 
 #ifdef CONFIG_PM
        ret = pm_runtime_get_sync(gpu->dev);
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to