You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
4.5 KiB
135 lines
4.5 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../linux26/12-conf-hacks.patch |
|
# Copyright (C) 2008 The OpenSDE Project |
|
# Copyright (C) 2004 - 2008 The T2 SDE Project |
|
# Copyright (C) 1998 - 2003 ROCK Linux Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This patch file is dual-licensed. It is available under the license the |
|
# patched project is licensed under, as long as it is an OpenSource license |
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|
# of the GNU General Public License as published by the Free Software |
|
# Foundation; either version 2 of the License, or (at your option) any later |
|
# version. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
Set all unset options to module. Needed by the T2 SDE Linux kernel |
|
auto configuration. |
|
|
|
Initally written by Clifford Wolf <clifford@clifford.at> and adapted |
|
for various new 2.5/2.6 kernels by Rene Rebe <rene@exactcode.de>. |
|
|
|
diff -ur linux-2.6.27/scripts/kconfig/conf.c linux-2.6.27.work/scripts/kconfig/conf.c |
|
--- linux-2.6.27/scripts/kconfig/conf.c 2008-10-10 00:13:53.000000000 +0200 |
|
+++ linux-2.6.27.work/scripts/kconfig/conf.c 2008-10-19 14:39:10.000000000 +0200 |
|
@@ -22,6 +22,7 @@ |
|
ask_all, |
|
ask_new, |
|
ask_silent, |
|
+ set_no2mod, |
|
set_default, |
|
set_yes, |
|
set_mod, |
|
@@ -438,7 +439,7 @@ |
|
bindtextdomain(PACKAGE, LOCALEDIR); |
|
textdomain(PACKAGE); |
|
|
|
- while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) { |
|
+ while ((opt = getopt(ac, av, "osdD:nmMyrh")) != -1) { |
|
switch (opt) { |
|
case 'o': |
|
input_mode = ask_silent; |
|
@@ -460,6 +461,9 @@ |
|
case 'm': |
|
input_mode = set_mod; |
|
break; |
|
+ case 'M': |
|
+ input_mode = set_no2mod; |
|
+ break; |
|
case 'y': |
|
input_mode = set_yes; |
|
break; |
|
@@ -533,6 +537,9 @@ |
|
else if (!stat("all.config", &tmpstat)) |
|
conf_read_simple("all.config", S_DEF_USER); |
|
break; |
|
+ case set_no2mod: |
|
+ conf_read_simple(".config", S_DEF_USER); |
|
+ break; |
|
default: |
|
break; |
|
} |
|
@@ -559,6 +566,9 @@ |
|
case set_mod: |
|
conf_set_all_new_symbols(def_mod); |
|
break; |
|
+ case set_no2mod: |
|
+ conf_set_all_new_symbols(def_no2mod); |
|
+ break; |
|
case set_random: |
|
conf_set_all_new_symbols(def_random); |
|
break; |
|
diff -ur linux-2.6.27/scripts/kconfig/lkc.h linux-2.6.27.work/scripts/kconfig/lkc.h |
|
--- linux-2.6.27/scripts/kconfig/lkc.h 2008-10-10 00:13:53.000000000 +0200 |
|
+++ linux-2.6.27.work/scripts/kconfig/lkc.h 2008-10-19 14:14:59.000000000 +0200 |
|
@@ -46,6 +46,7 @@ |
|
def_default, |
|
def_yes, |
|
def_mod, |
|
+ def_no2mod, |
|
def_no, |
|
def_random |
|
}; |
|
diff -ur linux-2.6.27/scripts/kconfig/Makefile linux-2.6.27.work/scripts/kconfig/Makefile |
|
--- linux-2.6.27/scripts/kconfig/Makefile 2008-10-10 00:13:53.000000000 +0200 |
|
+++ linux-2.6.27.work/scripts/kconfig/Makefile 2008-10-19 14:14:59.000000000 +0200 |
|
@@ -2,7 +2,7 @@ |
|
# Kernel configuration targets |
|
# These targets are used from top-level makefile |
|
|
|
-PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config |
|
+PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig no2modconfig update-po-config |
|
|
|
Kconfig := arch/$(SRCARCH)/Kconfig |
|
|
|
@@ -61,6 +61,9 @@ |
|
allmodconfig: $(obj)/conf |
|
$< -m $(Kconfig) |
|
|
|
+no2modconfig: scripts/kconfig/conf |
|
+ $< -M $(Kconfig) |
|
+ |
|
defconfig: $(obj)/conf |
|
ifeq ($(KBUILD_DEFCONFIG),) |
|
$< -d $(Kconfig) |
|
@@ -83,6 +86,7 @@ |
|
@echo ' randconfig - New config with random answer to all options' |
|
@echo ' defconfig - New config with default answer to all options' |
|
@echo ' allmodconfig - New config selecting modules when possible' |
|
+ @echo ' no2modconfig - New config selecting modules for disabled options' |
|
@echo ' allyesconfig - New config where all options are accepted with yes' |
|
@echo ' allnoconfig - New config where all options are answered with no' |
|
|
|
--- linux-2.6.27.vanilla/scripts/kconfig/confdata.c 2008-10-10 00:13:53.000000000 +0200 |
|
+++ linux-2.6.27/scripts/kconfig/confdata.c 2008-10-20 12:45:07.000000000 +0200 |
|
@@ -824,6 +824,17 @@ |
|
for_all_symbols(i, sym) { |
|
if (sym_has_value(sym)) |
|
continue; |
|
+ if ((mode == def_no2mod) && (sym_get_type(sym) == S_TRISTATE)) { |
|
+ if (sym_get_tristate_value(sym) == no) |
|
+ fprintf(stderr, "Setting %s to 'm'.\n", sym->name); |
|
+ if (sym_get_tristate_value(sym) == mod) |
|
+ fprintf(stderr, "Keep %s as 'm'.\n", sym->name); |
|
+ if (sym_get_tristate_value(sym) != yes) |
|
+ sym->def[S_DEF_USER].tri = mod; |
|
+ if (!sym_is_choice(sym)) |
|
+ sym->flags |= SYMBOL_DEF_USER; |
|
+ continue; |
|
+ } |
|
switch (sym_get_type(sym)) { |
|
case S_BOOLEAN: |
|
case S_TRISTATE:
|
|
|