(1) and (3) are correct but your conclusion is not. The problem is
dep_tristate CONFIG_some_driver $CONFIG_some_arch
where the intention is to allow the driver only if some_arch is set.
When you compile for some_other_arch, CONFIG_some_arch is undefined.
dep_tristate treats undefined variables as "don't care" and we cannot
fix that without changing bash or a major rewrite of the shell scripts.
There are two solutions, either change all such lines to
if [ "$CONFIG_some_arch" = "y" ];then
tristate CONFIG_some_driver
fi
or
define_bool CONFIG_some_arch n
for all architectures at the start, followed by turning on the one that
is required.
Lots of if statements are messy and they will not prevent somebody
adding new options with exactly the same problem. Explicitly setting
all but one arch variable to 'n' results in cleaner config scripts and
new arch dependent driver settings will automatically work.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/