[PATCH 01/10] kobject: Always build in kernel/ksysfs.o.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-kernel@...>
Cc: Paul Mundt <lethal@...>, Greg Kroah-Hartman <gregkh@...>
Date: Saturday, February 2, 2008 - 7:55 pm

From: Paul Mundt <lethal@linux-sh.org>

kernel/ksysfs.c seems to be a random dumping group for misc globals
that the rest of the tree depend on. This has caused problems with
exports in the past when sysfs is disabled, which can already be
observed in commit-id 51107301b629640f9ab76fe23bf385e187b9ac29.

The latest one is the kernel_kobj usage, which presently results in:

fs/built-in.o: In function `debugfs_init':
inode.c:(.init.text+0xc34): undefined reference to `kernel_kobj'
make: *** [.tmp_vmlinux1] Error 1

kernel/ksysfs.c itself at this point only contains globals and some
basic sysfs initialization, the sysfs initialization code is optimized
out when we build with sysfs disabled. Given that, it's easier to just
build in unconditionally, rather than trying to find some other random
place to dump and initialize the globals.

Additionally, the current trend seems to be decoupling of kobjects from
sysfs, in which case it still makes sense to perform the kernel_kobj
initialization that happens here even if sysfs is disabled, as
lib/kobject.o is built-in unconditionally.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 kernel/Makefile |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/kernel/Makefile b/kernel/Makefile
index 8885627..db9af70 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -9,7 +9,7 @@ obj-y     = sched.o fork.o exec_domain.o panic.o printk.o profile.o \
 	    rcupdate.o extable.o params.o posix-timers.o \
 	    kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \
 	    hrtimer.o rwsem.o latency.o nsproxy.o srcu.o \
-	    utsname.o notifier.o
+	    utsname.o notifier.o ksysfs.o
 
 obj-$(CONFIG_SYSCTL) += sysctl_check.o
 obj-$(CONFIG_STACKTRACE) += stacktrace.o
@@ -49,7 +49,6 @@ obj-$(CONFIG_AUDIT) += audit.o auditfilter.o
 obj-$(CONFIG_AUDITSYSCALL) += auditsc.o
 obj-$(CONFIG_AUDIT_TREE) += audit_tree.o
 obj-$(CONFIG_KPROBES) += kprobes.o
-obj-$(CONFIG_SYSFS) += ksysfs.o
 obj-$(CONFIG_DETECT_SOFTLOCKUP) += softlockup.o
 obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
 obj-$(CONFIG_SECCOMP) += seccomp.o
-- 
1.5.3.8

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 10/10] Driver core: Remove unneeded get_{device,drive..., Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 09/10] Driver core: Update some prototypes in platfor..., Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 08/10] driver core: convert to use class_find_device ..., Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 07/10] PM: Export device_pm_schedule_removal, Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 06/10] nozomi: finish constification, Greg Kroah-Hartman, (Sat Feb 2, 7:56 pm)
[PATCH 05/10] nozomi: constify driver, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 04/10] nozomi driver update, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 03/10] Add ja_JP translation of stable_kernel_rules.txt, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 02/10] kobject: kerneldoc comment fix, Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)
[PATCH 01/10] kobject: Always build in kernel/ksysfs.o., Greg Kroah-Hartman, (Sat Feb 2, 7:55 pm)