Hi Narendra, On Fri, Oct 11, 2019 at 2:55 PM <Narendra.K@xxxxxxxx> wrote: > On Fri, Oct 11, 2019 at 12:01:25PM +0200, Geert Uytterhoeven wrote: > > > > > > > - bool "EFI Runtime Configuration Interface Table Version 2 Support" > > > > > > > + bool > > > > > > > + prompt "EFI RCI Table Version 2 Support" if X86 || COMPILE_TEST > > > > > > > > Why the split of bool and prompt? > > > > Why not simply add a single line "depends on X86 || COMPILE_TEST"? > > > > > > It is because of the findings shared in [1]. Please let me know your > > > thoughts on the findings. > > > > So you want to prevent the user from seeing a prompt for an option he may > > or may not need to enable, when running "make oldconfig"? > > Geert, > > > The code in question is entirely architecture agnostic, and defaults > > to 'n', so I am not convinced this is needed. (It came up in the > > review as well) > > >> "make oldconfig" still asks me the question on e.g. arm64, where it is > >> irrelevant, until arm64 variants of the hardware show up. > > >> So IMHO it should have "depends on X86 || COMPILE_TEST". > > From the discussion in [1] and [2](pasted a part of it above), my understanding > of the issue you reported is that 'make oldconfig' asks the user a question for arm64 > though the EFI_RCI2_TABLE is not relevant for arm64. From the tests, > it seemed like adding "depends on X86 || COMPILE_TEST" does not fix the > issue, splitting bool into bool + prompt fixes it. > > Please let me know if I am missing any detail in the issue you reported. Adding a "depends on X86 || COMPILE_TEST" should fix the issue, as X86 is never set on arm64, nor on any other architecture than X86. If COMPILE_TEST=y, it's normal expected behavior to show the question. > With the way EFI_RCI2_TABLE is currently defined, my understanding is > that 'make oldconfig' does not set the EFI_RCI2_TABLE to 'y' by default > on arm64, but it asks the user the question. User has to say 'y' if he > wants it to be set to 'y', else by default 'n' is set. This behavior is > as expected. If the option doesn't make sense on arm64 (more broadly: on non-X86), it should depend on X86 || COMPILE_TEST, to avoid spamming the user with (zillions of) options that do not matter for his platform. > > One common approach is to let the Kconfig symbol for the platform (not for > > all of X86!) select EFI_RCI2_TABLE. > > That way it will be enabled automatically when needed. > > We did not intend to enable EFI_RCI2_TABLE option by default even on all > X86 systems from the begining. As a result, we chose to set it to 'n' by > default and added the guidance in 'help' section to say 'y' for Dell EMC > PowerEdge systems. Good. >> > Another approach is to not force the option on, but guide the user towards > > enabling it, by adding "default y if <platform_symbol>". > > As mentioned above, we want to keep the default to n. OK. > > Without the "|| COMPILE_TEST", you cannot enable compile-testing of > > the driver on non-x86 platforms with EFI. > > Ok. We could keep the check. Could we make it independent of platforms > by adding 'defbool y if COMPILE_TEST' ? Please don't do that, as it with always enable the driver if COMPILE_TEST=y, without providing a way to opt-out for the user. Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds