android_kernel_oneplus_msm8998/scripts
Tejun Heo 551559e13a kbuild: implement modules.order
When multiple built-in modules (especially drivers) provide the same
capability, they're prioritized by link order specified by the order
listed in Makefile.  This implicit ordering is lost for loadable
modules.

When driver modules are loaded by udev, what comes first in
modules.alias file is selected.  However, the order in this file is
indeterministic (depends on filesystem listing order of installed
modules).  This causes confusion.

The solution is two-parted.  This patch updates kbuild such that it
generates and installs modules.order which contains the name of
modules ordered according to Makefile.  The second part is update to
depmod such that it generates output files according to this file.

Note that both obj-y and obj-m subdirs can contain modules and
ordering information between those two are lost from beginning.
Currently obj-y subdirs are put before obj-m subdirs.

Sam Ravnborg cleaned up Makefile modifications and suggested using awk
to remove duplicate lines from modules.order instead of using separate
C program.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Bill Nottingham <notting@redhat.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Jon Masters <jonathan@jonmasters.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-01-28 23:14:35 +01:00
..
basic kernel-doc: new P directive for DOC: sections 2008-01-28 23:14:35 +01:00
genksyms kbuild: apply genksyms changes 2007-10-12 21:15:31 +02:00
kconfig kconfig: obey KCONFIG_ALLCONFIG choices with randconfig. 2007-12-23 12:54:37 -08:00
ksymoops Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mod Module autoprobing support for virtio drivers. 2007-10-23 15:49:55 +10:00
package kbuild: make deb-pkg - add 'Provides:' line 2007-10-18 15:15:53 +02:00
rt-tester [PATCH] rtmutex: Modify rtmutex-tester to test the setscheduler propagation 2006-06-27 17:32:47 -07:00
.gitignore [PATCH] Add unifdef to gitignore 2006-10-02 19:46:55 -07:00
bin2c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binoffset.c update the email address of Randy Dunlap 2006-01-03 13:37:51 +01:00
bloat-o-meter fix bloat-o-meter for ppc64 2007-12-17 19:28:17 -08:00
checkincludes.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checkkconfigsymbols.sh kbuild: script to check for undefined Kconfig symbols 2007-10-12 21:13:50 +02:00
checkpatch.pl update checkpatch.pl to version 0.12 2007-11-29 09:24:51 -08:00
checkstack.pl Merge branch 'master' of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6 2007-10-20 20:19:15 -07:00
checksyscalls.sh i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
checkversion.pl kbuild: introduce utsrelease.h 2006-07-03 23:30:54 +02:00
cleanfile scripts: Make cleanfile/cleanpatch warn about long lines 2007-07-16 21:15:50 +02:00
cleanpatch scripts: Make cleanfile/cleanpatch warn about long lines 2007-07-16 21:15:50 +02:00
conmakehash.c [PATCH] kbuild: signed char fixes for scripts 2005-07-27 22:27:08 +02:00
decodecode doc/oops-tracing: add Code: decode info 2007-07-16 09:05:48 -07:00
export_report.pl kbuild: fix perl usage in export_report.pl 2007-10-12 21:13:50 +02:00
extract-ikconfig [PATCH] extract-ikconfig: don't use --long-options 2006-03-24 07:33:21 -08:00
gcc-version.sh kbuild: improve scripts/gcc-version.sh output a bit when called without args 2007-10-12 21:15:30 +02:00
gcc-x86_64-has-stack-protector.sh [PATCH] Add the -fstack-protector option to the CFLAGS 2006-09-26 10:52:39 +02:00
gen_initramfs_list.sh kbuild: add support for squashing uid/gid in gen_initramfs_list.sh 2007-07-16 21:15:52 +02:00
hdrcheck.sh Use dependencies for 'make headers_install'. 2006-09-24 22:15:14 +01:00
kallsyms.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-07-19 14:28:19 -07:00
Kbuild.include kbuild: introduce cc-cross-prefix 2007-10-19 21:46:01 +02:00
kernel-doc kernel-doc: process functions, not DOC: 2008-01-28 23:14:35 +01:00
Lindent Fix Lindent to not indent preprocessor comments so far 2007-07-20 08:45:38 -07:00
Makefile [PATCH] allow /proc/config.gz to be built as a module 2006-10-01 00:39:20 -07:00
Makefile.build kbuild: implement modules.order 2008-01-28 23:14:35 +01:00
Makefile.clean kbuild: kill backward compatibility checks 2007-10-12 21:20:32 +02:00
Makefile.headersinst kbuild: use POSIX BRE in headers install target 2007-07-17 14:24:55 +02:00
Makefile.host kbuild: enable use of code from a different dir 2007-05-06 09:23:45 +02:00
Makefile.lib kbuild: implement modules.order 2008-01-28 23:14:35 +01:00
Makefile.modinst kbuild: add option for stripping modules while installing them 2006-06-24 23:16:45 +02:00
Makefile.modpost kbuild: use LDFLAGS_MODULE only for .ko links 2007-07-25 21:18:19 +02:00
makelst kbuild: introduce ccflags-y, asflags-y and ldflags-y 2007-10-15 22:25:06 +02:00
mkcompile_h kbuild: override build timestamp & version 2007-05-02 20:58:09 +02:00
mkmakefile kbuild: re-enable Makefile generation in a new O=... directory 2007-12-13 19:19:20 +01:00
mksysmap spelling: s/retreive/retrieve/ 2006-01-10 00:10:13 +01:00
mkuboot.sh kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE 2007-05-02 20:58:10 +02:00
mkversion Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
namespace.pl x86: fixup the x86 namespace change in scripts/namespace.pl 2007-10-11 17:56:02 +02:00
patch-kernel update the email address of Randy Dunlap 2006-01-03 13:37:51 +01:00
pnmtologo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
profile2linkerlist.pl [PATCH] x86_64: Basic reorder infrastructure 2006-03-25 09:10:56 -08:00
setlocalversion kbuild: append -dirty for updated but uncommited changes 2006-06-17 00:08:17 +02:00
show_delta kbuild: fix mode of checkstack.pl and other files. 2006-04-11 13:37:07 +02:00
unifdef.c kbuild: replace use of strlcpy with a dedicated implmentation in unifdef 2006-09-25 09:00:00 +02:00
ver_linux kbuild: scripts/ver_linux : correct printing of binutils version 2007-10-12 21:15:31 +02:00