This patch set provides enough to demo how the Kconfig fragment based defconfigs could be used to simplify both generating and managing the configs used to build Linaro kernels.
This is for the kernel config managment tool and dependent bluprints: https://blueprints.launchpad.net/linux-linaro/+spec/other-kernel-config-mana...
The basic idea is to use a Kconfig fragment to generate the per-board defconfigs. The Kconfig fragments contain a meta-option that defaults to yes, which then selects the needed config values to enable a system.
This has been proposed by others, and we're using Stephen Rothwell's initial patch to start things off.
Once we have the infrasturcture to use Kconfig fragments for defconfigs we had to overcome some limitations: 1) We cannot select items from a choice block 2) We need a way to select for values and modules.
Limitation #1 is resolved by a patch to the kbuild system I made.
Limitation #2 is unsolved, but Jason Hui found a workaround that is sufficient. Basically we can just redefine the default with a short declaration: config VAL default 256 or config VAL default m
With these two solutions, I went forward generating basic Kconfig fragments for omap3, imx51 and vexpress.
Getting per-board defconfigs is only of limited value, because we also want to be able to have a common policy settings for Linaro kernels. Many distros run into this problem, and use .config fragments which are then assembled at package build time.
My solution is to have a Kconfig.distro file, which is patched with Distro specific policy config, such as which filesystems should be enabled, networking policy, debug options, or periphrial driver modules that should be enabled. Basically anything that isn't hardware specific (by that I mean, part of the architecture or wired on the board).
From there, I add in as much of the generic Linaro config policy
as I could, utilizing the config files that were used to build the omap3, imx51 and vexpress hardware packs.
Since the Linaro config polciy is not unified at this point (in other words, each board has totally different set of generic policy options configured). I added the per target differences into the board kconfig fragments.
Ideally we can review and settle down on specific linaro config policy and this generic per-board stuff can go away.
These are initial and rough patches, but are the result of lots of painful manual labor to match the Linaro .configs as closely as possible.
There are a few remaining issues, but these can probably be worked around: 1) Omap has a strange tristate choice option for the usb gadget options. So you can only pick one, or you can pick multiple items as modules. My choice selection patch doesn't yet address this. I need to see how common this style of choice is and see if we can either just make it a non-choice options block or if other fixes are needed.
2) Not having a module selction is a little painful, as the module "default m" entries are numerous and annoyingly separate from the meta-config selects.
3) The Kconfig.distro file should be probably broken up into policy topics, like networking, filesystems, peripherials, etc.
4) The current board Kconfig fragments are named slightly differently from the standard defconfigs to allow testing with both. That will need to be fixed, and the old defconfigs removed prior to submitting.
5) The igep, overo, and panda configs all use the same omap3 config according to the hwpacks. I'm not sure I believe that, but went along with it to get this out the door.
Many thanks to Jason for his help figuring out an approach here.
Feedback and thoughts would be greatly appreciated.
thanks -john
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org
John Stultz (11): kbuild: Allow configs from choice blocks to be selected. kbuild: Use kconfig defaults as defconfig starting point kbuild: Avoid kconfig fragment defconfigs from having odd config order Add blank Kconfig.distro fragment file Initial omap3 Kconfig fragment Initial imx51 defconfig fragment Add initial vexpress defconfig fragment Add Linaro config policy to Kconfig.distro omap3 kconfig fragment changes to align with linaro build Update imx51 to better match linaro configs Update vexpress to be closer to linaro config
Stephen Rothwell (1): kbuild: Enable building defconfigs from Kconfig files
Kconfig.distro | 1754 +++++++++++++++++++++++++++++ arch/arm/configs/Kconfig.imx51 | 503 +++++++++ arch/arm/configs/Kconfig.omap3 | 2430 ++++++++++++++++++++++++++++++++++++++++ arch/arm/configs/Kconfig.vexp | 234 ++++ scripts/kconfig/Makefile | 16 +- scripts/kconfig/symbol.c | 15 +- 6 files changed, 4949 insertions(+), 3 deletions(-) create mode 100644 Kconfig.distro create mode 100644 arch/arm/configs/Kconfig.imx51 create mode 100644 arch/arm/configs/Kconfig.omap3 create mode 100644 arch/arm/configs/Kconfig.vexp
In looking at trying to replace defconfigs with kconfig fragments, one limitation identified is that config items in choice blocks cannot be selected by other config options.
One way to doge this would be to create non-visible meta options that change the choice block's default, but that would require additional meta-configs per-choice config, plus a conditional default per meta-config. That just seemed too ugly.
So I looked into how to allow the choice default to be overrided by a select statment, and the following patch is the result.
I'm very new to kconfig code, so I expect that my changes are probably broken in some subtle way, but in my testing it seems to work. The select only chagnes the default, which can be overrided by the user via the menu. This allows kconfig fragments to work for make defconfig, while not restricting user customization.
Thoughts and feedback (or alternate approaches) would be appreciated.
thanks -john
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- scripts/kconfig/symbol.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index af6e9f3..c4f3e49 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -203,8 +203,6 @@ static void sym_calc_visibility(struct symbol *sym) sym->visible = tri; sym_set_changed(sym); } - if (sym_is_choice_value(sym)) - return; /* defaulting to "yes" if no explicit "depends on" are given */ tri = yes; if (sym->dir_dep.expr) @@ -235,9 +233,22 @@ static void sym_calc_visibility(struct symbol *sym) struct symbol *sym_choice_default(struct symbol *sym) { struct symbol *def_sym; + struct symbol *ret = NULL; struct property *prop; struct expr *e;
+ /* check to see if any are selected */ + prop = sym_get_choice_prop(sym); + expr_list_for_each_sym(prop->expr, e, def_sym) + if (def_sym->rev_dep.tri != no) { + if (ret) + printf("Error! Conflicting selects! %s\n", def_sym->name); + else + ret = def_sym; + } + if (ret) + return ret; + /* any of the defaults visible? */ for_all_defaults(sym, prop) { prop->visible.tri = expr_calc_value(prop->visible.expr);
On Wednesday 09 March 2011 03:32:35 John Stultz wrote:
In looking at trying to replace defconfigs with kconfig fragments, one limitation identified is that config items in choice blocks cannot be selected by other config options.
One way to doge this would be to create non-visible meta options that change the choice block's default, but that would require additional meta-configs per-choice config, plus a conditional default per meta-config. That just seemed too ugly.
So I looked into how to allow the choice default to be overrided by a select statment, and the following patch is the result.
I'm very new to kconfig code, so I expect that my changes are probably broken in some subtle way, but in my testing it seems to work. The select only chagnes the default, which can be overrided by the user via the menu. This allows kconfig fragments to work for make defconfig, while not restricting user customization.
Thoughts and feedback (or alternate approaches) would be appreciated.
thanks -john
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org
The patch looks fine to me (as far as my little Kconfig knowledge goes). Two comments about the submission form though:
* Ideally, the initial description is split into two parts: one that is suitable as a changelog and the other that is your personal comment, including the "thanks" part, and put it below the --- line, so that git can automatically cut it.
* I think you should also Cc the Kconfig maintainer, Roman Zippel zippel@linux-m68k.org, and linux-kbuild@vger.kernel.org.
Arnd
On Wed, Mar 9, 2011 at 1:38 AM, Arnd Bergmann arnd@arndb.de wrote:
On Wednesday 09 March 2011 03:32:35 John Stultz wrote:
In looking at trying to replace defconfigs with kconfig fragments, one limitation identified is that config items in choice blocks cannot be selected by other config options.
One way to doge this would be to create non-visible meta options that change the choice block's default, but that would require additional meta-configs per-choice config, plus a conditional default per meta-config. That just seemed too ugly.
So I looked into how to allow the choice default to be overrided by a select statment, and the following patch is the result.
I'm very new to kconfig code, so I expect that my changes are probably broken in some subtle way, but in my testing it seems to work. The select only chagnes the default, which can be overrided by the user via the menu. This allows kconfig fragments to work for make defconfig, while not restricting user customization.
Thoughts and feedback (or alternate approaches) would be appreciated.
thanks -john
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org
The patch looks fine to me (as far as my little Kconfig knowledge goes). Two comments about the submission form though:
- Ideally, the initial description is split into two parts: one
that is suitable as a changelog and the other that is your personal comment, including the "thanks" part, and put it below the --- line, so that git can automatically cut it.
- I think you should also Cc the Kconfig maintainer, Roman
Zippel zippel@linux-m68k.org, and linux-kbuild@vger.kernel.org.
And linux-kernel. This definitely needs wider circulation, and I'd like to see a push to get this accepted upstream before adding it to the Linaro kernel tree.
g.
On Wed, 2011-03-09 at 09:38 +0100, Arnd Bergmann wrote:
On Wednesday 09 March 2011 03:32:35 John Stultz wrote:
Thoughts and feedback (or alternate approaches) would be appreciated.
thanks -john
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org
The patch looks fine to me (as far as my little Kconfig knowledge goes). Two comments about the submission form though:
- Ideally, the initial description is split into two parts: one
that is suitable as a changelog and the other that is your personal comment, including the "thanks" part, and put it below the --- line, so that git can automatically cut it.
Yea, although early on I tend to be a little more informal, I do usually clean up the commit log before actually submitting anything more then RFC level code.
- I think you should also Cc the Kconfig maintainer, Roman
Zippel zippel@linux-m68k.org, and linux-kbuild@vger.kernel.org.
This patch was actually submitted to both a few weeks ago. In this case, as I'm trying to RFC the overview of what I'm trying to accomplish specifically on the linaro list, I trimmed the cc list. Once I sort out the Linaro distro policy bits, and can drop the last quarter of the patch set, I'll likely resubmit the entirety to the kbuild list (and Roman, although he seems to be MIA these days).
thanks for the feedback! -john
From: Stephen Rothwell sfr@canb.auug.org.au
After this change, doing a "make xxx_defconfig" will check first for a file called arch/<arch>/configs/Kconfig.xxx and use that to generate the .config (effectively starting from an allnoconfig). If that file doesn't exist, it will use arch/<ARCH>/configs/xxx_defconfig as now.
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: Stephen Rothwell sfr@canb.auug.org.au Signed-off-by: John Stultz john.stultz@linaro.org --- scripts/kconfig/Makefile | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 368ae30..f1ef231 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -116,9 +116,21 @@ else $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) endif
-%_defconfig: $(obj)/conf +configs_dir := $(srctree)/arch/$(SRCARCH)/configs +# We check a level of sub directories because arch/powerpc +# has its defconfig files arranged that way +old_defconfigs := $(patsubst $(configs_dir)/%,%,\ + $(wildcard $(configs_dir)/*_defconfig) \ + $(wildcard $(configs_dir)/*/*_defconfig)) +defconfigs := $(patsubst $(configs_dir)/Kconfig.%,%_defconfig,\ + $(wildcard $(configs_dir)/Kconfig.*)) + +$(old_defconfigs): %_defconfig: $(obj)/conf $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
+$(defconfigs): %_defconfig: $(obj)/conf + $(Q)$< -n arch/$(SRCARCH)/configs/Kconfig.$* + # Help text used by make help help: @echo ' config - Update current config utilising a line-oriented program'
Instead of using all no as the starting point for the defconfig use the kconfig defaults.
CC: Grant Likely grant.likely@secretlab.ca CC: Stephen Rothwell sfr@canb.auug.org.au CC: linux-kbuild@vger.kernel.org, CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- scripts/kconfig/Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index f1ef231..320ac75 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -129,7 +129,7 @@ $(old_defconfigs): %_defconfig: $(obj)/conf $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
$(defconfigs): %_defconfig: $(obj)/conf - $(Q)$< -n arch/$(SRCARCH)/configs/Kconfig.$* + $(Q)$< --defconfig=/dev/null arch/$(SRCARCH)/configs/Kconfig.$*
# Help text used by make help help:
Sort of a hack.
With the new kconfig framents, some config items may be defined in a different order then usual. To preserve the normal order, re-run sildentoldconfig after running defconfig.
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- scripts/kconfig/Makefile | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 320ac75..866dbca 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -130,6 +130,8 @@ $(old_defconfigs): %_defconfig: $(obj)/conf
$(defconfigs): %_defconfig: $(obj)/conf $(Q)$< --defconfig=/dev/null arch/$(SRCARCH)/configs/Kconfig.$* +# use oldconfig reorder option properly + $(Q)$< --silentoldconfig $(Kconfig) > /dev/null
# Help text used by make help help:
Here is the intial Kconfig.distro fragment file
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- Kconfig.distro | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) create mode 100644 Kconfig.distro
diff --git a/Kconfig.distro b/Kconfig.distro new file mode 100644 index 0000000..17ea21c --- /dev/null +++ b/Kconfig.distro @@ -0,0 +1,20 @@ +# This is the Kconfig.distro fragment. +# It should be edited to include kconfig fragments +# that is included by arch specific defconfigs to +# set generic CONFIG policy. +# +# For instance, this would be the approprate place +# for selecting network options, common driver modules, +# filesystems or kernel debugging options. +# +# Example: +# +# config generateconfig_DISTRO_YES +# def_bool y +# +# select AUDIT +# select NAMESPACES +# select EXT3_FS +# +# config CUSE +# default m
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- arch/arm/configs/Kconfig.omap3 | 141 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 141 insertions(+), 0 deletions(-) create mode 100644 arch/arm/configs/Kconfig.omap3
diff --git a/arch/arm/configs/Kconfig.omap3 b/arch/arm/configs/Kconfig.omap3 new file mode 100644 index 0000000..82847cf --- /dev/null +++ b/arch/arm/configs/Kconfig.omap3 @@ -0,0 +1,141 @@ +config generateconfig_OMAP3_YES + def_bool y + + + select ARM + select ARCH_OMAP + select ARCH_OMAP3 + select OMAP_RESET_CLOCKS + + select SMP + select EXPERIMENTAL + + select OMAP3_EMU + + select ARM_THUMBEE + select ARM_ERRATA_430973 + + select CPU_FREQ + select CPU_FREQ_STAT_DETAILS + select CPU_FREQ_GOV_POWERSAVE + select CPU_FREQ_GOV_USERSPACE + select CPU_FREQ_GOV_ONDEMAND + select CPU_FREQ_GOV_CONSERVATIVE + select CPU_IDLE + + select TI_DAVINCI_EMAC + select TI_DAVINCI_MDIO + select TI_DAVINCI_CPDMA + + select USB_EHCI_HCD + select USB_EHCI_ROOT_HUB_TT + + select NET + select NETDEVICES + select NET_ETHERNET + + select SPI + select GPIOLIB + select SYSFS + + select SND + select SOUND + select SND_OMAP + select SND_SOC + + select USB_NET + select USB_USBNET + select USB + + select PARPORT + + select FB + + select TWL4030_CORE + + select RTC_CLASS + select I2C + select RTC_DRV_M41T80 + + select MTD + select MTD_NAND + select MTD_ONENAND + + select MMC + + select LEDS + + select FPE_NWFPE + + select MTD_NAND_OMAP2 + select MTD_NAND_OMAP_PREFETCH_DMA + select MTD_ONENAND_VERIFY_WRITE + select MTD_ONENAND_2X_PROGRAM + + select PARPORT_1284 + + select MMC_OMAP_HS + select BACKLIGHT_LCD_SUPPORT + select OABI_COMPAT + + select USB_NET_SMSC95XX + + select GPIO_SYSFS + select SND_OMAP_SOC + + select OMAP2_DSS + select OMAP2_DSS_SDI + + select FB_OMAP2 + select PANEL_GENERIC_DPI + select PANEL_SHARP_LS037V7DW01 + select PANEL_TPO_TD043MTEA1 + + select GPIO_TWL4030 + select TWL4030_CORE + select REGULATOR_TWL4030 + select TWL4030_POWER + select GPIO_PCA953X + select GPIO_PCA953X_IRQ + + select SND_OMAP_SOC_MCBSP + select SND_OMAP_SOC_OVERO + select SND_OMAP_SOC_OMAP3EVM + + select SND_OMAP_SOC_SDP3430 + select SND_OMAP_SOC_SDP4430 + select SND_OMAP_SOC_OMAP3_PANDORA + select SND_OMAP_SOC_OMAP3_BEAGLE + select SND_OMAP_SOC_ZOOM2 + select SND_OMAP_SOC_IGEP0020 + + select INTF_ALARM + select RTC_DRV_TWL4030 + select RTC_DRV_M41T80_WDT + + + +# Enabling OMAP2 makes beagle boards not boot +config ARCH_OMAP2 + default n + +config SWP_EMULATE + default n + +config MACH_DEVKIT8000 + default n + +config MACH_CM_T35 + default n + +config USB_DEVICE_CLASS + default n + +config OMAP2_VRAM_SIZE + default 6 + + + +source "Kconfig.distro" + +source "arch/arm/Kconfig"
On Wednesday 09 March 2011 03:32:40 John Stultz wrote:
+source "Kconfig.distro"
I think we want something more flexible than sourcing a global Kconfig.distro from the board file.
First of all, we want at least three levels, as Amit mentioned: distro, arch, board. I can think of at least another one: "flavor" for common variants of the distro config, e.g. if you want to enable a lot of debugging options or turn your root file systems into =y so you can work without initramfs.
Would it be possible to pass multiple Kconfig fragments to the Kconfig parser instead of just one top-level file that sources all the other ones?
Arnd
On Wed, 2011-03-09 at 09:48 +0100, Arnd Bergmann wrote:
On Wednesday 09 March 2011 03:32:40 John Stultz wrote:
+source "Kconfig.distro"
I think we want something more flexible than sourcing a global Kconfig.distro from the board file.
First of all, we want at least three levels, as Amit mentioned: distro, arch, board. I can think of at least another one: "flavor" for common variants of the distro config, e.g. if you want to enable a lot of debugging options or turn your root file systems into =y so you can work without initramfs.
Would it be possible to pass multiple Kconfig fragments to the Kconfig parser instead of just one top-level file that sources all the other ones?
Yep. I'd like to do exactly this in the future (probably a first pass will just generate a tmp file that sources the multiple fragments provided).
But I wanted to get the proof of concept out there first, so it hasn't been as much of a priority.
thanks -john
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- arch/arm/configs/Kconfig.imx51 | 84 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 84 insertions(+), 0 deletions(-) create mode 100644 arch/arm/configs/Kconfig.imx51
diff --git a/arch/arm/configs/Kconfig.imx51 b/arch/arm/configs/Kconfig.imx51 new file mode 100644 index 0000000..512c9d5 --- /dev/null +++ b/arch/arm/configs/Kconfig.imx51 @@ -0,0 +1,84 @@ +config generateconfig_MX51_YES + def_bool y + select ARM + select ARCH_MXC + select ARCH_MX5 + select ARCH_MX51 + select SOC_IMX51 + select MACH_MX51_BABBAGE + select CPU_FREQ_IMX + select AEABI + select VFP + select NEON + + + select NET + select NET_ETHERNET + select NETDEVICES + select MMC + select GPIOLIB + select RTC_CLASS + select I2C + select USB + select EXPERIMENTAL + + select CPU_FREQ + select CPU_FREQ_STAT_DETAILS + select CPU_FREQ_GOV_POWERSAVE + select CPU_FREQ_GOV_USERSPACE + select CPU_FREQ_GOV_ONDEMAND + select CPU_FREQ_GOV_CONSERVATIVE + + select USB_EHCI_HCD + select USB_EHCI_ROOT_HUB_TT + + select PHYLIB + select USB_EHCI_MXC + select FEC + select SERIAL_IMX + select SERIAL_IMX_CONSOLE + select MMC_SDHCI + select I2C + select GPIO_SYSFS + select MMC_SDHCI_PLTFM + select MMC_SDHCI_ESDHC_IMX + + select GPIO_PCA953X + select GPIO_PCA953X_IRQ + select GPIO_TWL4030 + + select FIXED_PHY + select TWL4030_CORE + select TWL4030_POWER + + select DEBUG_KERNEL + select LATENCYTOP + + select VT_HW_CONSOLE_BINDING + + select RTC_DRV_M41T80_WDT + select RTC_DRV_TWL4030 + select RTC_INTF_DEV_UIE_EMUL + select RTC_DRV_M41T80 + + +config MXC_DEBUG_BOARD + default n + +config DEFAULT_MMAP_MIN_ADDR + default 32768 +config LOG_BUF_SHIFT + default 18 + +config MII + default m +config LEDS_LP5521 + default m +config LEDS_LP5523 + default m + + + +source "Kconfig.distro" + +source "arch/arm/Kconfig"
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- arch/arm/configs/Kconfig.vexp | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) create mode 100644 arch/arm/configs/Kconfig.vexp
diff --git a/arch/arm/configs/Kconfig.vexp b/arch/arm/configs/Kconfig.vexp new file mode 100644 index 0000000..ddcfe5d --- /dev/null +++ b/arch/arm/configs/Kconfig.vexp @@ -0,0 +1,39 @@ +config generateconfig_VXPRESS_YES + def_bool y + select ARM + select ARCH_VEXPRESS + select ARCH_VEXPRESS_CA9X4 + + select IKCONFIG + select IKCONFIG_PROC + + select SWP_EMULATE + select SMP + + select AEABI + select OABI_COMPAT + select HIGHMEM + select BOUNCE + + select VFP + select VFPv3 + + select MTD_ARM_INTEGRATOR + + select EXPERIMENTAL + select MTD + select MTD_CFI + select SOUND + select RTC_CLASS + + +config DEFAULT_MMAP_MIN_ADDR + default 32768 + +config LOG_BUF_SHIFT + default 14 + + +source "Kconfig.distro" + +source "arch/arm/Kconfig"
Here's the initial pass of the Linaro config policy for Kconfig.distro
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- Kconfig.distro | 1734 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1734 insertions(+), 0 deletions(-)
diff --git a/Kconfig.distro b/Kconfig.distro index 17ea21c..bbcd122 100644 --- a/Kconfig.distro +++ b/Kconfig.distro @@ -18,3 +18,1737 @@ # # config CUSE # default m + +config generateconfig_DISTRO_YES + def_bool y + + select EXPERIMENTAL + select SYSVIPC + select POSIX_MQUEUE + select AUDIT + + select NAMESPACES + + + select PERF_EVENTS + + select MODULES + select MODULE_UNLOAD + + select BLOCK + select BLK_DEV_RAM + select BLK_DEV_INITRD + select BLK_DEV + select BLK_DEVL_LOOP + select BLK_DEV_SD + + + + select SECCOMP + select CC_STACKPROTECTOR + + + + + + select NET + select PACKET + select UNIX + select INET + + select SYN_COOKIES + + + select IPV6 + select IPV6_PRIVACY + select IPV6_MULTIPLE_TABLES + select IPV6_SIT_6RD + + + select NETLABEL + select NETWORK_SECMARK + + select VLAN_8021Q_GVRP + + + + + + select IRDA_ULTRA + select IRDA_CACHE_LAST_LSAP + select IRDA_FAST_RR + select IRDA_DEBUG + + + + + select DEVTMPFS + select DEVTMPFS_MOUNT + + + select MTD + select MTD_CMDLINE_PARTS + select MTD_CHAR + select MTD_BLKDEVS + select MTD_BLOCK + + + + select PARPORT_1284 + + select SCSI + select SCSI_DMA + + select SCSI_FC_TGT_ATTRS + + + select MD + select BLK_DEV_MD + select BLK_DEV_DM + select DM_SNAPSHOT + select DM_MIRROR + select DM_MULTIPATH + select DM_UEVENT + + + select NETDEVICES + select NET_ETHERNET + + + + select USB_ALI_M5632 + select USB_AN2720 + select USB_EPSON2888 + select USB_KC2190 + + + select PPP + select PPP_MULTILINK + select PPP_FILTER + + + + + select INPUT_EVDEV + + select INPUT_MISC + select INPUT_UINPUT + + select DONGLE + + select SOUND + select SND + + select USB + + select SSB_SDIOHOST + + + + + + select FB + + + select FRAMEBUFFER_CONSOLE + + + select MMC + select MMC_BLOCK_BOUNCE + + + select EXT2_FS + + select EXT3_FS + + select EXT4_FS + + + select JFS_POSIX_ACL + select JFS_SECURITY + select JFS_STATISTICS + + + select BTRFS_FS_POSIX_ACL + select FS_POSIX_ACL + + select NLS + + select TMPFS + select TMPFS_POSIX_ACL + + select UBIFS_FS_XATTR + + select NETWORK_FILESYSTEMS + select NFS_V3 + + + + + + select WL12XX_MENU + + + + select SERIAL_CORE_CONSOLE + + select RTC_CLASS + select RTC_HCTOSYS + select RTC_INTF_SYSFS + select RTC_INTF_PROC + select RTC_INTF_DEV + + + select MAGIC_SYSRQ + select DETECT_HUNG_TASK + + select DEBUG_KERNEL + select DEBUG_INFO + + select DEBUG_USER + select DEBUG_ERRORS + select DEBUG_LL + + select SECURITY + select SECURITYFS + select SECURITY_NETWORK + select SECURITY_SELINUX + select SECURITY_SELINUX_BOOTPARAM + select SECURITY_SELINUX_DISABLE + + + select SECURITY_SMACK + select SECURITY_TOMOYO + select SECURITY_APPARMOR + + select DEFAULT_SECURITY_APPARMOR + + select STRICT_DEVMEM + + +# Non bool values +# XXX - Each of these should have justification +################################################ +config BLK_DEV_RAM_SIZE + default 65536 + +config DEFAULT_MMAP_MIN_ADDR + default 32768 + +config SERIAL_8250_NR_UARTS + default 32 + +config LSM_MMAP_MIN_ADDR + default 0 + +config NLS_DEFAULT + default "cp437" + +config LEGACY_PTY_COUNT + default 0 + +config SECURITY_SELINUX_BOOTPARAM_VALUE + default 0 + +config ZBOOT_ROM_TEXT + default 0x0 + +config ZBOOT_ROM_BSS + default 0x0 + + +# Overriding default enabled: +# XXX - Each of these should have justification +################################################ +config CC_OPTIMIZE_FOR_SIZE + default n + +config COMPAT_BRK + default n + +config HAVE_GENERIC_HARDIRQS + default n + +config LOCALVERSION_AUTO + default n + +config CORE_DUMP_DEFAULT_ELF_HEADERS + default n + +config ENABLE_WARN_DEPRECATED + default n + +config ENABLE_MUST_CHECK + default n + +config RCU_CPU_STALL_DETECTOR + default n + +config USB_EHCI_TT_NEWSCHED + default n + +config MUSB_PIO_ONLY + default n + +config SCSI_PROC_FS + default n + +config SCSI_SAS_LIBSAS_DEBUG + default n + +config DEVKMEM + default n + +config USB_OTG_WHITELIST + default n + +config REGULATOR_FIXED_VOLTAGE + default n + +config STAGING_EXCLUDE_BUILD + default n + +config I2C_HELPER_AUTO + default n + +config VIDEO_HELPER_CHIPS_AUTO + default n + +config RT2800USB_RT30XX + default n + + +# Modules (this is where it gets gross) +############################################# + +config OPROFILE + default m +config XFRM_IPCOMP + default m +config INET_TUNNEL + default m +config TCP_CONG_HSTCP + default m +config TCP_CONG_HYBLA + default m +config TCP_CONG_VEGAS + default m +config TCP_CONG_SCALABLE + default m +config TCP_CONG_LP + default m +config TCP_CONG_VENO + default m +config TCP_CONG_YEAH + default m +config TCP_CONG_ILLINOIS + default m +config INET6_AH + default m +config INET6_ESP + default m +config INET6_IPCOMP + default m +config INET6_XFRM_TUNNEL + default m +config INET6_TUNNEL + default m +config INET6_XFRM_MODE_ROUTEOPTIMIZATION + default m +config IPV6_SIT + default m +config IPV6_TUNNEL + default m +config IP_VS + default m +config IP_VS_RR + default m +config IP_VS_WRR + default m +config IP_VS_LC + default m +config IP_VS_WLC + default m +config IP_VS_LBLC + default m +config IP_VS_LBLCR + default m +config IP_VS_DH + default m +config IP_VS_SH + default m +config IP_VS_SED + default m +config IP_VS_NQ + default m +config IP_VS_FTP + default m +config NF_DEFRAG_IPV4 + default m +config NF_CONNTRACK_IPV4 + default m +config IP_NF_QUEUE + default m +config IP_NF_IPTABLES + default m +config IP_NF_MATCH_ADDRTYPE + default m +config IP_NF_MATCH_AH + default m +config IP_NF_MATCH_ECN + default m +config IP_NF_MATCH_TTL + default m +config IP_NF_FILTER + default m +config IP_NF_TARGET_REJECT + default m +config IP_NF_TARGET_LOG + default m +config IP_NF_TARGET_ULOG + default m +config NF_NAT + default m +config IP_NF_TARGET_MASQUERADE + default m +config IP_NF_TARGET_NETMAP + default m +config IP_NF_TARGET_REDIRECT + default m +config NF_NAT_SNMP_BASIC + default m +config NF_NAT_PROTO_DCCP + default m +config NF_NAT_PROTO_GRE + default m +config NF_NAT_PROTO_UDPLITE + default m +config NF_NAT_PROTO_SCTP + default m +config NF_NAT_FTP + default m +config NF_NAT_IRC + default m +config NF_NAT_TFTP + default m +config NF_NAT_AMANDA + default m +config NF_NAT_PPTP + default m +config NF_NAT_H323 + default m +config NF_NAT_SIP + default m +config IP_NF_MANGLE + default m +config IP_NF_TARGET_CLUSTERIP + default m +config IP_NF_TARGET_ECN + default m +config IP_NF_TARGET_TTL + default m +config IP_NF_RAW + default m +config IP_NF_SECURITY + default m +config IP_NF_ARPTABLES + default m +config IP_NF_ARPFILTER + default m +config IP_NF_ARP_MANGLE + default m +config NF_DEFRAG_IPV6 + default m +config NF_CONNTRACK_IPV6 + default m +config IP6_NF_QUEUE + default m +config IP6_NF_IPTABLES + default m +config IP6_NF_MATCH_AH + default m +config IP6_NF_MATCH_EUI64 + default m +config IP6_NF_MATCH_FRAG + default m +config IP6_NF_MATCH_OPTS + default m +config IP6_NF_MATCH_HL + default m +config IP6_NF_MATCH_IPV6HEADER + default m +config IP6_NF_MATCH_MH + default m +config IP6_NF_MATCH_RT + default m +config IP6_NF_TARGET_HL + default m +config IP6_NF_TARGET_LOG + default m +config IP6_NF_FILTER + default m +config IP6_NF_TARGET_REJECT + default m +config IP6_NF_MANGLE + default m +config IP6_NF_RAW + default m +config IP6_NF_SECURITY + default m +config DECNET_NF_GRABULATOR + default m +config BRIDGE_NF_EBTABLES + default m +config BRIDGE_EBT_BROUTE + default m +config BRIDGE_EBT_T_FILTER + default m +config BRIDGE_EBT_T_NAT + default m +config BRIDGE_EBT_802_3 + default m +config BRIDGE_EBT_AMONG + default m +config BRIDGE_EBT_ARP + default m +config BRIDGE_EBT_IP + default m +config BRIDGE_EBT_IP6 + default m +config BRIDGE_EBT_LIMIT + default m +config BRIDGE_EBT_MARK + default m +config BRIDGE_EBT_PKTTYPE + default m +config BRIDGE_EBT_STP + default m +config BRIDGE_EBT_VLAN + default m +config BRIDGE_EBT_ARPREPLY + default m +config BRIDGE_EBT_DNAT + default m +config BRIDGE_EBT_MARK_T + default m +config BRIDGE_EBT_REDIRECT + default m +config BRIDGE_EBT_SNAT + default m +config BRIDGE_EBT_LOG + default m +config BRIDGE_EBT_ULOG + default m +config BRIDGE_EBT_NFLOG + default m +config NET_SCTPPROBE + default m +config STP + default m +config GARP + default m +config VLAN_8021Q + default m +config LLC + default m +config LLC2 + default m +config IRDA + default m +config IRLAN + default m +config IRNET + default m +config IRCOMM + default m +config IRTTY_SIR + default m +config ESI_DONGLE + default m +config ACTISYS_DONGLE + default m +config TEKRAM_DONGLE + default m +config TOIM3232_DONGLE + default m +config LITELINK_DONGLE + default m +config MA600_DONGLE + default m +config GIRBIL_DONGLE + default m +config MCP2120_DONGLE + default m +config OLD_BELKIN_DONGLE + default m +config ACT200L_DONGLE + default m +config KINGSUN_DONGLE + default m +config KSDAZZLE_DONGLE + default m +config KS959_DONGLE + default m +config USB_IRDA + default m +config SIGMATEL_FIR + default m +config MCS_FIR + default m +config MTD_CFI_INTELEXT + default m +config MTD_CFI_AMDSTD + default m +config MTD_CFI_UTIL + default m +config PARPORT + default m +config PARPORT_AX88796 + default m +config BLK_DEV_CRYPTOLOOP + default m +config BLK_DEV_DRBD + default m +config BLK_DEV_NBD + default m +config MG_DISK + default m +config TI_ST + default m +config SCSI_TGT + default m +config SCSI_ENCLOSURE + default m +config SCSI_FC_ATTRS + default m +config SCSI_ISCSI_ATTRS + default m +config SCSI_SAS_ATTRS + default m +config SATA_MV + default m +config MD_LINEAR + default m +config MD_RAID0 + default m +config MD_RAID1 + default m +config MD_RAID10 + default m +config MD_RAID456 + default m +config MD_MULTIPATH + default m +config MD_FAULTY + default m +config DM_CRYPT + default m +config DM_ZERO + default m +config DM_MULTIPATH_QL + default m +config DM_MULTIPATH_ST + default m +config IFB + default m +config DUMMY + default m +config LIBERTAS_THINFIRM + default m +config LIBERTAS_THINFIRM_USB + default m +config AT76C50X_USB + default m +config USB_ZD1201 + default m +config USB_NET_RNDIS_WLAN + default m +config RTL8187 + default m +config MAC80211_HWSIM + default m +config ATH_COMMON + default m +config ATH9K_HW + default m +config ATH9K_COMMON + default m +config ATH9K_HTC + default m +config AR9170_USB + default m +config B43 + default m +config B43LEGACY + default m +config HOSTAP + default m +config IWM + default m +config LIBERTAS + default m +config LIBERTAS_USB + default m +config LIBERTAS_SDIO + default m +config LIBERTAS_SPI + default m +config P54_COMMON + default m +config P54_USB + default m +config P54_SPI + default m +config RT2X00 + default m +config RT2500USB + default m +config RT73USB + default m +config RT2800USB + default m +config RT2800_LIB + default m +config RT2X00_LIB_USB + default m +config RT2X00_LIB + default m +config WL1251 + default m +config WL1251_SPI + default m +config WL1251_SDIO + default m +config WL12XX + default m +config WL1271 + default m +config WL1271_SPI + default m +config WL1271_SDIO + default m + +config ZD1211RW + default m +config USB_USBNET + default m +config USB_NET_AX8817X + default m +config USB_NET_CDCETHER + default m +config USB_NET_CDC_EEM + default m +config USB_NET_DM9601 + default m +config USB_NET_SMSC75XX + default m +config USB_NET_SMSC95XX + default m +config USB_NET_GL620A + default m +config USB_NET_NET1080 + default m +config USB_NET_PLUSB + default m +config USB_NET_MCS7830 + default m +config USB_NET_RNDIS_HOST + default m +config USB_NET_CDC_SUBSET + default m +config USB_NET_ZAURUS + default m +config USB_HSO + default m +config USB_NET_INT51X1 + default m +config USB_CDC_PHONET + default m +config USB_SIERRA_NET + default m +config HDLC_X25 + default m +config WAN_ROUTER_DRIVERS + default m +config ATM_DUMMY + default m +config ATM_TCP + default m +config IEEE802154_DRIVERS + default m +config CAIF_TTY + default m +config PLIP + default m +config PPP_ASYNC + default m +config PPP_SYNC_TTY + default m +config PPP_DEFLATE + default m +config PPP_BSDCOMP + default m +config PPP_MPPE + default m +config PPPOE + default m +config PPPOATM + default m +config PPPOL2TP + default m +config ISDN_I4L + default m +config ISDN_PPP_BSDCOMP + default m +config ISDN_DIVERSION + default m +config ISDN_DRV_HISAX + default m +config HISAX_ST5481 + default m +config HISAX_HFCUSB + default m +config HISAX_HFC4S8S + default m +config ISDN_CAPI + default m +config ISDN_CAPI_CAPI20 + default m +config ISDN_CAPI_CAPIFS + default m +config ISDN_CAPI_CAPIDRV + default m +config ISDN_DRV_GIGASET + default m +config GIGASET_BASE + default m +config GIGASET_M105 + default m +config GIGASET_M101 + default m +config MISDN + default m +config MISDN_DSP + default m +config MISDN_L1OIP + default m +config MISDN_HFCUSB + default m +config ISDN_HDLC + default m +config KEYBOARD_ADP5520 + default m +config KEYBOARD_GPIO + default m +config KEYBOARD_GPIO_POLLED + default m +config KEYBOARD_MATRIX + default m +config KEYBOARD_OMAP4 + default m +config KEYBOARD_TWL4030 + default m +config MOUSE_PS2 + default m +config MOUSE_GPIO + default m +config JOYSTICK_ANALOG + default m +config JOYSTICK_A3D + default m +config JOYSTICK_ADI + default m +config JOYSTICK_COBRA + default m +config JOYSTICK_GF2K + default m +config JOYSTICK_GRIP + default m +config JOYSTICK_GRIP_MP + default m +config JOYSTICK_GUILLEMOT + default m +config JOYSTICK_INTERACT + default m +config JOYSTICK_SIDEWINDER + default m +config JOYSTICK_TMDC + default m +config JOYSTICK_IFORCE + default m +config JOYSTICK_WARRIOR + default m +config JOYSTICK_MAGELLAN + default m +config JOYSTICK_SPACEORB + default m +config JOYSTICK_SPACEBALL + default m +config JOYSTICK_STINGER + default m +config JOYSTICK_TWIDJOY + default m +config JOYSTICK_ZHENHUA + default m +config JOYSTICK_DB9 + default m +config JOYSTICK_GAMECON + default m +config JOYSTICK_TURBOGRAFX + default m +config JOYSTICK_JOYDUMP + default m +config JOYSTICK_XPAD + default m +config JOYSTICK_WALKERA0701 + default m +config TABLET_USB_ACECAD + default m +config TABLET_USB_AIPTEK + default m +config TABLET_USB_GTCO + default m +config TABLET_USB_HANWANG + default m +config TABLET_USB_KBTAB + default m +config TABLET_USB_WACOM + default m +config TOUCHSCREEN_88PM860X + default m +config TOUCHSCREEN_ADS7846 + default m +config TOUCHSCREEN_AD7877 + default m +config TOUCHSCREEN_AD7879 + default m +config TOUCHSCREEN_AD7879_I2C + default m +config TOUCHSCREEN_BU21013 + default m +config TOUCHSCREEN_DA9034 + default m +config TOUCHSCREEN_DYNAPRO + default m +config TOUCHSCREEN_HAMPSHIRE + default m +config TOUCHSCREEN_EETI + default m +config TOUCHSCREEN_FUJITSU + default m +config TOUCHSCREEN_GUNZE + default m +config TOUCHSCREEN_ELO + default m +config TOUCHSCREEN_WACOM_W8001 + default m +config TOUCHSCREEN_MCS5000 + default m +config TOUCHSCREEN_MTOUCH + default m +config TOUCHSCREEN_INEXIO + default m +config TOUCHSCREEN_MK712 + default m +config TOUCHSCREEN_PENMOUNT + default m +config TOUCHSCREEN_TOUCHRIGHT + default m +config TOUCHSCREEN_TOUCHWIN + default m +config TOUCHSCREEN_UCB1400 + default m +config TOUCHSCREEN_WM97XX + default m +config TOUCHSCREEN_USB_COMPOSITE + default m +config TOUCHSCREEN_TOUCHIT213 + default m +config TOUCHSCREEN_TSC2007 + default m +config TOUCHSCREEN_W90X900 + default m +config TOUCHSCREEN_PCAP + default m +config TOUCHSCREEN_TPS6507X + default m +config INPUT_88PM860X_ONKEY + default m +config INPUT_AD714X + default m +config INPUT_AD714X_SPI + default m +config INPUT_MAX8925_ONKEY + default m +config INPUT_ATI_REMOTE + default m +config INPUT_ATI_REMOTE2 + default m +config INPUT_KEYSPAN_REMOTE + default m +config INPUT_POWERMATE + default m +config INPUT_YEALINK + default m +config INPUT_CM109 + default m +config INPUT_TWL4030_PWRBUTTON + default m +config INPUT_TWL4030_VIBRA + default m +config INPUT_PCF50633_PMU + default m +config INPUT_GPIO_ROTARY_ENCODER + default m +config INPUT_PCAP + default m +config SERIO_PARKBD + default m +config N_HDLC + default m +config RISCOM8 + default m +config SPECIALIX + default m +config SERIAL_MAX3100 + default m +config PRINTER + default m +config PPDEV + default m +config SPI_BITBANG + default m +config SPI_BUTTERFLY + default m +config SPI_GPIO + default m +config SPI_LM70_LLP + default m +config SPI_OMAP24XX + default m +config SPI_DESIGNWARE + default m +config SPI_TLE62X0 + default m +config GPIO_MAX730X + default m +config GPIO_IT8761E + default m +config GPIO_MAX7300 + default m +config GPIO_WM8350 + default m +config GPIO_WM8994 + default m +config GPIO_ADP5520 + default m +config GPIO_ADP5588 + default m +config GPIO_MAX7301 + default m +config GPIO_MCP23S08 + default m +config GPIO_MC33880 + default m +config OMAP_WATCHDOG + default m +config TWL4030_WATCHDOG + default m +config MAX63XX_WATCHDOG + default m +config USBPCWATCHDOG + default m +config SSB + default m +config TPS65010 + default m +config AB3100_OTP + default m +config REGULATOR_VIRTUAL_CONSUMER + default m +config REGULATOR_USERSPACE_CONSUMER + default m +config REGULATOR_BQ24022 + default m +config REGULATOR_MAX1586 + default m +config REGULATOR_MAX8649 + default m +config REGULATOR_MAX8660 + default m +config REGULATOR_MAX8925 + default m +config REGULATOR_WM8350 + default m +config REGULATOR_WM8400 + default m +config REGULATOR_WM8994 + default m +config REGULATOR_DA903X + default m +config REGULATOR_PCF50633 + default m +config REGULATOR_LP3971 + default m +config REGULATOR_AB3100 + default m +config REGULATOR_TPS65023 + default m +config REGULATOR_TPS6507X + default m + +config USB_SE401 + default m +config USB_PWC + default m +config USB_ZR364XX + default m +config USB_STKWEBCAM + default m +config USB_S2255 + default m +config VIDEO_MEM2MEM_TESTDEV + default m +config RADIO_SI4713 + default m +config USB_DSBR + default m +config USB_SI470X + default m +config USB_MR800 + default m +config RADIO_TEA5764 + default m +config RADIO_SAA7706H + default m +config RADIO_TEF6862 + default m +config DVB_USB + default m +config DVB_USB_A800 + default m +config DVB_USB_DIBUSB_MB + default m +config DVB_USB_DIBUSB_MC + default m +config DVB_USB_DIB0700 + default m +config DVB_USB_UMT_010 + default m +config DVB_USB_CXUSB + default m +config DVB_USB_M920X + default m +config DVB_USB_GL861 + default m +config DVB_USB_AU6610 + default m +config DVB_USB_DIGITV + default m +config DVB_USB_VP7045 + default m +config DVB_USB_VP702X + default m +config DVB_USB_GP8PSK + default m +config DVB_USB_NOVA_T_USB2 + default m +config DVB_USB_TTUSB2 + default m +config DVB_USB_DTT200U + default m +config DVB_USB_OPERA1 + default m +config DVB_USB_AF9005 + default m +config DVB_USB_AF9005_REMOTE + default m +config DVB_USB_DW2102 + default m +config DVB_USB_CINERGY_T2 + default m +config DVB_USB_ANYSEE + default m +config DVB_USB_DTV5100 + default m +config DVB_USB_AF9015 + default m +config DVB_USB_CE6230 + default m +config DVB_USB_FRIIO + default m +config DVB_USB_EC168 + default m +config DVB_USB_AZ6027 + default m +config SMS_SIANO_MDTV + default m +config SMS_USB_DRV + default m +config SMS_SDIO_DRV + default m +config DVB_B2C2_FLEXCOP + default m +config DVB_B2C2_FLEXCOP_USB + default m +config DVB_STB0899 + default m +config DVB_STB6100 + default m +config DVB_STV090x + default m +config DVB_STV6110x + default m +config DVB_CX24110 + default m +config DVB_CX24123 + default m +config DVB_MT312 + default m +config DVB_ZL10036 + default m +config DVB_ZL10039 + default m +config DVB_S5H1420 + default m +config DVB_STV0288 + default m +config DVB_STB6000 + default m +config DVB_STV0299 + default m +config DVB_STV6110 + default m +config DVB_STV0900 + default m +config DVB_TDA8083 + default m +config DVB_TDA10086 + default m +config DVB_TDA8261 + default m +config DVB_VES1X93 + default m +config DVB_TUNER_ITD1000 + default m +config DVB_TUNER_CX24113 + default m +config DVB_TDA826X + default m +config DVB_TUA6100 + default m +config DVB_CX24116 + default m +config DVB_SI21XX + default m +config DVB_DS3000 + default m +config DVB_MB86A16 + default m +config DVB_SP8870 + default m +config DVB_SP887X + default m +config DVB_CX22700 + default m +config DVB_CX22702 + default m +config DVB_S5H1432 + default m +config DVB_DRX397XD + default m +config DVB_L64781 + default m +config DVB_TDA1004X + default m +config DVB_NXT6000 + default m +config DVB_MT352 + default m +config DVB_ZL10353 + default m +config DVB_DIB3000MB + default m +config DVB_DIB3000MC + default m +config DVB_DIB7000M + default m +config DVB_DIB7000P + default m +config DVB_TDA10048 + default m +config DVB_AF9013 + default m +config DVB_EC100 + default m +config DVB_VES1820 + default m +config DVB_TDA10021 + default m +config DVB_TDA10023 + default m +config DVB_STV0297 + default m +config DVB_NXT200X + default m +config DVB_OR51211 + default m +config DVB_OR51132 + default m +config DVB_BCM3510 + default m +config DVB_LGDT330X + default m +config DVB_LGDT3305 + default m +config DVB_S5H1409 + default m +config DVB_AU8522 + default m +config DVB_S5H1411 + default m +config DVB_S921 + default m +config DVB_DIB8000 + default m +config DVB_PLL + default m +config DVB_TUNER_DIB0070 + default m +config DVB_TUNER_DIB0090 + default m +config DVB_LNBP21 + default m +config DVB_ISL6405 + default m +config DVB_ISL6421 + default m +config DVB_ISL6423 + default m +config DVB_LGS8GL5 + default m +config DVB_LGS8GXX + default m +config DVB_ATBM8830 + default m +config DVB_TDA665x + default m +config DVB_IX2505V + default m +config USB_DABUSB + default m +config PANEL_ACX565AKM + default m +config LCD_L4F00242T03 + default m +config LCD_LMS283GF05 + default m +config LCD_LTV350QV + default m +config LCD_ILI9320 + default m +config LCD_TDO24M + default m +config LCD_VGG2432A4 + default m +config LCD_PLATFORM + default m +config LCD_S6E63M0 + default m +config SND_HRTIMER + default m +config SND_MPU401_UART + default m +config SND_OMAP_SOC_RX51 + default m +config SND_SOC_ALL_CODECS + default m +config SND_SOC_88PM860X + default m +config SND_SOC_WM_HUBS + default m +config SND_SOC_AD1836 + default m +config SND_SOC_AD193X + default m +config SND_SOC_AD73311 + default m +config SND_SOC_ADS117X + default m +config SND_SOC_AK4104 + default m +config SND_SOC_AK4535 + default m +config SND_SOC_AK4642 + default m +config SND_SOC_AK4671 + default m +config SND_SOC_CS42L51 + default m +config SND_SOC_CS4270 + default m +config SND_SOC_CX20442 + default m +config SND_SOC_L3 + default m +config SND_SOC_DA7210 + default m +config SND_SOC_MAX98088 + default m +config SND_SOC_PCM3008 + default m +config SND_SOC_SPDIF + default m +config SND_SOC_SSM2602 + default m +config SND_SOC_TLV320AIC23 + default m +config SND_SOC_TLV320AIC26 + default m +config SND_SOC_TLV320AIC3X + default m +config SND_SOC_TLV320DAC33 + default m +config SND_SOC_UDA134X + default m +config SND_SOC_UDA1380 + default m +config SND_SOC_WM8350 + default m +config SND_SOC_WM8400 + default m +config SND_SOC_WM8510 + default m +config SND_SOC_WM8523 + default m +config SND_SOC_WM8580 + default m +config SND_SOC_WM8711 + default m +config SND_SOC_WM8727 + default m +config SND_SOC_WM8728 + default m +config SND_SOC_WM8731 + default m +config SND_SOC_WM8741 + default m +config SND_SOC_WM8750 + default m +config SND_SOC_WM8753 + default m +config SND_SOC_WM8776 + default m +config SND_SOC_WM8804 + default m +config SND_SOC_WM8900 + default m +config SND_SOC_WM8903 + default m +config SND_SOC_WM8904 + default m +config SND_SOC_WM8940 + default m +config SND_SOC_WM8955 + default m +config SND_SOC_WM8960 + default m +config SND_SOC_WM8961 + default m +config SND_SOC_WM8962 + default m +config SND_SOC_WM8971 + default m +config SND_SOC_WM8974 + default m +config SND_SOC_WM8978 + default m +config SND_SOC_WM8985 + default m +config SND_SOC_WM8988 + default m +config SND_SOC_WM8990 + default m +config SND_SOC_WM8993 + default m +config SND_SOC_WM8994 + default m +config SND_SOC_WM9081 + default m +config SND_SOC_MAX9877 + default m +config SND_SOC_TPA6130A2 + default m +config SND_SOC_WM2000 + default m +config SND_SOC_WM9090 + default m +config AC97_BUS + default m +config HID + default m +config USB_HID + default m +config HID_A4TECH + default m +config HID_APPLE + default m +config HID_BELKIN + default m +config HID_CHERRY + default m +config HID_CHICONY + default m +config HID_CYPRESS + default m +config HID_EZKEY + default m +config HID_KYE + default m +config HID_KENSINGTON + default m +config HID_LOGITECH + default m +config HID_MAGICMOUSE + default m +config HID_MICROSOFT + default m +config HID_MONTEREY + default m +config HID_PANTHERLORD + default m +config HID_PETALYNX + default m +config HID_SAMSUNG + default m +config HID_SONY + default m +config HID_SUNPLUS + default m +config HID_WACOM + default m +config USB_OHCI_HCD + default m +config USB_U132_HCD + default m +config USB_USS720 + default m +config USB_FTDI_ELAN + default m +config USB_SISUSBVGA + default m +config USB_ATM + default m +config USB_SPEEDTOUCH + default m +config USB_CXACRU + default m +config USB_UEAGLEATM + default m +config USB_XUSBATM + default m +config USB_GPIO_VBUS + default m +config ISP1301_OMAP + default m +config TWL4030_USB + default m +config UWB_I1480U + default m + +config MMC_SDHCI_PLTFM + default m +config MMC_OMAP + default m +config MMC_SPI + default m +config LEDS_GPIO + default m +config LEDS_DAC124S085 + default m +config LEDS_REGULATOR + default m +config LEDS_LT3593 + default m +config LEDS_TRIGGER_TIMER + default m +config LEDS_TRIGGER_HEARTBEAT + default m +config LEDS_TRIGGER_BACKLIGHT + default m +config LEDS_TRIGGER_GPIO + default m +config LEDS_TRIGGER_DEFAULT_ON + default m +config TIMB_DMA + default m +config VIDEO_TM6000 + default m +config VIDEO_TM6000_ALSA + default m +config VIDEO_TM6000_DVB + default m +config USB_IP_COMMON + default m +config USB_IP_VHCI_HCD + default m +config USB_IP_HOST + default m +config W35UND + default m +config ECHO + default m +config RT2870 + default m +config ASUS_OLED + default m +config PANEL + default m +config TRANZPORT + default m +config POHMELFS + default m +config AUTOFS_FS + default m +config IIO + default m +config IIO_SW_RING + default m +config ADIS16209 + default m +config ADIS16220 + default m +config ADIS16240 + default m +config KXSD9 + default m +config LIS3L02DQ + default m +config SCA3000 + default m +config MAX1363 + default m +config ADIS16260 + default m +config ADIS16300 + default m +config ADIS16350 + default m +config ADIS16400 + default m +config SENSORS_TSL2563 + default m +config IIO_PERIODIC_RTC_TRIGGER + default m +config IIO_GPIO_TRIGGER + default m +config BATMAN_ADV + default m +config FB_SM7XX + default m +config ST_BT + default m +config ADIS16255 + default m +config SMB_FS + default m +config JFS_FS + default m +config BTRFS_FS + default m +config QUOTA_TREE + default m +config QFMT_V1 + default m +config QFMT_V2 + default m +config CUSE + default m +config ISO9660_FS + default m +config MSDOS_FS + default m +config VFAT_FS + default m +config UBIFS_FS + default m +config SQUASHFS + default m +config NFS_FS + default m +config LOCKD + default m +config NFS_ACL_SUPPORT + default m +config SUNRPC + default m +config 9P_FS + default m +config NLS_ISO8859_1 + default m +config ASYNC_RAID6_TEST + default m +config XOR_BLOCKS + default m +config ASYNC_CORE + default m +config ASYNC_MEMCPY + default m +config ASYNC_XOR + default m +config ASYNC_PQ + default m +config ASYNC_RAID6_RECOV + default m +config CRYPTO_AEAD + default m +config CRYPTO_PCOMP + default m +config CRYPTO_AUTHENC + default m +config CRYPTO_HMAC + default m +config CRYPTO_CRC32C + default m +config CRYPTO_MICHAEL_MIC + default m +config CRYPTO_SHA1 + default m +config CRYPTO_ARC4 + default m +config CRYPTO_DEV_OMAP_SHAM + default m +config RAID6_PQ + default m +config CRC_CCITT + default m +config CRC7 + default m +config LIBCRC32C + default m +config ZLIB_DEFLATE + default m +config LZO_COMPRESS + default m +config REED_SOLOMON + default m +config TEXTSEARCH_KMP + default m +config TEXTSEARCH_BM + default m +config TEXTSEARCH_FSM + default m +config LRU_CACHE + default m +config QUOTA_TREE + default m +config QFMT_V1 + default m +config QFMT_V2 + default m +config CUSE + default m +config ISO9660_FS + default m + select JOLIET + select ZISOFS
Once we have settled on a proper common Linaro config policy, this should be able to go away.
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- arch/arm/configs/Kconfig.omap3 | 2299 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 2294 insertions(+), 5 deletions(-)
diff --git a/arch/arm/configs/Kconfig.omap3 b/arch/arm/configs/Kconfig.omap3 index 82847cf..49af9a2 100644 --- a/arch/arm/configs/Kconfig.omap3 +++ b/arch/arm/configs/Kconfig.omap3 @@ -44,22 +44,17 @@ config generateconfig_OMAP3_YES select SND_SOC select USB_NET - select USB_USBNET select USB - select PARPORT - select FB select TWL4030_CORE select RTC_CLASS select I2C - select RTC_DRV_M41T80
select MTD select MTD_NAND - select MTD_ONENAND select MMC @@ -109,12 +104,16 @@ config generateconfig_OMAP3_YES select SND_OMAP_SOC_ZOOM2 select SND_OMAP_SOC_IGEP0020
+ select USB_MUSB_OMAP2PLUS + select INTF_ALARM select RTC_DRV_TWL4030 select RTC_DRV_M41T80_WDT
+ + # Enabling OMAP2 makes beagle boards not boot config ARCH_OMAP2 default n @@ -134,6 +133,2296 @@ config USB_DEVICE_CLASS config OMAP2_VRAM_SIZE default 6
+config PARPORT + default m +config USB_USBNET + default m +config MTD_ONENAND + default m + +config RTC_DRV_M41T80 + default m + + +# The following should be Kconfig.distro policy +config generateconfig_SHOULD_BE_DISTROCONF_YES + def_bool y + select BSD_PROCESS_ACCT + select BSD_PROCESS_ACCT_V3 + select TASKSTATS + select TASK_DELAY_ACCT + select TASK_XACCT + select TASK_IO_ACCOUNTING + + select CGROUPS + select CGROUP_NS + select CGROUP_FREEZER + select CGROUP_DEVICE + select CPUSETS + select CGROUP_CPUACCT + select RESOURCE_COUNTERS + select CGROUP_MEM_RES_CTLR + select CGROUP_SCHED + select RT_GROUP_SCHED + + select RELAY + select MODVERSIONS + select MODULE_SRCVERSION_ALL + + select KALLSYMS_ALL + + select PREEMPT_VOLUNTARY + + + select TICK_ONESHOT + select NO_HZ + select HIGH_RES_TIMERS + + select PM + select PM_RUNTIME + select PM_SLEEP + select SUSPEND + select SUSPEND_FREEZER + select PM_OPS + + select USB_SUSPEND + + + select PERF_COUNTERS + select PROFILING + select TRACEPOINTS + select KPROBES + + select BLK_DEV_INTEGRITY + + select KEXEC + select ATAGS_PROC + + select IP_MULTICAST + select IP_ADVANCED_ROUTER + select TCP_CONG_ADVANCED + select TCP_MD5SIG + select NETFILTER + select NF_CONNTRACK_SECMARK + select NF_CONNTRACK_ZONES + select NF_CONNTRACK_EVENTS + + select IP_VS_PROTO_TCP + select IP_VS_PROTO_UDP + select IP_VS_PROTO_AH_ESP + select IP_VS_PROTO_ESP + select IP_VS_PROTO_AH + select IP_VS_PROTO_SCTP + select IP_MULTIPLE_TABLES + select IP_ROUTE_MULTIPATH + select IP_ROUTE_VERBOSE + select IP_MROUTE + select IP_VS_NFCT + select IP_PIMSM_V1 + select IP_PIMSM_V2 + + select IP_VS_IPV6 + + select NET_DSA + select NET_DSA_TAG_DSA + select NET_DSA_TAG_EDSA + select NET_DSA_TAG_TRAILER + select NET_DSA_MV88E6XXX + select NET_DSA_MV88E6060 + select NET_DSA_MV88E6XXX_NEED_PPU + select NET_DSA_MV88E6131 + select NET_DSA_MV88E6123_61_65 + + select DNS_RESOLVER + + select NET_SCHED + select DCB + + select SLIP_COMPRESSED + select SLIP_SMART + select SLIP_MODE_SLIP6 + + select NET_EMATCH + select NET_CLS_ACT + select GACT_PROB + + select ECONET_AUNUDP + select ECONET_NATIVE + + select NL80211_TESTMODE + select CFG80211_REG_DEBUG + select CFG80211_DEBUGFS + select MAC80211_MESH + + select ATM_BR2684_IPFILTER + + select ISDN + select ISDN_PPP + select ISDN_AUDIO + select ISDN_X25 + select ISDN_PPP_VJ + select ISDN_MPP + select IPPP_FILTER + select ISDN_TTY_FAX + + select HISAX_EURO + select DE_AOC + select HISAX_1TR6 + select HISAX_NI1 + select HISAX_16_3 + select HISAX_S0BOX + select HISAX_FRITZPCI +#causes warning +# select HISAX_AVM_A1_PCMCIA + select HISAX_ELSA + select HISAX_DIEHLDIVA + select HISAX_SEDLBAUER + select HISAX_NICCY + select HISAX_GAZEL + select HISAX_HFC_SX + + + select ISDN_CAPI_MIDDLEWARE + select ISDN_CAPI_CAPIFS_BOOL + select CAPI_AVM + select CAPI_EICON + + select HAMRADIO + + select BT_RFCOMM_TTY + select BT_BNEP_MC_FILTER + select BT_BNEP_PROTO_FILTER + select BT_HCIUART_H4 + select BT_HCIUART_BCSP + select BT_HCIUART_LL + + select MAC80211_DEBUGFS + select ATH9K_HTC_DEBUGFS + select HOSTAP_FIRMWARE + select HOSTAP_FIRMWARE_NVRAM + select IWM_TRACING + + select CONNECTOR + select PROC_EVENTS + + select BLK_DEV_LOOP + + select HW_RANDOM + + + select I2C + select GPIOLIB + + select MFD_TC6393XB + select MFD_ASIC3 + select HTC_I2CPLD + select HTC_EGPIO + select MFD_88PM860X + select MFD_TMIO + select MFD_T7L66XB + select MFD_TC6387XB + select PMIC_DA903X + select PMIC_ADP5520 + select MFD_MAX8925 + select MFD_WM8350_I2C + select MFD_WM8994 + select ABX500_CORE + select AB3100_CORE + select AB3550_CORE + + select MDIO_GPIO + select MDIO_BITBANG + + + select MTD_NAND + select MTD_COMPLEX_MAPPINGS + + + select NFTL_RW + + select MISC_DEVICES + + select MMC_SDHCI + + + select SCSI_MULTI_LUN + select SCSI_CONSTANTS + select SCSI_LOGGING + select SCSI_SCAN_ASYNC + + select BLK_DEV_SR + select CHR_DEV_SG + + select MARVELL_PHY + select DAVICOM_PHY + select QSEMI_PHY + select LXT_PHY + select CICADA_PHY + select VITESSE_PHY + select SMSC_PHY + select BROADCOM_PHY + select ICPLUS_PHY + select REALTEK_PHY + select NATIONAL_PHY + select STE10XP + select LSI_ET1011C_PHY + + select SMSC911X + select WAN + + select ATA + select SCSI_DH + select SCSI_SAS_ATA + select SCSI_SRP_TGT_ATTRS + + select SLIP + select NETCONSOLE_DYNAMIC + + select IPDDP_ENCAP + select IPDDP_DECAP + + select MOUSE_PS2_SENTELIC + + select INPUT_JOYSTICK + select JOYSTICK_IFORCE_USB + select JOYSTICK_IFORCE_232 + select JOYSTICK_XPAD_FF + select JOYSTICK_XPAD_LEDS + + select INPUT_TABLET + select INPUT_TOUCHSCREEN + + select HID_WACOM_POWER_SUPPLY + + + + select SERIAL_NONSTANDARD + select SERIAL_8250 + select SERIAL_8250_EXTENDED + select SERIAL_8250_MANY_PORTS + select SERIAL_8250_SHARE_IRQ + select SERIAL_8250_RSA + select STALDRV + + select DEVPTS_MULTIPLE_INSTANCES + + select SPI + + select V4L_MEM2MEM_DRIVERS + + + select GPIO_BASIC_MMIO + select GPIO_UCB1400 + + select POWER_SUPPLY + select THERMAL_HWMON + select WATCHDOG + select REGULATOR + select REGULATOR_88PM8607 + + select DVB_DYNAMIC_MINORS + select DVB_FE_CUSTOMISE + select MEDIA_ATTACH + + select DAB + + select RADIO_SI470X + + select RT2X00_LIB_DEBUGFS + + select EZX_PCAP + + + + select DISPLAY_SUPPORT + select FB_MODE_HELPERS + select FONTS + select FONT_8x8 + select FONT_ACORN_8x8 + + select SOUND_OSS_CORE + select SND_SOC + select SND_DYNAMIC_MINORS + select SND_AC97_POWER_SAVE + select SND_USB_CAIAQ_INPUT + + + select HIDRAW + select HID_PID + select USB_HIDDEV + select DRAGONRISE_FF + select LOGITECH_FF + select LOGIRUMBLEPAD2_FF + select LOGIG940_FF + select PANTHERLORD_FF + select GREENASIA_FF + select SMARTJOYPLUS_FF + select THRUSTMASTER_FF + select ZEROPLUS_FF + + select USB_MUSB_OTG + select USB_GADGET + select USB_GADGET_DEBUG_FS + + select USB_ULPI + select NOP_USB_XCEIV + + select USB_SERIAL_GENERIC + select USB_SERIAL_KEYSPAN_MPR + select USB_SERIAL_KEYSPAN_USA28 + select USB_SERIAL_KEYSPAN_USA28X + select USB_SERIAL_KEYSPAN_USA28XA + select USB_SERIAL_KEYSPAN_USA28XB + select USB_SERIAL_KEYSPAN_USA19 + select USB_SERIAL_KEYSPAN_USA18X + select USB_SERIAL_KEYSPAN_USA19W + select USB_SERIAL_KEYSPAN_USA19QW + select USB_SERIAL_KEYSPAN_USA19QI + select USB_SERIAL_KEYSPAN_USA49W + select USB_SERIAL_KEYSPAN_USA49WLC + select USB_SERIAL_MOS7715_PARPORT + + select MOUSE_PS2_ELANTECH + + + select DMADEVICES + select AUXDISPLAY + select STAGING + + select ASYNC_TX_DMA + select NET_DMA + + select EXT2_FS_XATTR + select EXT2_FS_POSIX_ACL + select EXT2_FS_SECURITY + + select EXT3_DEFAULTS_TO_ORDERED + select EXT3_FS_XATTR + select EXT3_FS_POSIX_ACL + select EXT3_FS_SECURITY + + select EXT4_FS_XATTR + select EXT4_FS_POSIX_ACL + select EXT4_FS_SECURITY + + select GFS2_FS_LOCKING_DLM + + select QUOTA + select QUOTA_NETLINK_INTERFACE + select QUOTACTL + select FUSE_FS + select UDF_NLS + + select ECRYPT_FS + + select NFS_V3_ACL + select NFS_V4 + + select NFS_FSCACHE + select POHMELFS_CRYPTO + + select PARTITION_ADVANCED + select ACORN_PARTITION + select ACORN_PARTITION_ICS + select ACORN_PARTITION_RISCIX + select OSF_PARTITION + select AMIGA_PARTITION + select ATARI_PARTITION + select MAC_PARTITION + select BSD_DISKLABEL + select MINIX_SUBPARTITION + + select SOLARIS_X86_PARTITION + select UNIXWARE_DISKLABEL + select LDM_PARTITION + select SGI_PARTITION + select ULTRIX_PARTITION + select SUN_PARTITION + select KARMA_PARTITION + select EFI_PARTITION + select SYSV68_PARTITION + + select SCHEDSTATS + select EARLY_PRINTK + + select PRINTK_TIME + select UNUSED_SYMBOLS + select TIMER_STATS + select SYSCTL_SYSCALL_CHECK + select SCHED_TRACER + select BLK_DEV_IO_TRACE + + select KGDB + select KGDB_KDB + select KDB_KEYBOARD + + select OC_ETM + + select KEYS + + +config BINFMT_MISC + default m +config BINFMT_AOUT + default m +config XFRM_USER + default m +config NET_KEY + default m +config NET_IPIP + default m +config INET_AH + default m +config INET_ESP + default m +config INET_IPCOMP + default m +config INET_XFRM_TUNNEL + default m +config INET_XFRM_MODE_TRANSPORT + default m +config INET_XFRM_MODE_TUNNEL + default m +config INET_XFRM_MODE_BEET + default m +config NETFILTER_NETLINK + default m +config NETFILTER_NETLINK_QUEUE + default m +config NETFILTER_NETLINK_LOG + default m +config NF_CONNTRACK + default m +config NF_CT_PROTO_DCCP + default m +config NF_CT_PROTO_GRE + default m +config NF_CT_PROTO_SCTP + default m +config NF_CT_PROTO_UDPLITE + default m +config NF_CONNTRACK_AMANDA + default m +config NF_CONNTRACK_FTP + default m +config NF_CONNTRACK_H323 + default m +config NF_CONNTRACK_IRC + default m +config NF_CONNTRACK_NETBIOS_NS + default m +config NF_CONNTRACK_PPTP + default m +config NF_CONNTRACK_SANE + default m +config NF_CONNTRACK_SIP + default m +config NF_CONNTRACK_TFTP + default m +config NF_CT_NETLINK + default m +config NETFILTER_TPROXY + default m +config NETFILTER_XTABLES + default m +config NETFILTER_XT_MARK + default m +config NETFILTER_XT_CONNMARK + default m +config NETFILTER_XT_TARGET_CLASSIFY + default m +config NETFILTER_XT_TARGET_CONNMARK + default m +config NETFILTER_XT_TARGET_CONNSECMARK + default m +config NETFILTER_XT_TARGET_CT + default m +config NETFILTER_XT_TARGET_DSCP + default m +config NETFILTER_XT_TARGET_HL + default m +config NETFILTER_XT_TARGET_LED + default m +config NETFILTER_XT_TARGET_MARK + default m +config NETFILTER_XT_TARGET_NFLOG + default m +config NETFILTER_XT_TARGET_NFQUEUE + default m +config NETFILTER_XT_TARGET_NOTRACK + default m +config NETFILTER_XT_TARGET_RATEEST + default m +config NETFILTER_XT_TARGET_TEE + default m +config NETFILTER_XT_TARGET_TPROXY + default m +config NETFILTER_XT_TARGET_TRACE + default m +config NETFILTER_XT_TARGET_SECMARK + default m +config NETFILTER_XT_TARGET_TCPMSS + default m +config NETFILTER_XT_TARGET_TCPOPTSTRIP + default m +config NETFILTER_XT_MATCH_CLUSTER + default m +config NETFILTER_XT_MATCH_COMMENT + default m +config NETFILTER_XT_MATCH_CONNBYTES + default m +config NETFILTER_XT_MATCH_CONNLIMIT + default m +config NETFILTER_XT_MATCH_CONNMARK + default m +config NETFILTER_XT_MATCH_CONNTRACK + default m +config NETFILTER_XT_MATCH_DCCP + default m +config NETFILTER_XT_MATCH_DSCP + default m +config NETFILTER_XT_MATCH_ESP + default m +config NETFILTER_XT_MATCH_HASHLIMIT + default m +config NETFILTER_XT_MATCH_HELPER + default m +config NETFILTER_XT_MATCH_HL + default m +config NETFILTER_XT_MATCH_IPRANGE + default m +config NETFILTER_XT_MATCH_LENGTH + default m +config NETFILTER_XT_MATCH_LIMIT + default m +config NETFILTER_XT_MATCH_MAC + default m +config NETFILTER_XT_MATCH_MARK + default m +config NETFILTER_XT_MATCH_MULTIPORT + default m +config NETFILTER_XT_MATCH_OSF + default m +config NETFILTER_XT_MATCH_OWNER + default m +config NETFILTER_XT_MATCH_POLICY + default m +config NETFILTER_XT_MATCH_PHYSDEV + default m +config NETFILTER_XT_MATCH_PKTTYPE + default m +config NETFILTER_XT_MATCH_QUOTA + default m +config NETFILTER_XT_MATCH_RATEEST + default m +config NETFILTER_XT_MATCH_REALM + default m +config NETFILTER_XT_MATCH_RECENT + default m +config NETFILTER_XT_MATCH_SCTP + default m +config NETFILTER_XT_MATCH_SOCKET + default m +config NETFILTER_XT_MATCH_STATE + default m +config NETFILTER_XT_MATCH_STATISTIC + default m +config NETFILTER_XT_MATCH_STRING + default m +config NETFILTER_XT_MATCH_TCPMSS + default m +config NETFILTER_XT_MATCH_TIME + default m +config NETFILTER_XT_MATCH_U32 + default m +config INET6_XFRM_MODE_TRANSPORT + default m +config INET6_XFRM_MODE_TUNNEL + default m +config INET6_XFRM_MODE_BEET + default m +config IP_DCCP + default m +config INET_DCCP_DIAG + default m +config IP_SCTP + default m +config RDS + default m +config RDS_TCP + default m +config TIPC + default m +config ATM + default m +config ATM_CLIP + default m +config ATM_LANE + default m +config ATM_MPOA + default m +config ATM_BR2684 + default m +config L2TP + default m +config L2TP_DEBUGFS + default m +config BRIDGE + default m +config DECNET + default m +config IPX + default m +config ATALK + default m +config DEV_APPLETALK + default m +config IPDDP + default m +config X25 + default m +config LAPB + default m +config ECONET + default m +config WAN_ROUTER + default m +config PHONET + default m +config IEEE802154 + default m +config NET_SCH_CBQ + default m +config NET_SCH_HTB + default m +config NET_SCH_HFSC + default m +config NET_SCH_ATM + default m +config NET_SCH_PRIO + default m +config NET_SCH_MULTIQ + default m +config NET_SCH_RED + default m +config NET_SCH_SFQ + default m +config NET_SCH_TEQL + default m +config NET_SCH_TBF + default m +config NET_SCH_GRED + default m +config NET_SCH_DSMARK + default m +config NET_SCH_NETEM + default m +config NET_SCH_DRR + default m +config NET_CLS_BASIC + default m +config NET_CLS_TCINDEX + default m +config NET_CLS_ROUTE4 + default m +config NET_CLS_FW + default m +config NET_CLS_RSVP + default m +config NET_CLS_RSVP6 + default m +config NET_EMATCH_CMP + default m +config NET_EMATCH_NBYTE + default m +config NET_EMATCH_U32 + default m +config NET_EMATCH_META + default m +config NET_EMATCH_TEXT + default m +config NET_ACT_POLICE + default m +config NET_ACT_GACT + default m +config NET_ACT_MIRRED + default m +config NET_ACT_IPT + default m +config NET_ACT_NAT + default m +config NET_ACT_PEDIT + default m +config NET_ACT_SIMP + default m +config NET_ACT_SKBEDIT + default m +config NET_PKTGEN + default m +config AX25 + default m +config NETROM + default m +config ROSE + default m +config MKISS + default m +config 6PACK + default m +config BPQETHER + default m +config BAYCOM_SER_FDX + default m +config BAYCOM_SER_HDX + default m +config BAYCOM_PAR + default m +config BAYCOM_EPP + default m +config YAM + default m +config CAN + default m +config CAN_RAW + default m +config CAN_BCM + default m +config CAN_VCAN + default m +config CAN_DEV + default m +config CAN_MCP251X + default m +config CAN_SJA1000 + default m +config CAN_SJA1000_PLATFORM + default m +config CAN_EMS_USB + default m +config BT + default m +config BT_L2CAP + default m +config BT_SCO + default m +config BT_RFCOMM + default m +config BT_BNEP + default m +config BT_CMTP + default m +config BT_HIDP + default m +config BT_HCIBTUSB + default m +config BT_HCIBTSDIO + default m +config BT_HCIUART + default m +config BT_HCIBCM203X + default m +config BT_HCIBPA10X + default m +config BT_HCIBFUSB + default m +config BT_HCIVHCI + default m +config BT_MRVL + default m +config BT_MRVL_SDIO + default m +config BT_ATH3K + default m +config AF_RXRPC + default m +config RXKAD + default m + +config CFG80211 + default m +config LIB80211 + default m +config LIB80211_CRYPT_WEP + default m +config LIB80211_CRYPT_CCMP + default m +config LIB80211_CRYPT_TKIP + default m +config MAC80211 + default m +config WIMAX + default m +config RFKILL + default m +config NET_9P + default m +config CAIF + default m +config CAIF_NETDEV + default m +config MTD_TESTS + default m +config MTD_CONCAT + default m +config MTD_REDBOOT_PARTS + default m +config FTL + default m +config NFTL + default m +config INFTL + default m +config RFD_FTL + default m +config SSFDC + default m +config SM_FTL + default m +config MTD_OOPS + default m +config MTD_CFI + default m +config MTD_JEDECPROBE + default m +config MTD_GEN_PROBE + default m +config MTD_RAM + default m +config MTD_ROM + default m +config MTD_ABSENT + default m +config MTD_PHYSMAP + default m +config MTD_PLATRAM + default m +config MTD_M25P80 + default m +config MTD_SLRAM + default m +config MTD_PHRAM + default m +config MTD_MTDRAM + default m +config MTD_BLOCK2MTD + default m +config MTD_DOC2000 + default m +config MTD_DOC2001 + default m +config MTD_DOC2001PLUS + default m +config MTD_DOCPROBE + default m +config MTD_DOCECC + default m +config MTD_NAND_DISKONCHIP + default m +config MTD_ONENAND + default m +config MTD_ONENAND_GENERIC + default m +config MTD_ONENAND_OMAP2 + default m +config MTD_ONENAND_SIM + default m +config MTD_LPDDR + default m +config MTD_QINFO_PROBE + default m +config MTD_UBI + default m +config MTD_UBI_GLUEBI + default m +config CDROM_PKTCDVD + default m +config ATA_OVER_ETH + default m +config AD525X_DPOT + default m +config AD525X_DPOT_I2C + default m +config AD525X_DPOT_SPI + default m +config ICS932S401 + default m +config ENCLOSURE_SERVICES + default m +config ISL29003 + default m +config SENSORS_TSL2550 + default m +config DS1682 + default m +config TI_DAC7512 + default m +config C2PORT + default m +config EEPROM_AT24 + default m +config EEPROM_AT25 + default m +config EEPROM_LEGACY + default m +config EEPROM_MAX6875 + default m +config EEPROM_93CX6 + default m +config IWMC3200TOP + default m +config RAID_ATTRS + default m +config CHR_DEV_ST + default m +config CHR_DEV_OSST + default m +config CHR_DEV_SCH + default m +config SCSI_SAS_LIBSAS + default m +config SCSI_SRP_ATTRS + default m +config ISCSI_TCP + default m +config LIBFC + default m +config LIBFCOE + default m +config SCSI_DEBUG + default m +config SCSI_DH_RDAC + default m +config SCSI_DH_HP_SW + default m +config SCSI_DH_EMC + default m +config SCSI_DH_ALUA + default m +config SATA_AHCI_PLATFORM + default m +config BONDING + default m +config MACVLAN + default m +config EQUALIZER + default m +config TUN + default m +config VETH + default m +config MICREL_PHY + default m +config AX88796 + default m +config SMC91X + default m +config ETHOC + default m +config SMC911X + default m +config DNET + default m +config B44 + default m +config KS8842 + default m +config KS8851 + default m +config KS8851_MLL + default m +config USB_CATC + default m +config USB_KAWETH + default m +config USB_PEGASUS + default m +config USB_RTL8150 + default m +config USB_IPHETH + default m +config HDLC + default m +config HDLC_RAW + default m +config HDLC_RAW_ETH + default m +config HDLC_CISCO + default m +config HDLC_FR + default m +config HDLC_PPP + default m +config DLCI + default m +config NETCONSOLE + default m +config PHONE + default m +config INPUT_FF_MEMLESS + default m +config INPUT_POLLDEV + default m +config INPUT_EVBUG + default m +config INPUT_SPARSEKMAP + default m +config INPUT_JOYDEV + default m +config KEYBOARD_NEWTON + default m +config KEYBOARD_OPENCORES + default m +config KEYBOARD_STOWAWAY + default m +config KEYBOARD_SUNKBD + default m +config KEYBOARD_LKKBD + default m +config KEYBOARD_XTKBD + default m +config MOUSE_SERIAL + default m +config MOUSE_APPLETOUCH + default m +config MOUSE_BCM5974 + default m +config MOUSE_VSXXXAA + default m +config SERIO_RAW + default m +config SERIO_ALTERA_PS2 + default m +config GAMEPORT + default m +config GAMEPORT_NS558 + default m +config GAMEPORT_L4 + default m +config SERIAL_AMBA_PL011 + default m +config SERIAL_TIMBERDALE + default m +config SERIAL_ALTERA_JTAGUART + default m +config SERIAL_ALTERA_UART + default m +config NVRAM + default m +config RAW_DRIVER + default m +config RAMOOPS + default m +config PPS + default m +config PPS_CLIENT_LDISC + default m +config W1 + default m +config W1_MASTER_DS2490 + default m +config W1_MASTER_DS2482 + default m +config W1_MASTER_DS1WM + default m +config W1_MASTER_GPIO + default m +config HDQ_MASTER_OMAP + default m +config W1_SLAVE_THERM + default m +config W1_SLAVE_SMEM + default m +config W1_SLAVE_DS2431 + default m +config W1_SLAVE_DS2433 + default m +config W1_SLAVE_DS2760 + default m +config W1_SLAVE_BQ27000 + default m +config PDA_POWER + default m +config MAX8925_POWER + default m +config WM8350_POWER + default m +config TEST_POWER + default m +config BATTERY_DS2760 + default m +config BATTERY_DS2782 + default m +config BATTERY_BQ27x00 + default m +config BATTERY_DA9030 + default m +config BATTERY_MAX17040 + default m +config CHARGER_PCF50633 + default m +config HWMON_VID + default m +config SENSORS_AD7414 + default m +config SENSORS_AD7418 + default m +config SENSORS_ADCXX + default m +config SENSORS_ADM1021 + default m +config SENSORS_ADM1025 + default m +config SENSORS_ADM1026 + default m +config SENSORS_ADM1029 + default m +config SENSORS_ADM1031 + default m +config SENSORS_ADM9240 + default m +config SENSORS_ADT7411 + default m +config SENSORS_ADT7462 + default m +config SENSORS_ADT7470 + default m +config SENSORS_ADT7475 + default m +config SENSORS_ASC7621 + default m +config SENSORS_ATXP1 + default m +config SENSORS_DS1621 + default m +config SENSORS_F71805F + default m +config SENSORS_F71882FG + default m +config SENSORS_F75375S + default m +config SENSORS_G760A + default m +config SENSORS_GL518SM + default m +config SENSORS_GL520SM + default m +config SENSORS_IT87 + default m +config SENSORS_LM63 + default m +config SENSORS_LM70 + default m +config SENSORS_LM73 + default m +config SENSORS_LM75 + default m +config SENSORS_LM77 + default m +config SENSORS_LM78 + default m +config SENSORS_LM80 + default m +config SENSORS_LM83 + default m +config SENSORS_LM85 + default m +config SENSORS_LM87 + default m +config SENSORS_LM90 + default m +config SENSORS_LM92 + default m +config SENSORS_LM93 + default m +config SENSORS_LTC4215 + default m +config SENSORS_LTC4245 + default m +config SENSORS_LM95241 + default m +config SENSORS_MAX1111 + default m +config SENSORS_MAX1619 + default m +config SENSORS_MAX6650 + default m +config SENSORS_PC87360 + default m +config SENSORS_PC87427 + default m +config SENSORS_PCF8591 + default m +config SENSORS_SHT15 + default m +config SENSORS_DME1737 + default m +config SENSORS_EMC1403 + default m +config SENSORS_SMSC47M1 + default m +config SENSORS_SMSC47M192 + default m +config SENSORS_SMSC47B397 + default m +config SENSORS_ADS7828 + default m +config SENSORS_ADS7871 + default m +config SENSORS_AMC6821 + default m +config SENSORS_THMC50 + default m +config SENSORS_TMP102 + default m +config SENSORS_TMP401 + default m +config SENSORS_TMP421 + default m +config SENSORS_VT1211 + default m +config SENSORS_W83781D + default m +config SENSORS_W83791D + default m +config SENSORS_W83792D + default m +config SENSORS_W83793 + default m +config SENSORS_W83L785TS + default m +config SENSORS_W83L786NG + default m +config SENSORS_W83627HF + default m +config SENSORS_W83627EHF + default m +config SENSORS_WM8350 + default m +config SENSORS_LIS3_SPI + default m +config SENSORS_LIS3_I2C + default m +config THERMAL + default m +config SOFT_WATCHDOG + default m +config UCB1400_CORE + default m + +config MEDIA_SUPPORT + default m +config VIDEO_DEV + default m +config VIDEO_V4L2_COMMON + default m +config DVB_CORE + default m +config VIDEO_MEDIA + default m +config LIRC + default m +config RC_MAP + default m +config IR_NEC_DECODER + default m +config IR_RC5_DECODER + default m +config IR_RC6_DECODER + default m +config IR_JVC_DECODER + default m +config IR_SONY_DECODER + default m +config IR_RC5_SZ_DECODER + default m +config IR_LIRC_CODEC + default m +config IR_IMON + default m +config MEDIA_TUNER + default m +config MEDIA_TUNER_SIMPLE + default m +config MEDIA_TUNER_TDA8290 + default m +config MEDIA_TUNER_TDA827X + default m +config MEDIA_TUNER_TDA18271 + default m +config MEDIA_TUNER_TDA9887 + default m +config MEDIA_TUNER_TEA5761 + default m +config MEDIA_TUNER_TEA5767 + default m +config MEDIA_TUNER_MT20XX + default m +config MEDIA_TUNER_MT2060 + default m +config MEDIA_TUNER_MT2266 + default m +config MEDIA_TUNER_QT1010 + default m +config MEDIA_TUNER_XC2028 + default m +config MEDIA_TUNER_XC5000 + default m +config MEDIA_TUNER_MXL5005S + default m +config MEDIA_TUNER_MXL5007T + default m +config MEDIA_TUNER_MC44S803 + default m +config MEDIA_TUNER_MAX2165 + default m +config MEDIA_TUNER_TDA18218 + default m +config VIDEO_V4L2 + default m +config VIDEOBUF_GEN + default m +config VIDEOBUF_DMA_CONTIG + default m +config VIDEOBUF_DVB + default m +config VIDEO_TVEEPROM + default m +config VIDEO_TUNER + default m +config V4L2_MEM2MEM_DEV + default m +config VIDEO_IR_I2C + default m +config VIDEO_MSP3400 + default m +config VIDEO_CS5345 + default m +config VIDEO_CS53L32A + default m +config VIDEO_M52790 + default m +config VIDEO_WM8775 + default m +config VIDEO_WM8739 + default m +config VIDEO_VP27SMPX + default m +config VIDEO_OV7670 + default m +config VIDEO_SAA711X + default m +config VIDEO_SAA717X + default m +config VIDEO_TVP7002 + default m +config VIDEO_CX25840 + default m +config VIDEO_CX2341X + default m +config VIDEO_SAA7127 + default m +config VIDEO_AK881X + default m +config VIDEO_UPD64031A + default m +config VIDEO_UPD64083 + default m +config VIDEO_VIVI + default m +config VIDEO_OMAP2_VOUT + default m +config VIDEO_BWQCAM + default m +config VIDEO_CQCAM + default m +config VIDEO_W9966 + default m +config VIDEO_CPIA2 + default m +config VIDEO_AU0828 + default m +config SOC_CAMERA + default m +config SOC_CAMERA_MT9M001 + default m +config SOC_CAMERA_MT9M111 + default m +config SOC_CAMERA_MT9T031 + default m +config SOC_CAMERA_MT9T112 + default m +config SOC_CAMERA_MT9V022 + default m +config SOC_CAMERA_RJ54N1 + default m +config SOC_CAMERA_TW9910 + default m +config SOC_CAMERA_PLATFORM + default m +config SOC_CAMERA_OV772X + default m +config SOC_CAMERA_OV9640 + default m +config VIDEO_SH_MOBILE_CEU + default m +config USB_VIDEO_CLASS + default m +config USB_GSPCA + default m +config USB_M5602 + default m +config USB_STV06XX + default m +config USB_GL860 + default m +config USB_GSPCA_BENQ + default m +config USB_GSPCA_CONEX + default m +config USB_GSPCA_CPIA1 + default m +config USB_GSPCA_ETOMS + default m +config USB_GSPCA_FINEPIX + default m +config USB_GSPCA_JEILINJ + default m +config USB_GSPCA_MARS + default m +config USB_GSPCA_MR97310A + default m +config USB_GSPCA_OV519 + default m +config USB_GSPCA_OV534 + default m +config USB_GSPCA_OV534_9 + default m +config USB_GSPCA_PAC207 + default m +config USB_GSPCA_PAC7302 + default m +config USB_GSPCA_PAC7311 + default m +config USB_GSPCA_SN9C2028 + default m +config USB_GSPCA_SN9C20X + default m +config USB_GSPCA_SONIXB + default m +config USB_GSPCA_SONIXJ + default m +config USB_GSPCA_SPCA500 + default m +config USB_GSPCA_SPCA501 + default m +config USB_GSPCA_SPCA505 + default m +config USB_GSPCA_SPCA506 + default m +config USB_GSPCA_SPCA508 + default m +config USB_GSPCA_SPCA561 + default m +config USB_GSPCA_SQ905 + default m +config USB_GSPCA_SQ905C + default m +config USB_GSPCA_STK014 + default m +config USB_GSPCA_STV0680 + default m +config USB_GSPCA_SUNPLUS + default m +config USB_GSPCA_T613 + default m +config USB_GSPCA_TV8532 + default m +config USB_GSPCA_VC032X + default m +config USB_GSPCA_ZC3XX + default m +config VIDEO_PVRUSB2 + default m +config VIDEO_HDPVR + default m +config VIDEO_EM28XX + default m +config VIDEO_EM28XX_ALSA + default m +config VIDEO_EM28XX_DVB + default m +config VIDEO_TLG2300 + default m +config VIDEO_CX231XX + default m +config VIDEO_CX231XX_ALSA + default m +config VIDEO_CX231XX_DVB + default m +config VIDEO_USBVISION + default m +config VIDEO_USBVIDEO + default m +config USB_VICAM + default m +config USB_IBMCAM + default m +config USB_KONICAWC + default m +config FB_SYS_FILLRECT + default m +config FB_SYS_COPYAREA + default m +config FB_SYS_IMAGEBLIT + default m +config FB_SYS_FOPS + default m +config FB_ARMCLCD + default m +config FB_S1D13XXX + default m +config FB_UDL + default m +config FB_METRONOME + default m +config FB_MB862XX + default m +config FB_BROADSHEET + default m +config BACKLIGHT_GENERIC + default m +config BACKLIGHT_DA903X + default m +config BACKLIGHT_MAX8925 + default m +config BACKLIGHT_ADP5520 + default m +config BACKLIGHT_ADP8860 + default m +config BACKLIGHT_88PM860X + default m +config BACKLIGHT_PCF50633 + default m +config SND_HWDEP + default m +config SND_MIXER_OSS + default m +config SND_PCM_OSS + default m +config SND_AC97_CODEC + default m +config SND_ARMAACI + default m +config SND_USB_AUDIO + default m +config SND_USB_CAIAQ + default m +config HID_3M_PCT + default m +config HID_CANDO + default m +config HID_PRODIKEYS + default m +config HID_DRAGONRISE + default m +config HID_EGALAX + default m +config HID_GYRATION + default m +config HID_TWINHAN + default m +config HID_MOSART + default m +config HID_NTRIG + default m +config HID_ORTEK + default m +config HID_PICOLCD + default m +config HID_QUANTA + default m +config HID_ROCCAT + default m +config HID_ROCCAT_KONE + default m +config HID_STANTUM + default m +config HID_GREENASIA + default m +config HID_SMARTJOYPLUS + default m +config HID_TOPSEED + default m +config HID_THRUSTMASTER + default m +config HID_ZEROPLUS + default m +config HID_ZYDACRON + default m +config USB_MON + default m +config USB_WUSB_CBAF + default m +config USB_C67X00_HCD + default m +config USB_OXU210HP_HCD + default m +config USB_ISP116X_HCD + default m +config USB_ISP1760_HCD + default m +config USB_SL811_HCD + default m +config USB_R8A66597_HCD + default m +config USB_HWA_HCD + default m +config USB_MUSB_HDRC + default m +config USB_ACM + default m +config USB_PRINTER + default m +config USB_WDM + default m +config USB_TMC + default m +config USB_STORAGE + default m +config USB_STORAGE_DATAFAB + default m +config USB_STORAGE_FREECOM + default m +config USB_STORAGE_ISD200 + default m +config USB_STORAGE_USBAT + default m +config USB_STORAGE_SDDR09 + default m +config USB_STORAGE_SDDR55 + default m +config USB_STORAGE_JUMPSHOT + default m +config USB_STORAGE_ALAUDA + default m +config USB_STORAGE_ONETOUCH + default m +config USB_STORAGE_KARMA + default m +config USB_STORAGE_CYPRESS_ATACB + default m +config USB_MDC800 + default m +config USB_MICROTEK + default m +config USB_SERIAL + default m +config USB_SERIAL_AIRCABLE + default m +config USB_SERIAL_ARK3116 + default m +config USB_SERIAL_BELKIN + default m +config USB_SERIAL_CH341 + default m +config USB_SERIAL_WHITEHEAT + default m +config USB_SERIAL_DIGI_ACCELEPORT + default m +config USB_SERIAL_CP210X + default m +config USB_SERIAL_CYPRESS_M8 + default m +config USB_SERIAL_EMPEG + default m +config USB_SERIAL_FTDI_SIO + default m +config USB_SERIAL_FUNSOFT + default m +config USB_SERIAL_VISOR + default m +config USB_SERIAL_IPAQ + default m +config USB_SERIAL_IR + default m +config USB_SERIAL_EDGEPORT + default m +config USB_SERIAL_EDGEPORT_TI + default m +config USB_SERIAL_GARMIN + default m +config USB_SERIAL_IPW + default m +config USB_SERIAL_IUU + default m +config USB_SERIAL_KEYSPAN_PDA + default m +config USB_SERIAL_KEYSPAN + default m +config USB_SERIAL_KLSI + default m +config USB_SERIAL_KOBIL_SCT + default m +config USB_SERIAL_MCT_U232 + default m +config USB_SERIAL_MOS7720 + default m +config USB_SERIAL_MOS7840 + default m +config USB_SERIAL_MOTOROLA + default m +config USB_SERIAL_NAVMAN + default m +config USB_SERIAL_PL2303 + default m +config USB_SERIAL_OTI6858 + default m +config USB_SERIAL_QCAUX + default m +config USB_SERIAL_QUALCOMM + default m +config USB_SERIAL_SPCP8X5 + default m +config USB_SERIAL_HP4X + default m +config USB_SERIAL_SAFE + default m +config USB_SERIAL_SIEMENS_MPI + default m +config USB_SERIAL_SIERRAWIRELESS + default m +config USB_SERIAL_SYMBOL + default m +config USB_SERIAL_TI + default m +config USB_SERIAL_CYBERJACK + default m +config USB_SERIAL_XIRCOM + default m +config USB_SERIAL_WWAN + default m +config USB_SERIAL_OPTION + default m +config USB_SERIAL_OMNINET + default m +config USB_SERIAL_OPTICON + default m +config USB_SERIAL_VIVOPAY_SERIAL + default m +config USB_SERIAL_ZIO + default m +config USB_SERIAL_DEBUG + default m +config USB_EMI62 + default m +config USB_EMI26 + default m +config USB_ADUTUX + default m +config USB_SEVSEG + default m +config USB_RIO500 + default m +config USB_LEGOTOWER + default m +config USB_LCD + default m +config USB_LED + default m +config USB_CYPRESS_CY7C63 + default m +config USB_CYTHERM + default m +config USB_IDMOUSE + default m +config USB_APPLEDISPLAY + default m +config USB_LD + default m +config USB_TRANCEVIBRATOR + default m +config USB_IOWARRIOR + default m +config USB_TEST + default m +config USB_ISIGHTFW + default m +config SDIO_UART + default m +config MMC_ARMMMCI + default m +config RTC_DRV_TEST + default m +config RTC_DRV_CMOS + default m +config RTC_DRV_DS1286 + default m +config RTC_DRV_DS1511 + default m +config RTC_DRV_DS1553 + default m +config RTC_DRV_DS1742 + default m +config RTC_DRV_STK17TA8 + default m +config RTC_DRV_M48T86 + default m +config RTC_DRV_M48T35 + default m +config RTC_DRV_M48T59 + default m +config RTC_DRV_MSM6242 + default m +config RTC_DRV_BQ4802 + default m +config RTC_DRV_RP5C01 + default m +config RTC_DRV_V3020 + default m +config RTC_DRV_PL030 + default m +config RTC_DRV_PL031 + default m +config UIO + default m +config UIO_PDRV + default m +config UIO_PDRV_GENIRQ + default m + +config REISERFS_FS + default m + select REISERFS_FS_XATTR + select REISERFS_FS_POSIX_ACL + select REISERFS_FS_SECURITY + +config XFS_FS + default m + select XFS_QUOTA + select XFS_POSIX_ACL + select XFS_RT + +config OCFS2_FS + default m +config OCFS2_FS_O2CB + default m +config OCFS2_FS_USERSPACE_CLUSTER + default m +config NILFS2_FS + default m +config EXPORTFS + default m +config FSCACHE + default m + select FSCACHE_STATS + select FSCACHE_HISTOGRAM +config CACHEFILES + default m +config NTFS_FS + default m +config ADFS_FS + default m +config AFFS_FS + default m +config HFS_FS + default m +config HFSPLUS_FS + default m +config BEFS_FS + default m +config BFS_FS + default m +config EFS_FS + default m +config JFFS2_FS + default m + select JFFS2_COMPRESSION_OPTIONS + select JFFS2_LZO + select JFFS2_CMODE_FAVOURLZO +config CRAMFS + default m +config VXFS_FS + default m +config MINIX_FS + default m +config OMFS_FS + default m +config HPFS_FS + default m +config QNX4FS_FS + default m +config ROMFS_FS + default m +config SYSV_FS + default m +config UFS_FS + default m +config NFSD + default m + select NFSD_V3 + select NFSD_V3_ACL + select NFSD_V4 + +config CIFS + default m + select CIFS_WEAK_PW_HASH + select CIFS_UPCALL + select CIFS_XATTR + select CIFS_POSIX + select CIFS_DFS_UPCALL + select CIFS_EXPERIMENTAL + +config NCP_FS + default m + select NCPFS_PACKET_SIGNING + select NCPFS_IOCTL_LOCKING + select NCPFS_STRONG + select NCPFS_NFS_NS + select NCPFS_OS2_NS + select NCPFS_NLS + select NCPFS_EXTRAS + +config CODA_FS + default m +config AFS_FS + default m + +config NLS_CODEPAGE_437 + default m +config NLS_CODEPAGE_737 + default m +config NLS_CODEPAGE_775 + default m +config NLS_CODEPAGE_850 + default m +config NLS_CODEPAGE_852 + default m +config NLS_CODEPAGE_855 + default m +config NLS_CODEPAGE_857 + default m +config NLS_CODEPAGE_860 + default m +config NLS_CODEPAGE_861 + default m +config NLS_CODEPAGE_862 + default m +config NLS_CODEPAGE_863 + default m +config NLS_CODEPAGE_864 + default m +config NLS_CODEPAGE_865 + default m +config NLS_CODEPAGE_866 + default m +config NLS_CODEPAGE_869 + default m +config NLS_CODEPAGE_936 + default m +config NLS_CODEPAGE_950 + default m +config NLS_CODEPAGE_932 + default m +config NLS_CODEPAGE_949 + default m +config NLS_CODEPAGE_874 + default m +config NLS_ISO8859_8 + default m +config NLS_CODEPAGE_1250 + default m +config NLS_CODEPAGE_1251 + default m +config NLS_ASCII + default m +config NLS_ISO8859_2 + default m +config NLS_ISO8859_3 + default m +config NLS_ISO8859_4 + default m +config NLS_ISO8859_5 + default m +config NLS_ISO8859_6 + default m +config NLS_ISO8859_7 + default m +config NLS_ISO8859_9 + default m +config NLS_ISO8859_13 + default m +config NLS_ISO8859_14 + default m +config NLS_KOI8_R + default m +config NLS_KOI8_U + default m +config NLS_UTF8 + default m +config DLM + default m + +config CRYPTO_GF128MUL + default m +config CRYPTO_NULL + default m +config CRYPTO_CRYPTD + default m +config CRYPTO_TEST + default m +config CRYPTO_CCM + default m +config CRYPTO_GCM + default m +config CRYPTO_SEQIV + default m +config CRYPTO_CTR + default m +config CRYPTO_CTS + default m +config CRYPTO_LRW + default m +config CRYPTO_PCBC + default m +config CRYPTO_XTS + default m +config CRYPTO_XCBC + default m +config CRYPTO_VMAC + default m +config CRYPTO_GHASH + default m +config CRYPTO_MD4 + default m +config CRYPTO_RMD128 + default m +config CRYPTO_RMD160 + default m +config CRYPTO_RMD256 + default m +config CRYPTO_RMD320 + default m +config CRYPTO_SHA256 + default m +config CRYPTO_SHA512 + default m +config CRYPTO_TGR192 + default m +config CRYPTO_WP512 + default m +config CRYPTO_ANUBIS + default m +config CRYPTO_BLOWFISH + default m +config CRYPTO_CAMELLIA + default m +config CRYPTO_CAST5 + default m +config CRYPTO_CAST6 + default m +config CRYPTO_DES + default m +config CRYPTO_FCRYPT + default m +config CRYPTO_KHAZAD + default m +config CRYPTO_SALSA20 + default m +config CRYPTO_SEED + default m +config CRYPTO_SERPENT + default m +config CRYPTO_TEA + default m +config CRYPTO_TWOFISH + default m +config CRYPTO_TWOFISH_COMMON + default m +config CRYPTO_DEFLATE + default m +config CRYPTO_ZLIB + default m +config CRYPTO_LZO + default m + +config MTD_CFI_STAA + default m +config SERIO_SERPORT + default m +config I2C_CHARDEV + default m +config I2C_SMBUS + default m +config I2C_ALGOBIT + default m +config I2C_ALGOPCF + default m +config I2C_ALGOPCA + default m +config I2C_DESIGNWARE + default m +config I2C_GPIO + default m +config I2C_OCORES + default m +config I2C_PCA_PLATFORM + default m +config I2C_SIMTEC + default m +config I2C_XILINX + default m +config I2C_PARPORT + default m +config I2C_PARPORT_LIGHT + default m +config I2C_TAOS_EVM + default m +config I2C_TINY_USB + default m +config I2C_STUB + default m +config FB_TMIO + default m +config FB_SM501 + default m +config USB_UAS + default m +config GFS2_FS + default m +config AUTOFS4_FS + default m +config CONFIGFS_FS + default m +config UDF_FS + default m +config SUNRPC_GSS + default m +config RPCSEC_GSS_KRB5 + default m +config LEDS_88PM860X + default m +config LEDS_PCA9532 + default m +config LEDS_LP3944 + default m +config LEDS_PCA955X + default m +config LEDS_WM8350 + default m +config LEDS_DA903X + default m +config LEDS_BD2802 + default m +config LEDS_ADP5520 + default m +config SND_RAWMIDI + default m +config SND_DUMMY + default m +config SND_MTS64 + default m +config SND_MPU401 + default m +config SND_PORTMAN2X4 + default m + +config MFD_SM501 + default m +config HTC_PASIC3 + default m +config TPS6507X + default m +config MFD_WM8400 + default m +config MFD_PCF50633 + default m +config PCF50633_ADC + default m +config PCF50633_GPIO + default m + +config RTC_DRV_DS1307 + default m +config RTC_DRV_DS1374 + default m +config RTC_DRV_DS1672 + default m +config RTC_DRV_MAX6900 + default m +config RTC_DRV_MAX8925 + default m +config RTC_DRV_RS5C372 + default m +config RTC_DRV_ISL1208 + default m +config RTC_DRV_X1205 + default m +config RTC_DRV_PCF8563 + default m +config RTC_DRV_PCF8583 + default m +config RTC_DRV_M41T80 + default m +config RTC_DRV_BQ32K + default m +config RTC_DRV_S35390A + default m +config RTC_DRV_FM3130 + default m +config RTC_DRV_RX8581 + default m +config RTC_DRV_RX8025 + default m +config RTC_DRV_M41T94 + default m +config RTC_DRV_DS1305 + default m +config RTC_DRV_DS1390 + default m +config RTC_DRV_MAX6902 + default m +config RTC_DRV_R9701 + default m +config RTC_DRV_RS5C348 + default m +config RTC_DRV_DS3234 + default m +config RTC_DRV_PCF2123 + default m +config RTC_DRV_WM8350 + default m +config RTC_DRV_PCF50633 + default m +config RTC_DRV_AB3100 + default m +config RTC_DRV_PCAP + default m + +config HW_RANDOM_TIMERIOMEM + default m + +config KEYBOARD_ADP5588 + default m +config KEYBOARD_TCA6416 + default m +config KEYBOARD_LM8323 + default m +config KEYBOARD_MAX7359 + default m +config MOUSE_SYNAPTICS_I2C + default m +config INPUT_AD714X_I2C + default m +config INPUT_PCF8574 + default m + +config I2C_SI4713 + default m +config I2C_SI470X + default m + +config NLS_ISO8859_15 + default m
source "Kconfig.distro"
Once we have settled on a proper common Linaro config policy, this should be able to go away.
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- arch/arm/configs/Kconfig.imx51 | 423 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 421 insertions(+), 2 deletions(-)
diff --git a/arch/arm/configs/Kconfig.imx51 b/arch/arm/configs/Kconfig.imx51 index 512c9d5..5f6e50e 100644 --- a/arch/arm/configs/Kconfig.imx51 +++ b/arch/arm/configs/Kconfig.imx51 @@ -11,6 +11,9 @@ config generateconfig_MX51_YES select VFP select NEON
+ select MACH_MX53_EVK + select MACH_MX53_SMD + select MACH_MX53_LOCO
select NET select NET_ETHERNET @@ -59,7 +62,6 @@ config generateconfig_MX51_YES select RTC_DRV_M41T80_WDT select RTC_DRV_TWL4030 select RTC_INTF_DEV_UIE_EMUL - select RTC_DRV_M41T80
config MXC_DEBUG_BOARD @@ -69,14 +71,431 @@ config DEFAULT_MMAP_MIN_ADDR default 32768 config LOG_BUF_SHIFT default 18 - +config CMDLINE + default "noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.101:/shared/nfs ip=dhcp" config MII default m config LEDS_LP5521 default m config LEDS_LP5523 default m +config RTC_DRV_M41T80 + default m + + +# The following should be Kconfig.distro policy +config generateconfig_SHOULD_BE_DISTROCONF_YES + def_bool y + select CC_OPTIMIZE_FOR_SIZE + select EMBEDDED + select RELAY + select MODVERSIONS + select MODULE_SRCVERSION_ALL + + select KALLSYMS_ALL + select PREEMPT_VOLUNTARY + + select TICK_ONESHOT + select NO_HZ + select HIGH_RES_TIMERS + + select RD_BZIP2 + select RD_LZMA + select RD_LZO + + select PM + select PM_RUNTIME + select PM_SLEEP + select SUSPEND + select SUSPEND_FREEZER + select PM_OPS + + select PM_DEBUG + select PM_TEST_SUSPEND + + select USB_SUSPEND + + + select IP_PNP + select IP_PNP_DHCP + select IP_PNP_BOOTP + + select DNS_RESOLVER + + + select CONNECTOR + select PROC_EVENTS + + select BLK_DEV_LOOP + + select HW_RANDOM + + + select I2C + select GPIOLIB + + select MFD_TC6393XB + select MFD_ASIC3 + select HTC_I2CPLD + select HTC_EGPIO + select MFD_88PM860X + select MFD_TMIO + select MFD_T7L66XB + select MFD_TC6387XB + select PMIC_DA903X + select PMIC_ADP5520 + select MFD_MAX8925 + select MFD_WM8350_I2C + select MFD_WM8994 + select ABX500_CORE + select AB3100_CORE + select AB3550_CORE + + + + select MDIO_GPIO + select MDIO_BITBANG + + select MTD_PARTITIONS + + select MMC_SDHCI + + select SCSI_MULTI_LUN + select SCSI_CONSTANTS + select SCSI_LOGGING + select SCSI_SCAN_ASYNC + + select MARVELL_PHY + select DAVICOM_PHY + select QSEMI_PHY + select LXT_PHY + select CICADA_PHY + select VITESSE_PHY + select SMSC_PHY + select BROADCOM_PHY + select ICPLUS_PHY + select REALTEK_PHY + select NATIONAL_PHY + select STE10XP + select LSI_ET1011C_PHY + + select MOUSE_PS2_ELANTECH + + + select NEW_LEDS + select LEDS_CLASS + select LEDS_TRIGGERS + + select EXT2_FS_XATTR + select EXT2_FS_POSIX_ACL + select EXT2_FS_SECURITY + + select EXT3_DEFAULTS_TO_ORDERED + select EXT3_FS_XATTR + select EXT3_FS_POSIX_ACL + select EXT3_FS_SECURITY + + select EXT4_FS_XATTR + select EXT4_FS_POSIX_ACL + select EXT4_FS_SECURITY + + select AUTOFS4_FS + select FAT_FS + select VFAT_FS + + select GFS2_FS_LOCKING_DLM + + + select QUOTA + select QUOTA_NETLINK_INTERFACE + select QUOTACTL + select FUSE_FS + select UDF_NLS + + select DEBUG_FS + select ECRYPT_FS + + select NFS_V3_ACL + select NFS_V4 + + select NLS_CODEPAGE_437 + select NLS_ASCII + select NLS_UTF8 + + select SCHEDSTATS + select EARLY_PRINTK + + select ENABLE_WARN_DEPRECATED + select ENABLE_MUST_CHECK + select DEBUG_MEMORY_INIT
+ select KEYS + + select CRYPTO_DES + select CRYPTO_DEFLATE + select CRYPTO_LZO + + select CRC_T10DIF + +config UTS_NS + default n +config IPC_NS + default n +config USER_NS + default n +config PID_NS + default n +config NET_NS + default n +config SLUB_DEBUG + default n +config LBDAF + default n +config OABI_COMPAT + default n +config IP_SCTP + default n +config WIRELESS + default n +config NETDEV_1000 + default n +config NETDEV_10000 + default n +config WLAN + default n +config LEGACY_PTYS + default n +config INET_XFRM_MODE_TRANSPORT + default n +config INET_XFRM_MODE_TUNNEL + default n +config INET_XFRM_MODE_BEET + default n +config INET_LRO + default n +config SCSI_LOWLEVEL + default n +config HWMON + default n +config STANDALONE + default n +config INPUT_MOUSEDEV_PSAUX + default n +config I2C_COMPAT + default n +config PRINT_QUOTA_WARNING + default n +config FTRACE + default n +config ARM_UNWIND + default n +config DEBUG_BUGVERBOSE + default n +config CRYPTO_ANSI_CPRNG + default n +config CRYPTO_HW + default n +config BINARY_PRINTF + default n + + +config BINFMT_MISC + default m +config INET6_XFRM_MODE_TRANSPORT + default m +config INET6_XFRM_MODE_TUNNEL + default m +config INET6_XFRM_MODE_BEET + default m +config ATA + default m +config CRYPTO_AES + default m +config INPUT_FF_MEMLESS + default m +config INPUT_POLLDEV + default m +config INPUT_EVBUG + default m +config MTD_CFI_STAA + default m +config SERIO_SERPORT + default m +config I2C_CHARDEV + default m +config I2C_SMBUS + default m +config I2C_ALGOBIT + default m +config I2C_ALGOPCF + default m +config I2C_ALGOPCA + default m +config I2C_DESIGNWARE + default m +config I2C_GPIO + default m +config I2C_OCORES + default m +config I2C_PCA_PLATFORM + default m +config I2C_SIMTEC + default m +config I2C_XILINX + default m +config I2C_PARPORT + default m +config I2C_PARPORT_LIGHT + default m +config I2C_TAOS_EVM + default m +config I2C_TINY_USB + default m +config I2C_STUB + default m +config FB_TMIO + default m +config FB_SM501 + default m +config USB_UAS + default m +config GFS2_FS + default m +config AUTOFS4_FS + default m +config CONFIGFS_FS + default m +config UDF_FS + default m +config SUNRPC_GSS + default m +config RPCSEC_GSS_KRB5 + default m +config LEDS_88PM860X + default m +config LEDS_PCA9532 + default m +config LEDS_PCA955X + default m +config LEDS_LP3944 + default m +config LEDS_WM8350 + default m +config LEDS_DA903X + default m +config LEDS_BD2802 + default m +config LEDS_ADP5520 + default m +config SND_RAWMIDI + default m +config SND_DUMMY + default m +config SND_MTS64 + default m +config SND_MPU401 + default m +config SND_PORTMAN2X4 + default m + +config MFD_SM501 + default m +config HTC_PASIC3 + default m +config TPS6507X + default m +config MFD_WM8400 + default m +config MFD_PCF50633 + default m +config PCF50633_ADC + default m +config PCF50633_GPIO + default m + +config RTC_DRV_DS1307 + default m +config RTC_DRV_DS1374 + default m +config RTC_DRV_DS1672 + default m +config RTC_DRV_MAX6900 + default m +config RTC_DRV_MAX8925 + default m +config RTC_DRV_RS5C372 + default m +config RTC_DRV_ISL1208 + default m +config RTC_DRV_X1205 + default m +config RTC_DRV_PCF8563 + default m +config RTC_DRV_PCF8583 + default m +config RTC_DRV_M41T80 + default m +config RTC_DRV_BQ32K + default m +config RTC_DRV_S35390A + default m +config RTC_DRV_FM3130 + default m +config RTC_DRV_RX8581 + default m +config RTC_DRV_RX8025 + default m +config RTC_DRV_M41T94 + default m +config RTC_DRV_DS1305 + default m +config RTC_DRV_DS1390 + default m +config RTC_DRV_MAX6902 + default m +config RTC_DRV_R9701 + default m +config RTC_DRV_RS5C348 + default m +config RTC_DRV_DS3234 + default m +config RTC_DRV_PCF2123 + default m +config RTC_DRV_WM8350 + default m +config RTC_DRV_PCF50633 + default m +config RTC_DRV_AB3100 + default m +config RTC_DRV_PCAP + default m + +config HW_RANDOM_TIMERIOMEM + default m + +config KEYBOARD_ADP5588 + default m +config KEYBOARD_TCA6416 + default m +config KEYBOARD_LM8323 + default m +config KEYBOARD_MAX7359 + default m + +config MOUSE_SYNAPTICS_I2C + default m +config INPUT_AD714X_I2C + default m +config INPUT_PCF8574 + default m + +config I2C_SI4713 + default m +config I2C_SI470X + default m + +config NLS_ISO8859_15 + default m
source "Kconfig.distro"
Once we have settled on a proper common Linaro config policy, this should be able to go away.
CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org Signed-off-by: John Stultz john.stultz@linaro.org --- arch/arm/configs/Kconfig.vexp | 195 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 195 insertions(+), 0 deletions(-)
diff --git a/arch/arm/configs/Kconfig.vexp b/arch/arm/configs/Kconfig.vexp index ddcfe5d..7522884 100644 --- a/arch/arm/configs/Kconfig.vexp +++ b/arch/arm/configs/Kconfig.vexp @@ -27,12 +27,207 @@ config generateconfig_VXPRESS_YES select RTC_CLASS
+config CMDLINE + default "root=/dev/nfs nfsroot=10.1.69.3:/work/nfsroot ip=dhcp console=ttyAMA0 mem=128M" config DEFAULT_MMAP_MIN_ADDR default 32768
config LOG_BUF_SHIFT default 14
+# The following should be Kconfig.distro policy +config generateconfig_SHOULD_BE_DISTROCONF_YES + def_bool y + + select IP_PNP + select IP_PNP_DHCP + select IP_PNP_BOOTP + + select DEFAULT_DEADLINE + select PREEMPT_NONE + select NL80211_TESTMODE + select CFG80211_REG_DEBUG + select MAC80211_MESH + select MTD_CONCAT + select MTD_PARTITIONS + select MTD_CMDLINE_PARTS + select MTD_CFI + select MTD_GEN_PROBE + select MTD_CFI_INTELEXT + select MTD_CFI_AMDSTD + select MTD_CFI_UTIL + select MTD_ARM_INTEGRATOR + select MISC_DEVICES + select SCSI_PROC_FS + select ATA_SFF + select ATA_BMDMA + select MII + select PHYLIB + select SMC911X + select SMSC911X + select HOSTAP_FIRMWARE + select HOSTAP_FIRMWARE_NVRAM + select MOUSE_PS2 + select SERIO_AMBAKMI + select SERIAL_AMBA_PL011 + select SERIAL_AMBA_PL011_CONSOLE + select SERIAL_CORE + select SERIAL_CORE_CONSOLE + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_ARMCLCD + select LOGO + select LOGO_LINUX_CLUT224 + select SOUND_OSS_CORE + select SOUND_OSS_CORE_PRECLAIM + select SND_TIMER + select SND_PCM + select SND_OSSEMUL + select SND_MIXER_OSS + select SND_PCM_OSS + select SND_PCM_OSS_PLUGINS + select SND_VMASTER + select SND_AC97_CODEC + select SND_VMASTER + select SND_ARMAACI + select AC97_BUS + select USB_ANNOUNCE_NEW_DEVICES + select USB_MON + select USB_ISP1760_HCD + select MMC_ARMMMCI + select RTC_DRV_PL031 + select FAT_FS + select VFAT_FS + select JFFS2_FS + select JFFS2_FS_WRITEBUFFER + select JFFS2_ZLIB + select JFFS2_RTIME + select CRAMFS + select NLS_CODEPAGE_437 + select ENABLE_WARN_DEPRECATED + select ENABLE_MUST_CHECK + select ZLIB_DEFLATE + + select CC_OPTIMIZE_FOR_SIZE + +config LEGACY_PTY_COUNT + default 16 + +config UEVENT_HELPER_PATH + default "/sbin/hotplug" + +config NLS_DEFAULT + default "iso8859-1" + + +config IOSCHED_CFQ + default n +config UTS_NS + default n +config IPC_NS + default n +config USER_NS + default n +config PID_NS + default n +config NET_NS + default n +config NETDEV_1000 + default n +config NETDEV_10000 + default n +config HWMON + default n +config INET_LRO + default n +config ATA_VERBOSE_ERROR + default n +config SATA_PMP + default n +config EXT3_DEFAULTS_TO_ORDERED + default n +config EXT3_FS_XATTR + default n +config EXT4_FS_XATTR + default n +config FTRACE + default n +config SCHED_DEBUG + default n +config SND_DRIVERS + default n +config MFD_SUPPORT + default n +config HW_RANDOM + default n +config LOGO_LINUX_MONO + default n +config LOGO_LINUX_VGA16 + default n +config SERIO_SERPORT + default n +config CRYPTO_ANSI_CPRNG + default n +config CRYPTO_HW + default n +config SUNRPC_GSS + default n +config RPCSEC_GSS_KRB5 + default n + +config ATA + default m +config CFG80211 + default m +config MAC80211 + default m +config ISCSI_TCP + default m +config LIBFC + default m +config LIBFCOE + default m +config SCSI_DEBUG + default m +config INET6_XFRM_MODE_TRANSPORT + default m +config INET6_XFRM_MODE_TUNNEL + default m +config INET6_XFRM_MODE_BEET + default m +config USB_STORAGE + default m +config CRYPTO_ALGAPI + default m +config CRYPTO_ALGAPI2 + default m +config CRYPTO_AEAD2 + default m +config CRYPTO_BLKCIPHER + default m +config CRYPTO_BLKCIPHER2 + default m +config CRYPTO_HASH + default m +config CRYPTO_HASH2 + default m +config CRYPTO_RNG2 + default m +config CRYPTO_PCOMP2 + default m +config CRYPTO_MANAGER + default m +config CRYPTO_MANAGER2 + default m +config CRYPTO_WORKQUEUE + default m +config CRYPTO_CBC + default m +config CRYPTO_ECB + default m +config CRYPTO_MD5 + default m
source "Kconfig.distro"
On Tue, Mar 08, 2011, John Stultz wrote:
This patch set provides enough to demo how the Kconfig fragment based defconfigs could be used to simplify both generating and managing the configs used to build Linaro kernels.
This is awesome, thanks!
- The igep, overo, and panda configs all use the same omap3
config according to the hwpacks. I'm not sure I believe that, but went along with it to get this out the door.
They currently use the same binary kernel, so it's actually correct :-) They are in different hwpacks because they have different u-boot.bin/MLO and boot args.
If you resend this description:
Once we have the infrasturcture to use Kconfig fragments for
^
Since the Linaro config polciy is not unified at this point
^
cc'ing Ubuntu kernel team.
We use their config system today and this might be of interest to them for the future.
On Wed, Mar 9, 2011 at 4:32 AM, John Stultz john.stultz@linaro.org wrote:
This patch set provides enough to demo how the Kconfig fragment based defconfigs could be used to simplify both generating and managing the configs used to build Linaro kernels.
This is for the kernel config managment tool and dependent bluprints: https://blueprints.launchpad.net/linux-linaro/+spec/other-kernel-config-mana...
The basic idea is to use a Kconfig fragment to generate the per-board defconfigs. The Kconfig fragments contain a meta-option that defaults to yes, which then selects the needed config values to enable a system.
This has been proposed by others, and we're using Stephen Rothwell's initial patch to start things off.
Once we have the infrasturcture to use Kconfig fragments for defconfigs we had to overcome some limitations:
- We cannot select items from a choice block
- We need a way to select for values and modules.
Limitation #1 is resolved by a patch to the kbuild system I made.
Limitation #2 is unsolved, but Jason Hui found a workaround that is sufficient. Basically we can just redefine the default with a short declaration: config VAL default 256 or config VAL default m
With these two solutions, I went forward generating basic Kconfig fragments for omap3, imx51 and vexpress.
Getting per-board defconfigs is only of limited value, because we also want to be able to have a common policy settings for Linaro kernels. Many distros run into this problem, and use .config fragments which are then assembled at package build time.
My solution is to have a Kconfig.distro file, which is patched with Distro specific policy config, such as which filesystems should be enabled, networking policy, debug options, or periphrial driver modules that should be enabled. Basically anything that isn't hardware specific (by that I mean, part of the architecture or wired on the board).
The Ubuntu configs do something similar. The config generator makes a 3-level config - distro, arch, board.
But this is encapsulated under the debian packaging rather than in the kernel source. That is why you probably haven't seen it yet. Look at git://git.linaro.org/ubuntu/linux-linaro-natty.git under debian.linaro/config.
Most kernel developers, however, don't really care about creating a .deb package of the kernel to test new code. They'd rather have the config available in the sources. So I agree that we should fix this problem for them. If it turns out that in fixing this problem we fix it for distros too, great!
From there, I add in as much of the generic Linaro config policy as I could, utilizing the config files that were used to build the omap3, imx51 and vexpress hardware packs.
Since the Linaro config polciy is not unified at this point (in other words, each board has totally different set of generic policy options configured). I added the per target differences into the board kconfig fragments.
No, it doesn't. The system they use allows for unified configs. The Ubuntu kernel has unified configs across 3-4 architectures.
The problem is starting a new config for a new board/SoC. The current config system expects a full config for the board dropped into place and then let the tool split it out into distro/arch and board components. If this causes any changes to the distro/arch configs, you know you might have missed some options.
Ideally we can review and settle down on specific linaro config policy and this generic per-board stuff can go away.
These are initial and rough patches, but are the result of lots of painful manual labor to match the Linaro .configs as closely as possible.
There are a few remaining issues, but these can probably be worked around:
- Omap has a strange tristate choice option for the usb gadget
options. So you can only pick one, or you can pick multiple items as modules. My choice selection patch doesn't yet address this. I need to see how common this style of choice is and see if we can either just make it a non-choice options block or if other fixes are needed.
- Not having a module selction is a little painful, as the
module "default m" entries are numerous and annoyingly separate from the meta-config selects.
- The Kconfig.distro file should be probably broken up into
policy topics, like networking, filesystems, peripherials, etc.
- The current board Kconfig fragments are named slightly
differently from the standard defconfigs to allow testing with both. That will need to be fixed, and the old defconfigs removed prior to submitting.
- The igep, overo, and panda configs all use the same omap3
config according to the hwpacks. I'm not sure I believe that, but went along with it to get this out the door.
They do use the same config - or 'flavour' as they are referred to in the Ubuntu kernel config system.
Many thanks to Jason for his help figuring out an approach here.
Feedback and thoughts would be greatly appreciated.
thanks -john
CC: Grant Likely grant.likely@secretlab.ca CC: Jason Hui jason.hui@linaro.org CC: patches@linaro.org
John Stultz (11): kbuild: Allow configs from choice blocks to be selected. kbuild: Use kconfig defaults as defconfig starting point kbuild: Avoid kconfig fragment defconfigs from having odd config order Add blank Kconfig.distro fragment file Initial omap3 Kconfig fragment Initial imx51 defconfig fragment Add initial vexpress defconfig fragment Add Linaro config policy to Kconfig.distro omap3 kconfig fragment changes to align with linaro build Update imx51 to better match linaro configs Update vexpress to be closer to linaro config
Stephen Rothwell (1): kbuild: Enable building defconfigs from Kconfig files
Kconfig.distro | 1754 +++++++++++++++++++++++++++++ arch/arm/configs/Kconfig.imx51 | 503 +++++++++ arch/arm/configs/Kconfig.omap3 | 2430 ++++++++++++++++++++++++++++++++++++++++ arch/arm/configs/Kconfig.vexp | 234 ++++ scripts/kconfig/Makefile | 16 +- scripts/kconfig/symbol.c | 15 +- 6 files changed, 4949 insertions(+), 3 deletions(-) create mode 100644 Kconfig.distro create mode 100644 arch/arm/configs/Kconfig.imx51 create mode 100644 arch/arm/configs/Kconfig.omap3 create mode 100644 arch/arm/configs/Kconfig.vexp
-- 1.7.3.2.146.gca209
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On 03/09/2011 08:17 AM, Somebody in the thread at some point said:
Hi -
- The igep, overo, and panda configs all use the same omap3
config according to the hwpacks. I'm not sure I believe that, but went along with it to get this out the door.
They do use the same config - or 'flavour' as they are referred to in the Ubuntu kernel config system.
Panda is OMAP4 and the other two are OMAP3 AIUI, I am aware they are all under "OMAP2+" in the kernel, but there are really significant differences from configuration point of view like SMP or not.
How is that handled with the same config?
-Andy
On Wed, Mar 9, 2011 at 10:30 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 08:17 AM, Somebody in the thread at some point said:
Hi -
- The igep, overo, and panda configs all use the same omap3
config according to the hwpacks. I'm not sure I believe that, but went along with it to get this out the door.
They do use the same config - or 'flavour' as they are referred to in the Ubuntu kernel config system.
Panda is OMAP4 and the other two are OMAP3 AIUI, I am aware they are all under "OMAP2+" in the kernel, but there are really significant differences from configuration point of view like SMP or not.
How is that handled with the same config?
One can build a single kernel binary that runs on OMAP2/3/4 platforms from the mainline kernel. That has been the main requirement from the maintainer to add new board support. Everything under mach-omap2 and plat-omap is written for runtime detection of features.
However, last I looked, there were problems with the ARM locking primitives being patched at runtime. So it prevented SMP-on-UP kernels, that is, SMP had to be turned off. But that will eventually get fixed so you could have a SMP kernel running on a UP system. This is how x86 does it today.
/Amit
On 03/09/2011 08:51 AM, Somebody in the thread at some point said:
Hi -
Panda is OMAP4 and the other two are OMAP3 AIUI, I am aware they are all under "OMAP2+" in the kernel, but there are really significant differences from configuration point of view like SMP or not.
How is that handled with the same config?
One can build a single kernel binary that runs on OMAP2/3/4 platforms from the mainline kernel. That has been the main requirement from the maintainer to add new board support. Everything under mach-omap2 and plat-omap is written for runtime detection of features.
I know it well. However -->
However, last I looked, there were problems with the ARM locking primitives being patched at runtime. So it prevented SMP-on-UP kernels, that is, SMP had to be turned off. But that will eventually get fixed so you could have a SMP kernel running on a UP system. This is how x86 does it today.
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Absolutely that's the future... in fact the bootloader should work the same way with one per-arch bootloader that detects what it is running on at runtime, and at that point device-specific point hwpacks become very thin or non-existent and there's an epic reduction in how many different binaries are needed to support many boards.
-Andy
On Wed, Mar 9, 2011 at 10:57 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 08:51 AM, Somebody in the thread at some point said:
Hi -
Panda is OMAP4 and the other two are OMAP3 AIUI, I am aware they are all under "OMAP2+" in the kernel, but there are really significant differences from configuration point of view like SMP or not.
How is that handled with the same config?
One can build a single kernel binary that runs on OMAP2/3/4 platforms from the mainline kernel. That has been the main requirement from the maintainer to add new board support. Everything under mach-omap2 and plat-omap is written for runtime detection of features.
I know it well. However -->
However, last I looked, there were problems with the ARM locking primitives being patched at runtime. So it prevented SMP-on-UP kernels, that is, SMP had to be turned off. But that will eventually get fixed so you could have a SMP kernel running on a UP system. This is how x86 does it today.
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
Absolutely that's the future... in fact the bootloader should work the same way with one per-arch bootloader that detects what it is running on at runtime, and at that point device-specific point hwpacks become very thin or non-existent and there's an epic reduction in how many different binaries are needed to support many boards.
I can hear the collective sighs of appreciation from distribution maintainers :)
On 03/09/2011 09:04 AM, Somebody in the thread at some point said:
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Hum my IGEP0020 config here has CONFIG_BROKEN_ON_SMP=y set so I guess this is to do with what you mentioned.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
OK thanks for the explanation.
Absolutely that's the future... in fact the bootloader should work the same way with one per-arch bootloader that detects what it is running on at runtime, and at that point device-specific point hwpacks become very thin or non-existent and there's an epic reduction in how many different binaries are needed to support many boards.
I can hear the collective sighs of appreciation from distribution maintainers :)
^^
-Andy
On Wed, Mar 9, 2011 at 9:13 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 09:04 AM, Somebody in the thread at some point said:
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Hum my IGEP0020 config here has CONFIG_BROKEN_ON_SMP=y set so I guess this is to do with what you mentioned.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
OK thanks for the explanation.
SMP-on-UP appears to be fully working nowadays. We currently don't build a single SMP kernel for omap4 and omap3, but I've been playing with that and it's been shown to work. Does anyone know whether we're planning to move to a single OMAP kernel? Has anyone measured the performance delta?
In principle, we could make this move; but there could be issues I'm not aware of.
Note that the SMP-on-UP support is fairly minimal -- only those things which literally will fail on UP are patched out.
Cheers ---Dave
Absolutely that's the future... in fact the bootloader should work the same way with one per-arch bootloader that detects what it is running on at runtime, and at that point device-specific point hwpacks become very thin or non-existent and there's an epic reduction in how many different binaries are needed to support many boards.
I can hear the collective sighs of appreciation from distribution maintainers :)
^^
-Andy
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On Fri, Mar 11, 2011 at 12:32 PM, Dave Martin dave.martin@linaro.org wrote:
On Wed, Mar 9, 2011 at 9:13 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 09:04 AM, Somebody in the thread at some point said:
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Hum my IGEP0020 config here has CONFIG_BROKEN_ON_SMP=y set so I guess this is to do with what you mentioned.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
OK thanks for the explanation.
SMP-on-UP appears to be fully working nowadays. We currently don't build a single SMP kernel for omap4 and omap3, but I've been playing with that and it's been shown to work. Does anyone know whether we're planning to move to a single OMAP kernel? Has anyone measured the performance delta?
In principle, we could make this move; but there could be issues I'm not aware of.
Note that the SMP-on-UP support is fairly minimal -- only those things which literally will fail on UP are patched out.
Do you have a pointer to the patches that enabled this support? SHA ids are fine. I'm curious what the runtime patching voodoo looks like.
/Amit
On Fri, 11 Mar 2011, Amit Kucheria wrote:
On Fri, Mar 11, 2011 at 12:32 PM, Dave Martin dave.martin@linaro.org wrote:
On Wed, Mar 9, 2011 at 9:13 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 09:04 AM, Somebody in the thread at some point said:
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Hum my IGEP0020 config here has CONFIG_BROKEN_ON_SMP=y set so I guess this is to do with what you mentioned.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
OK thanks for the explanation.
SMP-on-UP appears to be fully working nowadays. We currently don't build a single SMP kernel for omap4 and omap3, but I've been playing with that and it's been shown to work. Does anyone know whether we're planning to move to a single OMAP kernel? Has anyone measured the performance delta?
In principle, we could make this move; but there could be issues I'm not aware of.
Note that the SMP-on-UP support is fairly minimal -- only those things which literally will fail on UP are patched out.
Do you have a pointer to the patches that enabled this support? SHA ids are fine. I'm curious what the runtime patching voodoo looks like.
commit f00ec48fadf5e37e7889f14cff900aa70d18b644 ARM: Allow SMP kernels to boot on UP systems http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git%3Ba=commitd...
We now have a similar clever trick for a runtime determined PHYS_OFFSET:
commit f47ecb85ba9c67cf6f6eba39c19cc528f783f5e7 ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching http://ftp.arm.linux.org.uk/git/gitweb.cgi?p=linux-2.6-arm.git%3Ba=commitdif...
This one has been drafted for human understanding here: https://wiki.ubuntu.com/Specs/ARMSingleKernel (the "Optimized virt_to_phys() with a runtime determined PHYS_OFFSET" section)
Nicolas
On 11 Mar 16, Nicolas Pitre wrote:
On Fri, 11 Mar 2011, Amit Kucheria wrote:
On Fri, Mar 11, 2011 at 12:32 PM, Dave Martin dave.martin@linaro.org wrote:
On Wed, Mar 9, 2011 at 9:13 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 09:04 AM, Somebody in the thread at some point said:
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Hum my IGEP0020 config here has CONFIG_BROKEN_ON_SMP=y set so I guess this is to do with what you mentioned.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
OK thanks for the explanation.
SMP-on-UP appears to be fully working nowadays. We currently don't build a single SMP kernel for omap4 and omap3, but I've been playing with that and it's been shown to work. Does anyone know whether we're planning to move to a single OMAP kernel? Has anyone measured the performance delta?
In principle, we could make this move; but there could be issues I'm not aware of.
Note that the SMP-on-UP support is fairly minimal -- only those things which literally will fail on UP are patched out.
Do you have a pointer to the patches that enabled this support? SHA ids are fine. I'm curious what the runtime patching voodoo looks like.
commit f00ec48fadf5e37e7889f14cff900aa70d18b644 ARM: Allow SMP kernels to boot on UP systems http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git%3Ba=commitd...
We now have a similar clever trick for a runtime determined PHYS_OFFSET:
commit f47ecb85ba9c67cf6f6eba39c19cc528f783f5e7 ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching http://ftp.arm.linux.org.uk/git/gitweb.cgi?p=linux-2.6-arm.git%3Ba=commitdif...
This one has been drafted for human understanding here: https://wiki.ubuntu.com/Specs/ARMSingleKernel (the "Optimized virt_to_phys() with a runtime determined PHYS_OFFSET" section)
Thanks for the links Nico. And the wiki page. Very useful.
/Amit
On Fri, Mar 11, 2011 at 3:32 AM, Dave Martin dave.martin@linaro.org wrote:
On Wed, Mar 9, 2011 at 9:13 AM, Andy Green andy@warmcat.com wrote:
On 03/09/2011 09:04 AM, Somebody in the thread at some point said:
I take it this magic of SMP or not is hidden in this config layering scheme you mentioned and it isn't really using the same config for say igep0020 and
No, it is in the black depths of ARM assembly and TBH, it is voodoo to me. Nothing to do with kernel config as such. The SMP kernel, at runtime, (binary) patches itself to convert locking primitives to no-ops in the UP case. Or something to the effect.
Hum my IGEP0020 config here has CONFIG_BROKEN_ON_SMP=y set so I guess this is to do with what you mentioned.
Panda. In any event, there's a performance tradeoff running SMP kernel on uniprocessor to consider too.
Apparently, with this one-time patching (per boot) there isn't such a tradeoff.
OK thanks for the explanation.
SMP-on-UP appears to be fully working nowadays. We currently don't build a single SMP kernel for omap4 and omap3, but I've been playing with that and it's been shown to work. Does anyone know whether we're planning to move to a single OMAP kernel? Has anyone measured the performance delta?
linux-linaro-omap runs on omap[34] and has for most of this cycle. Currently CONFIG_SMP and CONFIG_SMP_ON_UP are both on.
OMAP4 has had some glitches, first no display then broken display. The next release has display with blue text just like the Ubuntu kernel:). Since linux-linaro-omap is based on upstream or headed upstream patches it does not have all the functionality of the Ubuntu ti-omap4 kernel.
In principle, we could make this move; but there could be issues I'm not aware of.
Note that the SMP-on-UP support is fairly minimal -- only those things which literally will fail on UP are patched out.
Cheers ---Dave
Absolutely that's the future... in fact the bootloader should work the same way with one per-arch bootloader that detects what it is running on at runtime, and at that point device-specific point hwpacks become very thin or non-existent and there's an epic reduction in how many different binaries are needed to support many boards.
I can hear the collective sighs of appreciation from distribution maintainers :)
^^
-Andy
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On Wed, Mar 9, 2011 at 10:17 AM, Amit Kucheria amit.kucheria@linaro.org wrote:
Since the Linaro config polciy is not unified at this point (in other words, each board has totally different set of generic policy options configured). I added the per target differences into the board kconfig fragments.
No, it doesn't. The system they use allows for unified configs. The Ubuntu kernel has unified configs across 3-4 architectures.
Ofcourse, I meant "No, it is (unified). It is just a bit hard to get right currently."
On Wed, 2011-03-09 at 10:17 +0200, Amit Kucheria wrote:
On Wed, Mar 9, 2011 at 4:32 AM, John Stultz john.stultz@linaro.org wrote:
My solution is to have a Kconfig.distro file, which is patched with Distro specific policy config, such as which filesystems should be enabled, networking policy, debug options, or periphrial driver modules that should be enabled. Basically anything that isn't hardware specific (by that I mean, part of the architecture or wired on the board).
The Ubuntu configs do something similar. The config generator makes a 3-level config - distro, arch, board.
But this is encapsulated under the debian packaging rather than in the kernel source. That is why you probably haven't seen it yet. Look at git://git.linaro.org/ubuntu/linux-linaro-natty.git under debian.linaro/config.
Most kernel developers, however, don't really care about creating a .deb package of the kernel to test new code. They'd rather have the config available in the sources. So I agree that we should fix this problem for them. If it turns out that in fixing this problem we fix it for distros too, great!
Yea, I am aware of some of the approaches that distros use, usually assembling .config fragments into a larger config at build time.
And its in part because each distro has tried to solve the same issue out of the kernel that I'm interested in trying to solve the problem in the kernel source at the Kconfig level.
From there, I add in as much of the generic Linaro config policy as I could, utilizing the config files that were used to build the omap3, imx51 and vexpress hardware packs.
Since the Linaro config polciy is not unified at this point (in other words, each board has totally different set of generic policy options configured). I added the per target differences into the board kconfig fragments.
No, it doesn't. The system they use allows for unified configs. The Ubuntu kernel has unified configs across 3-4 architectures.
Huh. Are you sure? Because the configs found in the hwpacks are very different. I'll grant that the build system allows for unified config, but I don't think the Linaro kernels are making much use of it.
omap vs vexpress being the best example of really wide differences: o cgroup support o bsd process accounting o xattr support for ext3/ext4 o different preempt models o highres timers & no_hz etc..
The problem is starting a new config for a new board/SoC. The current config system expects a full config for the board dropped into place and then let the tool split it out into distro/arch and board components. If this causes any changes to the distro/arch configs, you know you might have missed some options.
I'll have to take a look at this.
thanks -john
On Wed, Mar 9, 2011 at 11:18 AM, John Stultz john.stultz@linaro.org wrote:
On Wed, 2011-03-09 at 10:17 +0200, Amit Kucheria wrote:
On Wed, Mar 9, 2011 at 4:32 AM, John Stultz john.stultz@linaro.org wrote:
My solution is to have a Kconfig.distro file, which is patched with Distro specific policy config, such as which filesystems should be enabled, networking policy, debug options, or periphrial driver modules that should be enabled. Basically anything that isn't hardware specific (by that I mean, part of the architecture or wired on the board).
The Ubuntu configs do something similar. The config generator makes a 3-level config - distro, arch, board.
But this is encapsulated under the debian packaging rather than in the kernel source. That is why you probably haven't seen it yet. Look at git://git.linaro.org/ubuntu/linux-linaro-natty.git under debian.linaro/config.
Most kernel developers, however, don't really care about creating a .deb package of the kernel to test new code. They'd rather have the config available in the sources. So I agree that we should fix this problem for them. If it turns out that in fixing this problem we fix it for distros too, great!
Yea, I am aware of some of the approaches that distros use, usually assembling .config fragments into a larger config at build time.
And its in part because each distro has tried to solve the same issue out of the kernel that I'm interested in trying to solve the problem in the kernel source at the Kconfig level.
From there, I add in as much of the generic Linaro config policy as I could, utilizing the config files that were used to build the omap3, imx51 and vexpress hardware packs.
Since the Linaro config polciy is not unified at this point (in other words, each board has totally different set of generic policy options configured). I added the per target differences into the board kconfig fragments.
No, it doesn't. The system they use allows for unified configs. The Ubuntu kernel has unified configs across 3-4 architectures.
Huh. Are you sure? Because the configs found in the hwpacks are very different. I'll grant that the build system allows for unified config, but I don't think the Linaro kernels are making much use of it.
omap vs vexpress being the best example of really wide differences: o cgroup support o bsd process accounting o xattr support for ext3/ext4 o different preempt models o highres timers & no_hz etc..
Yes, the configs in the packaged kernel are not in sync. The reason is mostly historical. The omap config started with a ubuntu kernel config which is indeed unified across arches so it has lots of stuff on that we probably don't need in a linaro kernel.
The other configs started as configs from the kernel def configs plus whatever it took to make the config checker happy (things like security issues). We probably would not break may linaro supported platforms if we stripped down the omap config to be more similar to the other SOCs. I thought at one time that this was not a good idea because there was a plan for ubuntu to use the linaro omap kernel. That has not yet happened so at this time having the linaro omap kernel config out of sync with the ubuntu one may not be a problem.
The problem is starting a new config for a new board/SoC. The current config system expects a full config for the board dropped into place and then let the tool split it out into distro/arch and board components. If this causes any changes to the distro/arch configs, you know you might have missed some options.
I'll have to take a look at this.
thanks -john
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev