The previous version of the OF code was returning -ENODEV if no
thermal zones description was found or if the lookup of the sensor in
the thermal zones was not found.
The backend drivers are expecting this return value as an information
about skipping the sensor initialization and considered as normal.
Fix the return value by replacing -EINVAL by -ENODEV and remove the
error message as this missing is not considered as an error.
Fixes: 3bd52ac87347 ("thermal/of: Rework the thermal device tree initialization")
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: Michael Walle <michael@walle.cc>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20220809085629.509116-2-daniel.lezcano@linaro.org
np = of_find_node_by_name(NULL, "thermal-zones");
if (!np) {
- pr_err("Unable to find thermal zones description\n");
- return ERR_PTR(-EINVAL);
+ pr_debug("No thermal zones description\n");
+ return ERR_PTR(-ENODEV);
}
/*
}
}
}
- tz = ERR_PTR(-EINVAL);
+ tz = ERR_PTR(-ENODEV);
out:
of_node_put(np);
return tz;
np = of_thermal_zone_find(sensor, id);
if (IS_ERR(np)) {
- pr_err("Failed to find thermal zone for %pOFn id=%d\n", sensor, id);
+ if (PTR_ERR(np) != -ENODEV)
+ pr_err("Failed to find thermal zone for %pOFn id=%d\n", sensor, id);
return ERR_CAST(np);
}