Message ID | 20220908104337.11940-1-lukas.bulwahn@gmail.com |
---|---|
Headers | show |
Series | Remove CONFIG_EMBEDDED | expand |
On Thu, Sep 8, 2022 at 7:43 PM Lukas Bulwahn <lukas.bulwahn@gmail.com> wrote: > > Commit 6a108a14fa35 ("kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT") > introduces CONFIG_EXPERT to carry the previous intent of CONFIG_EMBEDDED > and just gives that intent a much better name. That has been clearly a good > and long overdue renaming, and it is clearly an improvement to the kernel > build configuration that has shown to help managing the kernel build > configuration in the last decade. > > However, rather than bravely and radically just deleting CONFIG_EMBEDDED, > this commit gives CONFIG_EMBEDDED a new intended semantics, but keeps it > open for future contributors to implement that intended semantics: > > A new CONFIG_EMBEDDED option is added that automatically selects > CONFIG_EXPERT when enabled and can be used in the future to isolate > options that should only be considered for embedded systems (RISC > architectures, SLOB, etc). > > Since then, this CONFIG_EMBEDDED implicitly had two purposes: > > - It can make even more options visible beyond what CONFIG_EXPERT makes > visible. In other words, it may introduce another level of enabling the > visibility of configuration options: always visible, visible with > CONFIG_EXPERT and visible with CONFIG_EMBEDDED. > > - Set certain default values of some configurations differently, > following the assumption that configuring a kernel build for an > embedded system generally starts with a different set of default values > compared to kernel builds for all other kind of systems. > > Considering the first purpose, at the point in time where CONFIG_EMBEDDED > was renamed to CONFIG_EXPERT, CONFIG_EXPERT already made 130 more options > become visible throughout all different menus for the kernel configuration. > Over the last decade, this has gradually increased, so that currently, with > CONFIG_EXPERT, roughly 170 more options become visible throughout all > different menus for the kernel configuration. In comparison, currently with > CONFIG_EMBEDDED enabled, just seven more options are visible, one in x86, > one in arm, and five for the ChipIdea Highspeed Dual Role Controller. > > As the numbers suggest, these two levels of enabling the visibility of even > more configuration options---beyond what CONFIG_EXPERT enables---never > evolved to a good solution in the last decade. In other words, this > additional level of visibility of configuration option with CONFIG_EMBEDDED > compared to CONFIG_EXPERT has since its introduction never become really > valuable. It requires quite some investigation to actually understand what > is additionally visible and it does not differ significantly in complexity > compared to just enabling CONFIG_EXPERT. This CONFIG_EMBEDDED---or any > other config to show more detailed options beyond CONFIG_EXPERT---is > unlikely to be valuable unless somebody puts significant effort in > identifying how such visibility options can be properly split and creating > clear criteria, when some config option is visible with CONFIG_EXPERT and > when some config option is visible only with some further option enabled > beyond CONFIG_EXPERT, such as CONFIG_EMBEDDED attempted to do. For now, it > is much more reasonable to simply make those additional seven options that > visible with CONFIG_EMBEDDED, visible with CONFIG_EXPERT, and then remove > CONFIG_EMBEDDED. If anyone spends significant effort in structuring the > visibility of config options, they may re-introduce suitable new config > options simply as they see fit. > > Make the config ARM_PATCH_PHYS_VIRT visible when CONFIG_EXPERT is enabled. > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> > --- > arch/arm/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 4adfa5dd3556..4b212ab1b281 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -243,7 +243,7 @@ config ARCH_MTD_XIP > bool > > config ARM_PATCH_PHYS_VIRT > - bool "Patch physical to virtual translations at runtime" if EMBEDDED > + bool "Patch physical to virtual translations at runtime" if EXPERT > default y > depends on !XIP_KERNEL && MMU > help > -- > 2.17.1 >
On Thu, Sep 8, 2022 at 7:43 PM Lukas Bulwahn <lukas.bulwahn@gmail.com> wrote: > > Commit 6a108a14fa35 ("kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT") > introduces CONFIG_EXPERT to carry the previous intent of CONFIG_EMBEDDED > and just gives that intent a much better name. That has been clearly a good > and long overdue renaming, and it is clearly an improvement to the kernel > build configuration that has shown to help managing the kernel build > configuration in the last decade. > > However, rather than bravely and radically just deleting CONFIG_EMBEDDED, > this commit gives CONFIG_EMBEDDED a new intended semantics, but keeps it > open for future contributors to implement that intended semantics: > > A new CONFIG_EMBEDDED option is added that automatically selects > CONFIG_EXPERT when enabled and can be used in the future to isolate > options that should only be considered for embedded systems (RISC > architectures, SLOB, etc). > > Since then, this CONFIG_EMBEDDED implicitly had two purposes: > > - It can make even more options visible beyond what CONFIG_EXPERT makes > visible. In other words, it may introduce another level of enabling the > visibility of configuration options: always visible, visible with > CONFIG_EXPERT and visible with CONFIG_EMBEDDED. > > - Set certain default values of some configurations differently, > following the assumption that configuring a kernel build for an > embedded system generally starts with a different set of default values > compared to kernel builds for all other kind of systems. > > Considering the first purpose, at the point in time where CONFIG_EMBEDDED > was renamed to CONFIG_EXPERT, CONFIG_EXPERT already made 130 more options > become visible throughout all different menus for the kernel configuration. > Over the last decade, this has gradually increased, so that currently, with > CONFIG_EXPERT, roughly 170 more options become visible throughout all > different menus for the kernel configuration. In comparison, currently with > CONFIG_EMBEDDED enabled, just seven more options are visible, one in x86, > one in arm, and five for the ChipIdea Highspeed Dual Role Controller. > > As the numbers suggest, these two levels of enabling the visibility of even > more configuration options---beyond what CONFIG_EXPERT enables---never > evolved to a good solution in the last decade. In other words, this > additional level of visibility of configuration option with CONFIG_EMBEDDED > compared to CONFIG_EXPERT has since its introduction never become really > valuable. It requires quite some investigation to actually understand what > is additionally visible and it does not differ significantly in complexity > compared to just enabling CONFIG_EXPERT. This CONFIG_EMBEDDED---or any > other config to show more detailed options beyond CONFIG_EXPERT---is > unlikely to be valuable unless somebody puts significant effort in > identifying how such visibility options can be properly split and creating > clear criteria, when some config option is visible with CONFIG_EXPERT and > when some config option is visible only with some further option enabled > beyond CONFIG_EXPERT, such as CONFIG_EMBEDDED attempted to do. For now, it > is much more reasonable to simply make those additional seven options that > visible with CONFIG_EMBEDDED, visible with CONFIG_EXPERT, and then remove > CONFIG_EMBEDDED. If anyone spends significant effort in structuring the > visibility of config options, they may re-introduce suitable new config > options simply as they see fit. > > Make the config X86_FEATURE_NAMES visible when CONFIG_EXPERT is enabled. > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> > --- > arch/x86/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 2ec0b1eabe86..7807eb1c8df8 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -438,7 +438,7 @@ config SMP > If you don't know what to do here, say N. > > config X86_FEATURE_NAMES > - bool "Processor feature human-readable names" if EMBEDDED > + bool "Processor feature human-readable names" if EXPERT > default y > help > This option compiles in a table of x86 feature bits and corresponding > -- > 2.17.1 >
On Thu, Sep 8, 2022 at 8:33 PM Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote: > > On Thu, Sep 08, 2022 at 12:43:35PM +0200, Lukas Bulwahn wrote: > > Commit 6a108a14fa35 ("kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT") > > introduces CONFIG_EXPERT to carry the previous intent of CONFIG_EMBEDDED > > and just gives that intent a much better name. That has been clearly a good > > and long overdue renaming, and it is clearly an improvement to the kernel > > build configuration that has shown to help managing the kernel build > > configuration in the last decade. > > > > However, rather than bravely and radically just deleting CONFIG_EMBEDDED, > > this commit gives CONFIG_EMBEDDED a new intended semantics, but keeps it > > open for future contributors to implement that intended semantics: > > > > A new CONFIG_EMBEDDED option is added that automatically selects > > CONFIG_EXPERT when enabled and can be used in the future to isolate > > options that should only be considered for embedded systems (RISC > > architectures, SLOB, etc). > > > > Since then, this CONFIG_EMBEDDED implicitly had two purposes: > > > > - It can make even more options visible beyond what CONFIG_EXPERT makes > > visible. In other words, it may introduce another level of enabling the > > visibility of configuration options: always visible, visible with > > CONFIG_EXPERT and visible with CONFIG_EMBEDDED. > > > > - Set certain default values of some configurations differently, > > following the assumption that configuring a kernel build for an > > embedded system generally starts with a different set of default values > > compared to kernel builds for all other kind of systems. > > > > Considering the first purpose, at the point in time where CONFIG_EMBEDDED > > was renamed to CONFIG_EXPERT, CONFIG_EXPERT already made 130 more options > > become visible throughout all different menus for the kernel configuration. > > Over the last decade, this has gradually increased, so that currently, with > > CONFIG_EXPERT, roughly 170 more options become visible throughout all > > different menus for the kernel configuration. In comparison, currently with > > CONFIG_EMBEDDED enabled, just seven more options are visible, one in x86, > > one in arm, and five for the ChipIdea Highspeed Dual Role Controller. > > > > As the numbers suggest, these two levels of enabling the visibility of even > > more configuration options---beyond what CONFIG_EXPERT enables---never > > evolved to a good solution in the last decade. In other words, this > > additional level of visibility of configuration option with CONFIG_EMBEDDED > > compared to CONFIG_EXPERT has since its introduction never become really > > valuable. It requires quite some investigation to actually understand what > > is additionally visible and it does not differ significantly in complexity > > compared to just enabling CONFIG_EXPERT. This CONFIG_EMBEDDED---or any > > other config to show more detailed options beyond CONFIG_EXPERT---is > > unlikely to be valuable unless somebody puts significant effort in > > identifying how such visibility options can be properly split and creating > > clear criteria, when some config option is visible with CONFIG_EXPERT and > > when some config option is visible only with some further option enabled > > beyond CONFIG_EXPERT, such as CONFIG_EMBEDDED attempted to do. For now, it > > is much more reasonable to simply make those additional seven options that > > visible with CONFIG_EMBEDDED, visible with CONFIG_EXPERT, and then remove > > CONFIG_EMBEDDED. If anyone spends significant effort in structuring the > > visibility of config options, they may re-introduce suitable new config > > options simply as they see fit. > > > > Make the configs for usb chipidea glue drivers visible when CONFIG_EXPERT > > is enabled. > > > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > > --- > > drivers/usb/chipidea/Kconfig | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > Now queued up in my USB tree, thanks. > > greg k-h Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>