Message ID | 20220908104337.11940-5-lukas.bulwahn@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Remove CONFIG_EMBEDDED | expand |
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
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>
diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig index 661818e8fed6..c815824a0b2d 100644 --- a/drivers/usb/chipidea/Kconfig +++ b/drivers/usb/chipidea/Kconfig @@ -34,26 +34,26 @@ config USB_CHIPIDEA_HOST ChipIdea driver. config USB_CHIPIDEA_PCI - tristate "Enable PCI glue driver" if EMBEDDED + tristate "Enable PCI glue driver" if EXPERT depends on USB_PCI depends on NOP_USB_XCEIV default USB_CHIPIDEA config USB_CHIPIDEA_MSM - tristate "Enable MSM hsusb glue driver" if EMBEDDED + tristate "Enable MSM hsusb glue driver" if EXPERT default USB_CHIPIDEA config USB_CHIPIDEA_IMX - tristate "Enable i.MX USB glue driver" if EMBEDDED + tristate "Enable i.MX USB glue driver" if EXPERT depends on OF default USB_CHIPIDEA config USB_CHIPIDEA_GENERIC - tristate "Enable generic USB2 glue driver" if EMBEDDED + tristate "Enable generic USB2 glue driver" if EXPERT default USB_CHIPIDEA config USB_CHIPIDEA_TEGRA - tristate "Enable Tegra USB glue driver" if EMBEDDED + tristate "Enable Tegra USB glue driver" if EXPERT depends on OF default USB_CHIPIDEA
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(-)