aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/base/dd.c2
-rw-r--r--include/linux/module.h11
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 42e97d90a59a..8da8e071f01d 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -427,7 +427,7 @@ bool driver_allows_async_probing(struct device_driver *drv)
return false;
default:
- if (drv->owner && drv->owner->async_probe_requested)
+ if (module_requested_async_probing(drv->owner))
return true;
return false;
diff --git a/include/linux/module.h b/include/linux/module.h
index f46a47d3c0dc..57f5c0a804c0 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -510,6 +510,11 @@ int unregister_module_notifier(struct notifier_block *nb);
extern void print_modules(void);
+static inline bool module_requested_async_probing(struct module *module)
+{
+ return module && module->async_probe_requested;
+}
+
#else /* !CONFIG_MODULES... */
/* Given an address, look for it in the exception tables. */
@@ -620,6 +625,12 @@ static inline int unregister_module_notifier(struct notifier_block *nb)
static inline void print_modules(void)
{
}
+
+static inline bool module_requested_async_probing(struct module *module)
+{
+ return false;
+}
+
#endif /* CONFIG_MODULES */
#ifdef CONFIG_SYSFS