| Date | Mon, 31 Dec 2007 10:05:43 -0800 | From | Randy Dunlap <> | Subject | [PATCH -mm] driver core: build with SYSFS=n |
| |
From: Randy Dunlap <randy.dunlap@oracle.com>
When SYSFS=n and MODULES=y, build ends with:
linux-2.6.24-rc6-mm1/drivers/base/module.c: In function 'module_add_driver': linux-2.6.24-rc6-mm1/drivers/base/module.c:49: error: 'module_kset' undeclared (first use in this function) make[3]: *** [drivers/base/module.o] Error 1
Below is one possible fix. Build-tested with all 4 config combinations of SYSFS & MODULES.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> --- drivers/base/Makefile | 2 ++ drivers/base/base.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
--- linux-2.6.24-rc6-mm1.orig/drivers/base/Makefile +++ linux-2.6.24-rc6-mm1/drivers/base/Makefile @@ -11,7 +11,9 @@ obj-$(CONFIG_FW_LOADER) += firmware_clas obj-$(CONFIG_NUMA) += node.o obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o obj-$(CONFIG_SMP) += topology.o +ifeq ($(CONFIG_SYSFS),y) obj-$(CONFIG_MODULES) += module.o +endif obj-$(CONFIG_SYS_HYPERVISOR) += hypervisor.o ifeq ($(CONFIG_DEBUG_DRIVER),y) --- linux-2.6.24-rc6-mm1.orig/drivers/base/base.h +++ linux-2.6.24-rc6-mm1/drivers/base/base.h @@ -79,7 +79,7 @@ extern char *make_class_name(const char extern int devres_release_all(struct device *dev); -#ifdef CONFIG_MODULES +#if defined(CONFIG_MODULES) && defined(CONFIG_SYSFS) extern void module_add_driver(struct module *mod, struct device_driver *drv); extern void module_remove_driver(struct device_driver *drv); #else
|