This is essentially a revert of
86f69fe9c069dd8608d238581eea259caa1dfc99
("Staging: workaround build system bug"), but to call it a revert would
imply it was wrong -- rather it seems more like it is just no longer
required anymore.
It doesn't list the full details of the failing use case, but the most
obvious would appear to be a "make allnoconfig" that subsequently had set
just CONFIG_STAGING=y in the .config file, to give:
paul@builder:~/git/linux-head$ grep STAGING ../staging-allno/.config
CONFIG_STAGING=y
# CONFIG_STAGING_MEDIA is not set
# CONFIG_STAGING_BOARD is not set
paul@builder:~/git/linux-head$
After building this .config (on ARM, just to be different), we see that
built-in.o is created, and the final vmlinux links OK:
paul@builder:~/git/linux-head$ ls -l ../staging-allno/drivers/staging/built-in.o
-rw-rw-r-- 1 paul paul 257 Nov 16 18:06 ../staging-allno/drivers/staging/built-in.o
paul@builder:~/git/linux-head$ file ../staging-allno/drivers/staging/built-in.o
../staging-allno/drivers/staging/built-in.o: ELF 32-bit LSB relocatable, ARM, version 1, not stripped
paul@builder:~/git/linux-head$ nm ../staging-allno/drivers/staging/built-in.o
nm: ../staging-allno/drivers/staging/built-in.o: no symbols
paul@builder:~/git/linux-head$ ls -l ../staging-allno/vmlinux
-rwxrwxr-x 1 paul paul 1236326 Nov 16 18:07 ../staging-allno/vmlinux
paul@builder:~/git/linux-head$
I also tested an "allmodconfig" and did not see any problems there
either. Switching back to x86-64 and testing several things there didn't
show any issues either. So it appears we do not need to carry the
workaround in tree any longer.
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: Michal Marek <mmarek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
# Makefile for staging directory
-# fix for build system bug...
-obj-$(CONFIG_STAGING) += staging.o
-
obj-y += media/
obj-$(CONFIG_SLICOSS) += slicoss/
obj-$(CONFIG_PRISM2_USB) += wlan-ng/
+++ /dev/null
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/module.h>
-
-static int __init staging_init(void)
-{
- return 0;
-}
-
-static void __exit staging_exit(void)
-{
-}
-
-module_init(staging_init);
-module_exit(staging_exit);
-
-MODULE_AUTHOR("Greg Kroah-Hartman");
-MODULE_DESCRIPTION("Staging Core");
-MODULE_LICENSE("GPL");