2009-04-30 18:53:45

by Steven Rostedt

[permalink] [raw]
Subject: [PATCH 3/7] kconfig: enable CONFIG_IKCONFIG from streamline_config.pl

From: Steven Rostedt <[email protected]>

Ingo Molnar suggested that the streamline_config.pl should enable
CONFIG_IKCONFIG to keep the current config in the kernel.
Then we can use scripts/extract-ikconfig to find the current
modules.

This patch changes streamline_config.pl to check if CONFIG_IKCONFIG
is not set, and if it is not, it enables it to be a module.

[ Impact: make current config options easier to find ]

Reported-by: Ingo Molnar <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
---
scripts/kconfig/streamline_config.pl | 33 +++++++++++++++++++++++----------
1 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
index caac952..2334641 100644
--- a/scripts/kconfig/streamline_config.pl
+++ b/scripts/kconfig/streamline_config.pl
@@ -256,18 +256,31 @@ my %setconfigs;
# Finally, read the .config file and turn off any module enabled that
# we could not find a reason to keep enabled.
while(<CIN>) {
- if (/^(CONFIG.*)=(m|y)/) {
- if (defined($configs{$1})) {
- $setconfigs{$1} = $2;
- print;
- } elsif ($2 eq "m") {
- print "# $1 is not set\n";
- } else {
- print;
- }
+
+ if (/CONFIG_IKCONFIG/) {
+ if (/# CONFIG_IKCONFIG is not set/) {
+ # enable IKCONFIG at least as a module
+ print "CONFIG_IKCONFIG=m\n";
+ # don't ask about PROC
+ print "# CONFIG_IKCONFIG is not set\n";
+ } else {
+ print;
+ }
+ next;
+ }
+
+ if (/^(CONFIG.*)=(m|y)/) {
+ if (defined($configs{$1})) {
+ $setconfigs{$1} = $2;
+ print;
+ } elsif ($2 eq "m") {
+ print "# $1 is not set\n";
} else {
- print;
+ print;
}
+ } else {
+ print;
+ }
}
close(CIN);

--
1.6.2.1

--


2009-04-30 21:51:43

by Alan Jenkins

[permalink] [raw]
Subject: Re: [PATCH 3/7] kconfig: enable CONFIG_IKCONFIG from streamline_config.pl

On 4/30/09, Steven Rostedt <[email protected]> wrote:
> From: Steven Rostedt <[email protected]>
>
> Ingo Molnar suggested that the streamline_config.pl should enable
> CONFIG_IKCONFIG to keep the current config in the kernel.
> Then we can use scripts/extract-ikconfig to find the current
> modules.
>
> This patch changes streamline_config.pl to check if CONFIG_IKCONFIG
> is not set, and if it is not, it enables it to be a module.
>
> [ Impact: make current config options easier to find ]
>
> Reported-by: Ingo Molnar <[email protected]>
> Signed-off-by: Steven Rostedt <[email protected]>
> ---
> scripts/kconfig/streamline_config.pl | 33
> +++++++++++++++++++++++----------
> 1 files changed, 23 insertions(+), 10 deletions(-)
>
> diff --git a/scripts/kconfig/streamline_config.pl
> b/scripts/kconfig/streamline_config.pl
> index caac952..2334641 100644
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -256,18 +256,31 @@ my %setconfigs;
> # Finally, read the .config file and turn off any module enabled that
> # we could not find a reason to keep enabled.
> while(<CIN>) {
> - if (/^(CONFIG.*)=(m|y)/) {
> - if (defined($configs{$1})) {
> - $setconfigs{$1} = $2;
> - print;
> - } elsif ($2 eq "m") {
> - print "# $1 is not set\n";
> - } else {
> - print;
> - }
> +
> + if (/CONFIG_IKCONFIG/) {
> + if (/# CONFIG_IKCONFIG is not set/) {
> + # enable IKCONFIG at least as a module
> + print "CONFIG_IKCONFIG=m\n";
> + # don't ask about PROC
> + print "# CONFIG_IKCONFIG is not set\n";

I assume the second one should be CONFIG_IKCONFIG_PROC :-).

> + } else {
> + print;
> + }
> + next;
> + }
> +
> + if (/^(CONFIG.*)=(m|y)/) {
> + if (defined($configs{$1})) {
> + $setconfigs{$1} = $2;
> + print;
> + } elsif ($2 eq "m") {
> + print "# $1 is not set\n";
> } else {
> - print;
> + print;
> }

> + } else {
> + print;
> + }


Maybe it would be cleaner make the two "if" blocks the same; i.e. do
this instead:

+ next;
+ }
+
+ print;


> }
> close(CIN);
>

2009-04-30 22:53:37

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH 3/7] kconfig: enable CONFIG_IKCONFIG from streamline_config.pl


On Thu, 30 Apr 2009, Alan Jenkins wrote:
> > +
> > + if (/CONFIG_IKCONFIG/) {
> > + if (/# CONFIG_IKCONFIG is not set/) {
> > + # enable IKCONFIG at least as a module
> > + print "CONFIG_IKCONFIG=m\n";
> > + # don't ask about PROC
> > + print "# CONFIG_IKCONFIG is not set\n";
>
> I assume the second one should be CONFIG_IKCONFIG_PROC :-).

Ag! Thanks!

>
> > + } else {
> > + print;
> > + }
> > + next;
> > + }
> > +
> > + if (/^(CONFIG.*)=(m|y)/) {
> > + if (defined($configs{$1})) {
> > + $setconfigs{$1} = $2;
> > + print;
> > + } elsif ($2 eq "m") {
> > + print "# $1 is not set\n";
> > } else {
> > - print;
> > + print;
> > }
>
> > + } else {
> > + print;
> > + }
>
>
> Maybe it would be cleaner make the two "if" blocks the same; i.e. do
> this instead:

Yeah, that does look cleaner.

-- Steve

>
> + next;
> + }
> +
> + print;
>
>
> > }
> > close(CIN);
> >
>