|
@@ -201,15 +201,15 @@ extern struct klist *bus_get_device_klist(struct bus_type *bus);
|
|
|
* respective probe routines. This tells the core what to
|
|
|
* expect and prefer.
|
|
|
*
|
|
|
- * @PROBE_DEFAULT_STRATEGY: Drivers expect their probe routines
|
|
|
- * to run synchronously with driver and device registration
|
|
|
- * (with the exception of -EPROBE_DEFER handling - re-probing
|
|
|
- * always ends up being done asynchronously) unless user
|
|
|
- * explicitly requested asynchronous probing via module
|
|
|
- * parameter.
|
|
|
+ * @PROBE_DEFAULT_STRATEGY: Used by drivers that work equally well
|
|
|
+ * whether probed synchronously or asynchronously.
|
|
|
* @PROBE_PREFER_ASYNCHRONOUS: Drivers for "slow" devices which
|
|
|
* probing order is not essential for booting the system may
|
|
|
* opt into executing their probes asynchronously.
|
|
|
+ * @PROBE_FORCE_SYNCHRONOUS: Use this to annotate drivers that need
|
|
|
+ * their probe routines to run synchronously with driver and
|
|
|
+ * device registration (with the exception of -EPROBE_DEFER
|
|
|
+ * handling - re-probing always ends up being done asynchronously).
|
|
|
*
|
|
|
* Note that the end goal is to switch the kernel to use asynchronous
|
|
|
* probing by default, so annotating drivers with
|
|
@@ -220,6 +220,7 @@ extern struct klist *bus_get_device_klist(struct bus_type *bus);
|
|
|
enum probe_type {
|
|
|
PROBE_DEFAULT_STRATEGY,
|
|
|
PROBE_PREFER_ASYNCHRONOUS,
|
|
|
+ PROBE_FORCE_SYNCHRONOUS,
|
|
|
};
|
|
|
|
|
|
/**
|