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;
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