driver-core: enable drivers to opt-out of async probe
[deliverable/linux.git] / drivers / base / dd.c
index 2ad33b21888c855b9c30160df78b9865113ef2a9..39292535c74e1a9efa33d043a8d5a62c92ca157d 100644 (file)
@@ -419,7 +419,19 @@ int driver_probe_device(struct device_driver *drv, struct device *dev)
 
 bool driver_allows_async_probing(struct device_driver *drv)
 {
-       return drv->probe_type == PROBE_PREFER_ASYNCHRONOUS;
+       switch (drv->probe_type) {
+       case PROBE_PREFER_ASYNCHRONOUS:
+               return true;
+
+       case PROBE_FORCE_SYNCHRONOUS:
+               return false;
+
+       default:
+               if (drv->owner && drv->owner->async_probe_requested)
+                       return true;
+
+               return false;
+       }
 }
 
 struct device_attach_data {
This page took 0.024875 seconds and 5 git commands to generate.