On Fri, Sep 5, 2025 at 10:25 AM Xichao Zhao <zhao.xichao@xxxxxxxx> wrote: > > devm_thermal_of_zone_register() does not print any error message > when registering a thermal zone with a device node sensor fails > and allocating device resource data fails. > > This forces each driver to implement redundant error logging. > Additionally, when upper-layer functions propagate these errors > without logging, critical debugging information is lost. > > Add dev_err_probe() in devm_thermal_of_zone_register() to unify > error reporting. ... > 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"); We do not add error messages for ENOMEM. > return ERR_PTR(-ENOMEM); Even if you want so eagerly to do that, it should be return dev_err_probe(); But, it will ignore the ENOMEM error code for printing. > + } So, the bottom line, no need to add this message here. ... > tzd = thermal_of_zone_register(dev->of_node, sensor_id, data, ops); > if (IS_ERR(tzd)) { > + dev_err_probe(dev, PTR_ERR(tzd), > + "Failed to register thermal zone sensor[%d]\n", sensor_id); > devres_free(ptr); > return tzd; I don't see how ptr is related to the mesasge. Can't we use return dev_err_probe(dev, PTR_ERR(...), ...); instead? -- With Best Regards, Andy Shevchenko