Message ID | 20230613095624.78789-1-frank.li@vivo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESEND,1/9] thermal/hwmon: Add error information printing for devm_thermal_add_hwmon_sysfs() | expand |
On 13/06/2023 11:56, 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> > --- > Resend patchset so that the changes to thermal/hwmon.c are copied to everyone. > drivers/thermal/thermal_hwmon.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c > index fbe55509e307..a580add5a2f6 100644 > --- a/drivers/thermal/thermal_hwmon.c > +++ b/drivers/thermal/thermal_hwmon.c > @@ -271,11 +271,14 @@ int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device > > ptr = devres_alloc(devm_thermal_hwmon_release, sizeof(*ptr), > GFP_KERNEL); > - if (!ptr) > + if (!ptr) { > + dev_err(dev, "Failed to allocate device resource data\n"); > return -ENOMEM; > + } When an allocation fails, there is a callstack showed. It is not necessary to print an error in this case. > > ret = thermal_add_hwmon_sysfs(tz); > if (ret) { > + dev_err(dev, "Failed to add hwmon sysfs attributes\n"); > devres_free(ptr); > return ret; > } That should not display an error. The call site will take care of that.
On 13/06/2023 11:56, 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> > --- > Resend patchset so that the changes to thermal/hwmon.c are copied to everyone. > drivers/thermal/thermal_hwmon.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c > index fbe55509e307..a580add5a2f6 100644 > --- a/drivers/thermal/thermal_hwmon.c > +++ b/drivers/thermal/thermal_hwmon.c > @@ -271,11 +271,14 @@ int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device > > ptr = devres_alloc(devm_thermal_hwmon_release, sizeof(*ptr), > GFP_KERNEL); > - if (!ptr) > + if (!ptr) { > + dev_err(dev, "Failed to allocate device resource data\n"); > return -ENOMEM; > + } > > ret = thermal_add_hwmon_sysfs(tz); > if (ret) { > + dev_err(dev, "Failed to add hwmon sysfs attributes\n"); > devres_free(ptr); > return ret; > } Sorry, I commented to quickly this patch. Please discard my last comment. I think it is a good improvement. Can you replace the dev_err to dev_warn ? Thanks
On 2023/6/13 18:20, Daniel Lezcano wrote: > On 13/06/2023 11:56, 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> >> --- >> Resend patchset so that the changes to thermal/hwmon.c are copied to >> everyone. >> drivers/thermal/thermal_hwmon.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/thermal/thermal_hwmon.c >> b/drivers/thermal/thermal_hwmon.c >> index fbe55509e307..a580add5a2f6 100644 >> --- a/drivers/thermal/thermal_hwmon.c >> +++ b/drivers/thermal/thermal_hwmon.c >> @@ -271,11 +271,14 @@ int devm_thermal_add_hwmon_sysfs(struct device >> *dev, struct thermal_zone_device >> ptr = devres_alloc(devm_thermal_hwmon_release, sizeof(*ptr), >> GFP_KERNEL); >> - if (!ptr) >> + if (!ptr) { >> + dev_err(dev, "Failed to allocate device resource data\n"); >> return -ENOMEM; >> + } >> ret = thermal_add_hwmon_sysfs(tz); >> if (ret) { >> + dev_err(dev, "Failed to add hwmon sysfs attributes\n"); >> devres_free(ptr); >> return ret; >> } > > Sorry, I commented to quickly this patch. Please discard my last > comment. I think it is a good improvement. > > Can you replace the dev_err to dev_warn ? Based on the thermal/tuxsuite branch of daniel.lezcano/linux.git, patch v3 was sent. Included [1] for cleanup thermal-generic-adc. [1] https://patchwork.kernel.org/project/linux-pm/patch/20230613093054.2067340-1-wenst@chromium.org/ Thx, Yangtao > Thanks >
diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c index fbe55509e307..a580add5a2f6 100644 --- a/drivers/thermal/thermal_hwmon.c +++ b/drivers/thermal/thermal_hwmon.c @@ -271,11 +271,14 @@ int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device ptr = devres_alloc(devm_thermal_hwmon_release, sizeof(*ptr), GFP_KERNEL); - if (!ptr) + if (!ptr) { + dev_err(dev, "Failed to allocate device resource data\n"); return -ENOMEM; + } ret = thermal_add_hwmon_sysfs(tz); if (ret) { + dev_err(dev, "Failed to add hwmon sysfs attributes\n"); devres_free(ptr); return ret; }
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> --- Resend patchset so that the changes to thermal/hwmon.c are copied to everyone. drivers/thermal/thermal_hwmon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)