drm/etnaviv: don't fail GPU bind when CONFIG_THERMAL isn't enabled
authorLucas Stach <l.stach@pengutronix.de>
Tue, 8 Aug 2017 13:28:25 +0000 (15:28 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Tue, 15 Aug 2017 13:28:15 +0000 (15:28 +0200)
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.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_gpu.c

index ada45fd..fc9a6a8 100644 (file)
@@ -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);