Lines Matching +full:sub +full:- +full:modules

1 #!/usr/bin/perl -w
3 # Copyright 2005-2009 - Steven Rostedt
12 # that turns on way too many modules than you need, and
13 # you only want the modules you use, then this program
16 # It gives you the ability to turn off all the modules that are
25 # 4. Have all your devices that you need modules for connected and
26 # operational (make sure that their corresponding modules are loaded)
33 # Now your kernel is ready to be built with only the modules that
38 # cd /usr/src/linux-2.6.10
39 # cp /boot/config-2.6.10-1-686-smp .config
53 sub dprint {
60 my $uname = `uname -r`;
73 "file" => "/boot/config-$uname",
77 "file" => "/boot/vmlinuz-$uname",
78 "exec" => "scripts/extract-ikconfig",
79 "test" => "scripts/extract-ikconfig",
83 "exec" => "scripts/extract-ikconfig",
84 "test" => "scripts/extract-ikconfig",
87 "file" => "/lib/modules/$uname/kernel/kernel/configs.ko",
88 "exec" => "scripts/extract-ikconfig",
89 "test" => "scripts/extract-ikconfig",
93 "exec" => "scripts/extract-ikconfig",
94 "test" => "scripts/extract-ikconfig",
98 "exec" => "scripts/extract-ikconfig",
99 "test" => "scripts/extract-ikconfig",
103 sub read_config {
105 my $file = $conf->{"file"};
107 next if ( ! -f "$file");
109 if (defined($conf->{"test"})) {
110 `$conf->{"test"} $conf->{"file"} 2>/dev/null`;
114 my $exec = $conf->{"exec"};
118 open(my $infile, '-|', "$exec $file") || die "Failed to run $exec $file";
140 my @makefiles = `find $ksource -name Makefile -or -name Kbuild 2>/dev/null`;
154 sub read_kconfig {
248 $deps =~ s/^[^a-zA-Z0-9_]*//;
249 $deps =~ s/[^a-zA-Z0-9_]*$//;
251 my @deps = split /[^a-zA-Z0-9_]+/, $deps;
257 $iflevel-- if ($iflevel);
260 } elsif (/^\s*(---)?help(---)?\s*$/ || /^(comment|choice|menu)\b/) {
272 sub convert_vars {
318 # collect objects after obj-$(CONFIG_FOO_BAR)
319 if (/obj-\$\((CONFIG_[^\)]*)\)\s*[+:]?=\s*(.*)/) {
329 $obj =~ s/-/_/g;
351 my %modules;
355 if ( ! -f $lsmod_file) {
356 if ( -f $ENV{'objtree'}."/".$lsmod_file) {
363 my $otype = ( -x $lsmod_file) ? '-|' : '<';
368 # see what modules are loaded on this system
372 if ( -x "$dir/lsmod" ) {
382 open($linfile, '-|', $lsmod) || die "Can not call lsmod with $lsmod";
388 $modules{$1} = 1;
394 # a loaded module. This is a direct obj-${CONFIG_FOO} += bar.o
397 foreach my $module (keys(%modules)) {
423 my $valid = "A-Za-z_0-9";
445 sub parse_config_depends
484 sub parse_config_selects
541 sub loop_depend {
572 sub loop_select {
623 } elsif ($orig_cert ne $default_cert && ! -f $orig_cert) {
637 if (! -f $orig_keys) {
664 # Integrity check, make sure all modules that we want enabled do
667 foreach my $module (keys(%modules)) {