[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNARdzUro3A00wU7XScXa=582vtY+nZ5-zkN89_3mS70Fag@mail.gmail.com>
Date: Tue, 24 Sep 2024 12:45:12 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: David Hunter <david.hunter.linux@...il.com>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
shuah@...nel.org, javier.carrasco.cruz@...il.com
Subject: Re: [PATCH 4/7] linux-kbuild: fix: ensure selected configs were
turned on in original
On Sat, Sep 14, 2024 at 2:12 AM David Hunter
<david.hunter.linux@...il.com> wrote:
>
> Ensure that only modules that were turned on in the original config are
> turned on in the new config file. When ensuring that the config
> dependencies are met, turning on the config options in the new config
> leads to warnings and errors later in this script, especially for badly
> constructed original config files.
>
> One example could be a config option that is depended on by a module
> needed in the new config but is not turned on in the original config
> file. If this config needs to be selected, warnings will show up in the
> standard output.
>
> Signed-off-by: David Hunter <david.hunter.linux@...il.com>
> ---
> scripts/kconfig/streamline_config.pl | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
> index bb1f19a1ab5e..26e544744579 100755
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -459,7 +459,9 @@ sub parse_config_depends
> next;
> }
>
> - if (!defined($configs{$conf})) {
> + # This script does not turn on any modules, so make sure the config
> + # options are on in the original.
> + if (!defined($configs{$conf}) && defined($orig_configs{$conf})) {
> # We must make sure that this config has its
> # dependencies met.
> $repeat = 1; # do again
I believe defined($orig_configs{$conf} is always true here
because it was already checked a few lines above.
# We only need to process if the depend config is a module
if (!defined($orig_configs{$conf}) || $orig_configs{$conf} eq "y") {
next;
}
If $conf is not present in the original .config,
the 'next' statement skips the current iteration.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists