driver-core: fix build for !CONFIG_MODULES
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 21 May 2015 22:49:37 +0000 (15:49 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 May 2015 19:28:30 +0000 (12:28 -0700)
Commit f2411da74698 ("driver-core: add driver module asynchronous probe
support") broke build in case modules are disabled, because in this case
"struct module" is not defined and we can't dereference it. Let's define
module_requested_async_probing() helper and stub it out if modules are
disabled.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/dd.c
include/linux/module.h

index 42e97d90a59a9dbd762730289771b3e802c099e2..8da8e071f01d37302851e3cf2f5833d916496b68 100644 (file)
@@ -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;
index f46a47d3c0dcfb7f4bcd690095d2d77a1b35d8ee..57f5c0a804c0743c669fb2beda65051cec6b7d28 100644 (file)
@@ -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