On Sat, Mar 20, 2021 at 1:07 PM Martin Herdeis <martinherdeis@gmx.de> wrote:
Hello,
I am trying to learn more about the kernel build system and due to that I tried the following in the top level Kconfig file right at the beginning:
config FOO tristate prompt "FOO" config BAR tristate "BAR" if FOO
i suspect that last line - it feels like a thinko, combining a declaration and a dependency. moreover, `ack tristate` (recursive grep w other nicetohaves) shows 0 such uses. heres typical usage drivers/infiniband/hw/hfi1/Kconfig 3: tristate "Intel OPA Gen1 support" drivers/infiniband/hw/vmw_pvrdma/Kconfig 3: tristate "VMware Paravirtualized RDMA Driver" drivers/infiniband/hw/mlx4/Kconfig 3: tristate "Mellanox ConnectX HCA support" drivers/infiniband/hw/mthca/Kconfig 3: tristate "Mellanox HCA support" drivers/infiniband/hw/qib/Kconfig 3: tristate "Intel PCIe HCA support"
default y
Then I do a make menuconfig and choose the config option FOO with "m" then the config option BAR shows up with "y". if I exit and save this constellation m/y shows up in the .config file. But as I understand the logic the value of the config option FOO defines the upper level for the value of the config option BAR.
When I do just a make menuconfig again both options show up as m even though in the .config file they are still saved as y/m.
Is that a problem with the default value of BAR? Am I not supposed to give it a default value out of range when FOO is m?
Thank you,
Martin _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies