Message ID | 20230711124513.47771-1-frank.li@vivo.com |
---|---|
State | New |
Headers | show |
Series | [1/2] thermal/of: Add error information printing for devm_thermal_of_zone_register() | expand |
Hi Daniel, On 2023/7/11 20:45, Yangtao Li wrote: > Ensure that all error handling branches print error information. In this > way, when this function fails, the upper-layer functions can directly > return an error code without missing debugging information. Otherwise, > the error message will be printed redundantly or missing. > > Signed-off-by: Yangtao Li <frank.li@vivo.com> > --- > drivers/thermal/thermal_of.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c > index 6fb14e521197..8ce231f7639a 100644 > --- a/drivers/thermal/thermal_of.c > +++ b/drivers/thermal/thermal_of.c > @@ -583,11 +583,14 @@ struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, in > > ptr = devres_alloc(devm_thermal_of_zone_release, sizeof(*ptr), > GFP_KERNEL); > - if (!ptr) > + if (!ptr) { > + dev_err(dev, "Failed to allocate device resource data\n"); > return ERR_PTR(-ENOMEM); > + } > > tzd = thermal_of_zone_register(dev->of_node, sensor_id, data, ops); > if (IS_ERR(tzd)) { > + dev_err(dev, "Failed to register thermal zone: %d\n", PTR_ERR(tzd)); > devres_free(ptr); > return tzd; > } Do you agree with the current modification? Or if you have other opinions, please let me know. I want to do a cleanup of the code below drivers/thermal this time. Thx, Yangtao
diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c index 6fb14e521197..8ce231f7639a 100644 --- a/drivers/thermal/thermal_of.c +++ b/drivers/thermal/thermal_of.c @@ -583,11 +583,14 @@ struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, in ptr = devres_alloc(devm_thermal_of_zone_release, sizeof(*ptr), GFP_KERNEL); - if (!ptr) + if (!ptr) { + dev_err(dev, "Failed to allocate device resource data\n"); return ERR_PTR(-ENOMEM); + } tzd = thermal_of_zone_register(dev->of_node, sensor_id, data, ops); if (IS_ERR(tzd)) { + dev_err(dev, "Failed to register thermal zone: %d\n", PTR_ERR(tzd)); devres_free(ptr); return tzd; }
Ensure that all error handling branches print error information. In this way, when this function fails, the upper-layer functions can directly return an error code without missing debugging information. Otherwise, the error message will be printed redundantly or missing. Signed-off-by: Yangtao Li <frank.li@vivo.com> --- drivers/thermal/thermal_of.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)