Thread (13 messages) 13 messages, 4 authors, 2020-07-10

Re: [PATCH v7 2/4] driver core: add deferring probe reason to devices_deferred property

From: Andy Shevchenko <hidden>
Date: 2020-06-29 19:02:50
Also in: dri-devel, lkml

On Mon, Jun 29, 2020 at 2:22 PM Andrzej Hajda [off-list ref] wrote:
/sys/kernel/debug/devices_deferred property contains list of deferred devices.
This list does not contain reason why the driver deferred probe, the patch
improves it.
The natural place to set the reason is dev_err_probe function introduced recently,
ie. if dev_err_probe will be called with -EPROBE_DEFER instead of printk the message
will be attached to deferred device and printed when user read devices_deferred
to a deferred

reads
property.
...
quoted hunk ↗ jump to hunk
@@ -3984,10 +3986,12 @@ int dev_err_probe(const struct device *dev, int err, const char *fmt, ...)
        vaf.fmt = fmt;
        vaf.va = &args;

-       if (err != -EPROBE_DEFER)
+       if (err != -EPROBE_DEFER) {
Why not positive conditional? (Okay, I'm fine with either in this case)
                dev_err(dev, "error %d: %pV", err, &vaf);
-       else
+       } else {
+               device_set_deferred_probe_reson(dev, &vaf);
                dev_dbg(dev, "error %d: %pV", err, &vaf);
+       }
To reduce churn, you may move {} addition to the first patch.

...
        list_for_each_entry(curr, &deferred_probe_pending_list, deferred_probe)
-               seq_printf(s, "%s\n", dev_name(curr->device));
+               seq_printf(s, "%s\t%s", dev_name(curr->device),
+                          curr->device->p->deferred_probe_reason ?: "\n");
Hmm... "\t" will be dangling in the latter case.

-- 
With Best Regards,
Andy Shevchenko

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help