summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/develop/driver-model/design.rst6
-rw-r--r--drivers/mailbox/zynqmp-ipi.c1
-rw-r--r--drivers/watchdog/da9063-wdt.c1
-rw-r--r--include/dm/device.h5
4 files changed, 8 insertions, 5 deletions
diff --git a/doc/develop/driver-model/design.rst b/doc/develop/driver-model/design.rst
index 92f638a0204..30093737200 100644
--- a/doc/develop/driver-model/design.rst
+++ b/doc/develop/driver-model/design.rst
@@ -843,8 +843,10 @@ steps (see device_probe()):
activated and 'known' by the uclass.
For some platforms, certain devices must be probed to get the platform into
-a working state. To help with this, drivers marked with DM_FLAG_PROBE_AFTER_BIND
-will be probed immediately after all devices are bound. For now, this happens in
+a working state. To help with this, devices marked with DM_FLAG_PROBE_AFTER_BIND
+will be probed immediately after all devices are bound. This flag must be set
+on the device in its ``bind()`` function with
+``dev_or_flags(dev, DM_FLAG_PROBE_AFTER_BIND)``. For now, this happens in
SPL, before relocation and after relocation. See the call to ``dm_autoprobe()``
for where this is done.
diff --git a/drivers/mailbox/zynqmp-ipi.c b/drivers/mailbox/zynqmp-ipi.c
index 713d93a200c..851aa737c03 100644
--- a/drivers/mailbox/zynqmp-ipi.c
+++ b/drivers/mailbox/zynqmp-ipi.c
@@ -270,5 +270,4 @@ U_BOOT_DRIVER(zynqmp_ipi) = {
.id = UCLASS_NOP,
.of_match = zynqmp_ipi_ids,
.probe = zynqmp_ipi_probe,
- .flags = DM_FLAG_PROBE_AFTER_BIND,
};
diff --git a/drivers/watchdog/da9063-wdt.c b/drivers/watchdog/da9063-wdt.c
index b7216b57863..ec9bc033011 100644
--- a/drivers/watchdog/da9063-wdt.c
+++ b/drivers/watchdog/da9063-wdt.c
@@ -145,5 +145,4 @@ U_BOOT_DRIVER(da9063_wdt) = {
.id = UCLASS_WDT,
.of_match = da9063_wdt_ids,
.ops = &da9063_wdt_ops,
- .flags = DM_FLAG_PROBE_AFTER_BIND,
};
diff --git a/include/dm/device.h b/include/dm/device.h
index add67f9ec06..678cd83c271 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -81,7 +81,10 @@ struct driver_info;
*/
#define DM_FLAG_VITAL (1 << 14)
-/* Device must be probed after it was bound */
+/* Device must be probed after it was bound. This flag is per-device and does
+ * nothing if set on a U_BOOT_DRIVER() definition. Apply it with
+ * dev_or_flags(dev, DM_FLAG_PROBE_AFTER_BIND) in the devices bind function.
+ */
#define DM_FLAG_PROBE_AFTER_BIND (1 << 15)
/*