On Wed, Feb 26, 2020 at 04:39:05PM +0000, Mark Brown wrote: > On Wed, Feb 26, 2020 at 05:17:57PM +0100, Uwe Kleine-König wrote: > > On Mon, Feb 24, 2020 at 04:58:59PM +0000, Mark Brown wrote: > > > > This then means that there's no way for users to determine why the > > > driver has failed to instantiate which can be frustrating. It'd be > > > better to at least have some dev_dbg() output when deferring so that > > > there's something for people to go on without having to instrument the > > > code. > > > Not printing an error message is quite usual however. I think a generic > > Usual yet also frustraing. > > > approach that for example makes the list of devices that should be > > retried to probe on the next opportunity inspectable would be nice. > > That's not really the issue, the bigger issue is trying to figure out > why things are stuck - what exactly caused things to fail to > instantiate. I wonder if we should do something like: ret = some_call(some, args); if (ret) { if (emit_errmsg_for_err(ret)) dev_err(dev, "some_call failed: %pE\n", ERR_PTR(ret)); return ret; } and have emit_errmsg_for_err return true if ret != -EPROBE_DEFER or some kernel parameter is given. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |