Hello, On Thu, Jun 13, 2024 at 05:54:31PM +0200, Jerome Brunet wrote: > > + for (i = 0; i < MESON_NUM_PWMS; i++) { > > + meson->channels[i].clk = of_clk_get(np, i); > > + if (IS_ERR(meson->channels[i].clk)) > > + return dev_err_probe(dev, > > + PTR_ERR(meson->channels[i].clk), > > + "Failed to get clk\n"); > > here it is ok but .. > > > + > > + ret = devm_add_action_or_reset(dev, meson_pwm_s4_put_clk, > > + meson->channels[i].clk); > > + if (ret) > > + return dev_err_probe(dev, ret, > > + "Failed to add clk_put action\n"); > > ... here, devm_add_action_or_reset cannot defer, so dev_err_probe is not useful. > dev_err() if you must print something. Just "return ret;" would be fine > by me I don't agree. dev_err_probe() has several purposes. Only one of them is handling -EPROBE_DEFER. See also commit 532888a59505da2a3fbb4abac6adad381cedb374. So yes, please use dev_err_probe() also to handle devm_add_action_or_reset(). Best regards Uwe
Attachment:
signature.asc
Description: PGP signature