Re: make localmodconfig doesn't work for thunderbolt

From: Masahiro Yamada
Date: Tue Jun 06 2023 - 00:16:49 EST


Hi Jiri,


On Wed, May 10, 2023 at 8:01 PM Jiri Slaby <jirislaby@xxxxxxxxxx> wrote:
>
> Hi,
>
> if I use localmodconfig for example like this:
> mkdir /tmp/tb/
> echo thunderbolt >/tmp/tb/lsmod
> make O=/tmp/tb LSMOD=/tmp/tb/lsmod localmodconfig
>
> I get:
> using config: '.config'
> thunderbolt config not found!!
>
> $ grep 'USB4\>' /tmp/tb/.config
> # CONFIG_USB4 is not set
>
> I believe it's due to:
> obj-${CONFIG_USB4} := thunderbolt.o
> in drivers/thunderbolt/Makefile. I.e. ${} used instead of more common $().
>
> But even if I change the parser:
>
> --- a/scripts/kconfig/streamline_config.pl
> +++ b/scripts/kconfig/streamline_config.pl
> @@ -317,7 +317,7 @@ foreach my $makefile (@makefiles) {
> $_ = convert_vars($_, %make_vars);
>
> # collect objects after obj-$(CONFIG_FOO_BAR)
> - if (/obj-\$\((CONFIG_[^\)]*)\)\s*[+:]?=\s*(.*)/) {
> + if (/obj-\$[({](CONFIG_[^})]*)[)}]\s*[+:]?=\s*(.*)/) {
> $var = $1;
> $objs = $2;
>


Will you send this fix as a patch?






> I see:
> module thunderbolt did not have configs CONFIG_USB4
>
> and:
> $ grep 'USB4\>' /tmp/tb/.config
> # CONFIG_USB4 is not set
>
> So two questions:
> 1) is ${} supported and should be the above change sent as a patch? Or
> should be drivers/thunderbolt/Makefile fixed to use $(). (And maybe
> other Makefiles too.)
>
> 2) how to fix that 'thunderbolt did not have configs'?
>
> thanks,
> --
> js
> suse labs



--
Best Regards
Masahiro Yamada