
On Mon, Jun 13, 2016 at 10:17:20AM +0200, Maxime Ripard wrote:
Hi,
On Sat, Jun 11, 2016 at 01:31:29PM +0200, Hans de Goede wrote:
Hi,
On 11-06-16 11:44, Masahiro Yamada wrote:
Commit bb597c0eeb7e ("common: bootdelay: move CONFIG_BOOTDELAY into a Kconfig option") made a number of misconversion.
[1] CONFIG_BOOTDELAY=-1 all gone [2] CONFIG_BOOTDELAY=1 all gone [3] CONFIG_BOOTDELAY=2 all gone [4] Conditionally defined CONFIG_BOOTDELAY all gone
All of the misconverted boards now use the default value, CONFIG_BOOTDELAY=0, which came from the Kconfig entry.
I am imagining some reasons for this.
For [1], due to the bug of tools/scripts/define2mk.sed (now fixed), #define CONFIG_BOOTDELAY -1 was converted to CONFIG_BOOTDELAY="-1" in the include/autoconf.mk, so the tools/moveconfig.py regarded it as a string type option, and failed to move it.
For [2], as you see in the comment block in the define2mk.sed, #define CONFIG_BOOTDELAY 1 is converted to CONFIG_BOOTDELAY=y in the include/autoconf.mk. This needs a special care because we do not know whether we are moving a bool option with value y or an integer option with value 1. A recently-sent patch fixes this issue.
I do not understand the reason for [3].
[4] is another case the current moveconfig cannot handle correctly. If the define is surrounded by #ifndef CONFIG_BOOTDELAY like follows, the default value from Kconfig entry beats the define in C header.
#ifndef CONFIG_BOOTDELAY #define CONFIG_BOOTDELAY 3 #endif
Joe's patch can solve this issue.
Anyway, I ran the newest moveconfig tool based on commit 3191d8408053 (=immediately prior to the bad commit) to generate this patch.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
Changes in v2:
- Fix case [4]
configs/A10-OLinuXino-Lime_defconfig | 1 + configs/A10s-OLinuXino-M_defconfig | 1 + configs/A13-OLinuXinoM_defconfig | 1 + configs/A13-OLinuXino_defconfig | 1 + configs/A20-OLinuXino-Lime2_defconfig | 1 + configs/A20-OLinuXino-Lime_defconfig | 1 + configs/A20-OLinuXino_MICRO_defconfig | 1 + configs/A20-Olimex-SOM-EVB_defconfig | 1 + configs/Ainol_AW1_defconfig | 1 + configs/Ampe_A76_defconfig | 1 + configs/Auxtek-T003_defconfig | 1 + configs/Auxtek-T004_defconfig | 1 + configs/Bananapi_defconfig | 1 + configs/Bananapro_defconfig | 1 + configs/C29XPCIE_NAND_defconfig | 1 + configs/C29XPCIE_NOR_SECBOOT_defconfig | 1 + configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig | 1 + configs/C29XPCIE_SPIFLASH_defconfig | 1 + configs/C29XPCIE_defconfig | 1 + configs/CHIP_defconfig | 1 + configs/CSQ_CS908_defconfig | 1 + configs/Chuwi_V7_CW0825_defconfig | 1 + configs/Colombus_defconfig | 1 + configs/Cubieboard2_defconfig | 1 + configs/Cubieboard_defconfig | 1 + configs/Cubietruck_defconfig | 1 + configs/Cubietruck_plus_defconfig | 1 + configs/Empire_electronix_d709_defconfig | 1 + configs/Hummingbird_A31_defconfig | 1 + configs/Hyundai_A7HD_defconfig | 1 + configs/Itead_Ibox_A20_defconfig | 1 + configs/Lamobo_R1_defconfig | 1 + configs/Linksprite_pcDuino3_Nano_defconfig | 1 + configs/Linksprite_pcDuino3_defconfig | 1 + configs/Linksprite_pcDuino_defconfig | 1 + configs/M5208EVBE_defconfig | 1 + configs/M5235EVB_Flash32_defconfig | 1 + configs/M5235EVB_defconfig | 1 + configs/M53017EVB_defconfig | 1 + configs/M5329AFEE_defconfig | 1 + configs/M5329BFEE_defconfig | 1 + configs/M5373EVB_defconfig | 1 + configs/M54418TWR_defconfig | 1 + configs/M54418TWR_nand_mii_defconfig | 1 + configs/M54418TWR_nand_rmii_defconfig | 1 + configs/M54418TWR_nand_rmii_lowfreq_defconfig | 1 + configs/M54418TWR_serial_mii_defconfig | 1 + configs/M54418TWR_serial_rmii_defconfig | 1 + configs/M54451EVB_defconfig | 1 + configs/M54451EVB_stmicro_defconfig | 1 + configs/M54455EVB_a66_defconfig | 1 + configs/M54455EVB_defconfig | 1 + configs/M54455EVB_i66_defconfig | 1 + configs/M54455EVB_intel_defconfig | 1 + configs/M54455EVB_stm33_defconfig | 1 + configs/M5475AFE_defconfig | 1 + configs/M5475BFE_defconfig | 1 + configs/M5475CFE_defconfig | 1 + configs/M5475DFE_defconfig | 1 + configs/M5475EFE_defconfig | 1 + configs/M5475FFE_defconfig | 1 + configs/M5475GFE_defconfig | 1 + configs/M5485AFE_defconfig | 1 + configs/M5485BFE_defconfig | 1 + configs/M5485CFE_defconfig | 1 + configs/M5485DFE_defconfig | 1 + configs/M5485EFE_defconfig | 1 + configs/M5485FFE_defconfig | 1 + configs/M5485GFE_defconfig | 1 + configs/M5485HFE_defconfig | 1 + configs/MK808C_defconfig | 1 + configs/MSI_Primo73_defconfig | 1 + configs/MSI_Primo81_defconfig | 1 + configs/Marsboard_A10_defconfig | 1 + configs/Mele_A1000G_quad_defconfig | 1 + configs/Mele_A1000_defconfig | 1 + configs/Mele_I7_defconfig | 1 + configs/Mele_M3_defconfig | 1 + configs/Mele_M5_defconfig | 1 + configs/Mele_M9_defconfig | 1 + configs/Merrii_A80_Optimus_defconfig | 1 + configs/Mini-X_defconfig | 1 + configs/Orangepi_defconfig | 1 + configs/Orangepi_mini_defconfig | 1 + configs/P1023RDB_defconfig | 1 + configs/Sinlinx_SinA31s_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/Sinovoip_BPI_M2_defconfig | 1 + configs/Sinovoip_BPI_M3_defconfig | 1 + configs/UCP1020_SPIFLASH_defconfig | 1 + configs/UCP1020_defconfig | 1 + configs/UTOO_P66_defconfig | 1 + configs/Wexler_TAB7200_defconfig | 1 + configs/Wits_Pro_A20_DKT_defconfig | 1 + configs/Wobo_i5_defconfig | 1 + configs/Yones_Toptech_BD1078_defconfig | 1 + configs/Yones_Toptech_BS1078_V2_defconfig | 1 + configs/a4m072_defconfig | 1 + configs/ac14xx_defconfig | 1 + configs/am335x_baltos_defconfig | 1 + configs/am335x_boneblack_defconfig | 1 + configs/am335x_boneblack_vboot_defconfig | 1 + configs/am335x_evm_defconfig | 1 + configs/am335x_evm_nor_defconfig | 1 + configs/am335x_evm_norboot_defconfig | 1 + configs/am335x_evm_spiboot_defconfig | 1 + configs/am335x_evm_usbspl_defconfig | 1 + configs/am335x_igep0033_defconfig | 1 + configs/am437x_hs_evm_defconfig | 1 + configs/am43xx_evm_defconfig | 1 + configs/am43xx_evm_ethboot_defconfig | 1 + configs/am43xx_evm_qspiboot_defconfig | 1 + configs/am43xx_evm_usbhost_boot_defconfig | 1 + configs/am57xx_evm_defconfig | 1 + configs/am57xx_evm_nodt_defconfig | 1 + configs/am57xx_hs_evm_defconfig | 1 + configs/amcore_defconfig | 1 + configs/apalis_t30_defconfig | 1 + configs/apx4devkit_defconfig | 1 + configs/aristainetos2_defconfig | 1 + configs/aristainetos2b_defconfig | 1 + configs/aristainetos_defconfig | 1 + configs/arndale_defconfig | 1 + configs/astro_mcf5373l_defconfig | 1 + configs/atngw100_defconfig | 1 + configs/atngw100mkii_defconfig | 1 + configs/atstk1002_defconfig | 1 + configs/ba10_tv_box_defconfig | 1 + configs/bayleybay_defconfig | 1 + configs/bct-brettl2_defconfig | 1 + configs/beaver_defconfig | 1 + configs/bf518f-ezbrd_defconfig | 1 + configs/bf526-ezbrd_defconfig | 1 + configs/bf527-ad7160-eval_defconfig | 1 + configs/bf527-ezkit-v2_defconfig | 1 + configs/bf527-ezkit_defconfig | 1 + configs/bf527-sdp_defconfig | 1 + configs/bf533-ezkit_defconfig | 1 + configs/bf533-stamp_defconfig | 1 + configs/bf537-pnav_defconfig | 1 + configs/bf537-stamp_defconfig | 1 + configs/bf538f-ezkit_defconfig | 1 + configs/bf548-ezkit_defconfig | 1 + configs/bf561-acvilon_defconfig | 1 + configs/bf561-ezkit_defconfig | 1 + configs/bf609-ezkit_defconfig | 1 + configs/birdland_bav335a_defconfig | 1 + configs/birdland_bav335b_defconfig | 1 + configs/br4_defconfig | 1 + configs/cardhu_defconfig | 1 + configs/cgtqmx6eval_defconfig | 1 + configs/chromebook_jerry_defconfig | 1 + configs/chromebook_link_defconfig | 1 + configs/chromebook_samus_defconfig | 1 + configs/chromebox_panther_defconfig | 1 + configs/cm-bf527_defconfig | 1 + configs/cm-bf533_defconfig | 1 + configs/cm-bf537e_defconfig | 1 + configs/cm-bf537u_defconfig | 1 + configs/cm-bf548_defconfig | 1 + configs/cm-bf561_defconfig | 1 + configs/cm_fx6_defconfig | 1 + configs/cm_t335_defconfig | 1 + configs/cm_t43_defconfig | 1 + configs/colibri_pxa270_defconfig | 1 + configs/colibri_t20_defconfig | 1 + configs/colibri_t30_defconfig | 1 + configs/colibri_vf_defconfig | 1 + configs/colorfly_e708_q1_defconfig | 1 + configs/conga-qeval20-qa3-e3845_defconfig | 1 + configs/coreboot-x86_defconfig | 1 + configs/cougarcanyon2_defconfig | 1 + configs/crownbay_defconfig | 1 + configs/dalmore_defconfig | 1 + configs/dbau1000_defconfig | 1 + configs/dbau1100_defconfig | 1 + configs/dbau1500_defconfig | 1 + configs/dbau1550_defconfig | 1 + configs/dbau1550_el_defconfig | 1 + configs/devkit3250_defconfig | 1 + configs/devkit8000_defconfig | 1 + configs/difrnce_dit4350_defconfig | 1 + configs/digsy_mtc_RAMBOOT_defconfig | 1 + configs/digsy_mtc_defconfig | 1 + configs/digsy_mtc_rev5_RAMBOOT_defconfig | 1 + configs/digsy_mtc_rev5_defconfig | 1 + configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + configs/dragonboard410c_defconfig | 1 + configs/dserve_dsrv9703c_defconfig | 1 + configs/duovero_defconfig | 1 + configs/e2220-1170_defconfig | 1 + configs/edb9315a_defconfig | 1 + configs/efi-x86_defconfig | 1 + configs/espt_defconfig | 1 + configs/evb-rk3036_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/ga10h_v1_1_defconfig | 1 + configs/galileo_defconfig | 1 + configs/ge_b450v3_defconfig | 1 + configs/ge_b650v3_defconfig | 1 + configs/ge_b850v3_defconfig | 1 + configs/grasshopper_defconfig | 1 + configs/gt90h_v4_defconfig | 1 + configs/gwventana_defconfig | 1 + configs/h2200_defconfig | 1 + configs/h8_homlet_v2_defconfig | 1 + configs/harmony_defconfig | 1 + configs/highbank_defconfig | 1 + configs/hikey_defconfig | 1 + configs/i12-tvbox_defconfig | 1 + configs/iNet_3F_defconfig | 1 + configs/iNet_3W_defconfig | 1 + configs/iNet_86VS_defconfig | 1 + configs/ibf-dsp561_defconfig | 1 + configs/icnova-a20-swac_defconfig | 1 + configs/ids8313_defconfig | 1 + configs/igep0020_defconfig | 1 + configs/igep0020_nand_defconfig | 1 + configs/igep0030_defconfig | 1 + configs/igep0030_nand_defconfig | 1 + configs/igep0032_defconfig | 1 + configs/inet1_defconfig | 1 + configs/inet97fv2_defconfig | 1 + configs/inet98v_rev2_defconfig | 1 + configs/inet9f_rev03_defconfig | 1 + configs/inka4x0_defconfig | 1 + configs/integratorap_cm720t_defconfig | 1 + configs/integratorap_cm920t_defconfig | 1 + configs/integratorap_cm926ejs_defconfig | 1 + configs/integratorap_cm946es_defconfig | 1 + configs/integratorcp_cm1136_defconfig | 1 + configs/integratorcp_cm920t_defconfig | 1 + configs/integratorcp_cm926ejs_defconfig | 1 + configs/integratorcp_cm946es_defconfig | 1 + configs/ip04_defconfig | 1 + configs/ipam390_defconfig | 1 + configs/jesurun_q5_defconfig | 1 + configs/jetson-tk1_defconfig | 1 + configs/k2e_evm_defconfig | 1 + configs/k2g_evm_defconfig | 1 + configs/k2hk_evm_defconfig | 1 + configs/k2l_evm_defconfig | 1 + configs/kc1_defconfig | 1 + configs/km_kirkwood_128m16_defconfig | 1 + configs/km_kirkwood_defconfig | 1 + configs/km_kirkwood_pci_defconfig | 1 + configs/kmcoge4_defconfig | 1 + configs/kmcoge5ne_defconfig | 1 + configs/kmcoge5un_defconfig | 1 + configs/kmeter1_defconfig | 1 + configs/kmlion1_defconfig | 1 + configs/kmnusa_defconfig | 1 + configs/kmopti2_defconfig | 1 + configs/kmsugp1_defconfig | 1 + configs/kmsupx5_defconfig | 1 + configs/kmsuv31_defconfig | 1 + configs/kmtegr1_defconfig | 1 + configs/kmtepr2_defconfig | 1 + configs/kmvect1_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/marsboard_defconfig | 1 + configs/medcom-wide_defconfig | 1 + configs/mgcoge3ne_defconfig | 1 + configs/mgcoge3un_defconfig | 1 + configs/mgcoge_defconfig | 1 + configs/microblaze-generic_defconfig | 1 + configs/minnowmax_defconfig | 1 + configs/mixtile_loftq_defconfig | 1 + configs/mk802_a10s_defconfig | 1 + configs/mk802_defconfig | 1 + configs/mk802ii_defconfig | 1 + configs/motionpro_defconfig | 1 + configs/ms7750se_defconfig | 1 + configs/mx23evk_defconfig | 1 + configs/mx25pdk_defconfig | 1 + configs/mx28evk_auart_console_defconfig | 1 + configs/mx28evk_defconfig | 1 + configs/mx28evk_nand_defconfig | 1 + configs/mx28evk_spi_defconfig | 1 + configs/mx31pdk_defconfig | 1 + configs/mx35pdk_defconfig | 1 + configs/mx51evk_defconfig | 1 + configs/mx53loco_defconfig | 1 + configs/mx6cuboxi_defconfig | 1 + configs/mx6dlarm2_defconfig | 1 + configs/mx6dlarm2_lpddr2_defconfig | 1 + configs/mx6dlsabreauto_defconfig | 1 + configs/mx6dlsabresd_defconfig | 1 + configs/mx6qarm2_defconfig | 1 + configs/mx6qarm2_lpddr2_defconfig | 1 + configs/mx6qpsabreauto_defconfig | 1 + configs/mx6qsabreauto_defconfig | 1 + configs/mx6qsabrelite_defconfig | 1 + configs/mx6qsabresd_defconfig | 1 + configs/mx6sabresd_spl_defconfig | 1 + configs/mx6slevk_defconfig | 1 + configs/mx6slevk_spinor_defconfig | 1 + configs/mx6slevk_spl_defconfig | 1 + configs/mx6sxsabreauto_defconfig | 1 + configs/mx6sxsabresd_defconfig | 1 + configs/mx6sxsabresd_spl_defconfig | 1 + configs/mx6ul_14x14_evk_defconfig | 1 + configs/mx6ul_9x9_evk_defconfig | 1 + configs/mx7dsabresd_defconfig | 1 + configs/nitrogen6dl2g_defconfig | 1 + configs/nitrogen6dl_defconfig | 1 + configs/nitrogen6q2g_defconfig | 1 + configs/nitrogen6q_defconfig | 1 + configs/nitrogen6s1g_defconfig | 1 + configs/nitrogen6s_defconfig | 1 + configs/novena_defconfig | 1 + configs/nyan-big_defconfig | 1 + configs/odroid-c2_defconfig | 1 + configs/odroid-xu3_defconfig | 1 + configs/odroid_defconfig | 1 + configs/omap3_beagle_defconfig | 1 + configs/omap3_logic_defconfig | 1 + configs/omap3_overo_defconfig | 1 + configs/omap3_pandora_defconfig | 1 + configs/omap3_zoom1_defconfig | 1 + configs/omap4_panda_defconfig | 1 + configs/omap4_sdp4430_defconfig | 1 + configs/omap5_uevm_defconfig | 1 + configs/orangepi_2_defconfig | 1 + configs/orangepi_one_defconfig | 1 + configs/orangepi_pc_defconfig | 1 + configs/orangepi_plus_defconfig | 1 + configs/origen_defconfig | 1 + configs/ot1200_defconfig | 1 + configs/ot1200_spl_defconfig | 1 + configs/p2371-0000_defconfig | 1 + configs/p2371-2180_defconfig | 1 + configs/p2571_defconfig | 1 + configs/p2771-0000_defconfig | 1 + configs/paz00_defconfig | 1 + configs/pb1000_defconfig | 1 + configs/pcm051_rev1_defconfig | 1 + configs/pcm051_rev3_defconfig | 1 + configs/peach-pi_defconfig | 1 + configs/peach-pit_defconfig | 1 + configs/pengwyn_defconfig | 1 + configs/pepper_defconfig | 1 + configs/pico-imx6ul_defconfig | 1 + configs/pine64_plus_defconfig | 1 + configs/platinum_picon_defconfig | 1 + configs/platinum_titanium_defconfig | 1 + configs/plutux_defconfig | 1 + configs/polaroid_mid2809pxe04_defconfig | 1 + configs/portl2_defconfig | 1 + configs/pov_protab2_ips9_defconfig | 1 + configs/pr1_defconfig | 1 + configs/q8_a13_tablet_defconfig | 1 + configs/q8_a23_tablet_800x480_defconfig | 1 + configs/q8_a33_tablet_1024x600_defconfig | 1 + configs/q8_a33_tablet_800x480_defconfig | 1 + configs/qemu-ppce500_defconfig | 1 + configs/qemu-x86_defconfig | 1 + configs/r2dplus_defconfig | 1 + configs/r7-tv-dongle_defconfig | 1 + configs/riotboard_defconfig | 1 + configs/rock2_defconfig | 1 + configs/rpi_2_defconfig | 1 + configs/rpi_3_32b_defconfig | 1 + configs/rpi_3_defconfig | 1 + configs/rpi_defconfig | 1 + configs/s5pc210_universal_defconfig | 1 + configs/sandbox_defconfig | 1 + configs/sandbox_noblk_defconfig | 1 + configs/seaboard_defconfig | 1 + configs/secomx6quq7_defconfig | 1 + configs/sh7763rdp_defconfig | 1 + configs/smdk5250_defconfig | 1 + configs/smdk5420_defconfig | 1 + configs/smdkv310_defconfig | 1 + configs/sniper_defconfig | 1 + configs/snow_defconfig | 1 + configs/socrates_defconfig | 1 + configs/spear300_defconfig | 1 + configs/spear300_nand_defconfig | 1 + configs/spear300_usbtty_defconfig | 1 + configs/spear300_usbtty_nand_defconfig | 1 + configs/spear310_defconfig | 1 + configs/spear310_nand_defconfig | 1 + configs/spear310_pnor_defconfig | 1 + configs/spear310_usbtty_defconfig | 1 + configs/spear310_usbtty_nand_defconfig | 1 + configs/spear310_usbtty_pnor_defconfig | 1 + configs/spear320_defconfig | 1 + configs/spear320_nand_defconfig | 1 + configs/spear320_pnor_defconfig | 1 + configs/spear320_usbtty_defconfig | 1 + configs/spear320_usbtty_nand_defconfig | 1 + configs/spear320_usbtty_pnor_defconfig | 1 + configs/spear600_defconfig | 1 + configs/spear600_nand_defconfig | 1 + configs/spear600_usbtty_defconfig | 1 + configs/spear600_usbtty_nand_defconfig | 1 + configs/spring_defconfig | 1 + configs/sunxi_Gemei_G9_defconfig | 1 + configs/suvd3_defconfig | 1 + configs/tbs2910_defconfig | 1 + configs/tcm-bf518_defconfig | 1 + configs/tcm-bf537_defconfig | 1 + configs/tec-ng_defconfig | 1 + configs/tec_defconfig | 1 + configs/ti814x_evm_defconfig | 1 + configs/titanium_defconfig | 1 + configs/tqma6q_mba6_mmc_defconfig | 1 + configs/tqma6q_mba6_spi_defconfig | 1 + configs/tqma6s_mba6_mmc_defconfig | 1 + configs/tqma6s_mba6_spi_defconfig | 1 + configs/tqma6s_wru4_mmc_defconfig | 1 + configs/trats2_defconfig | 1 + configs/trats_defconfig | 1 + configs/trimslice_defconfig | 1 + configs/ts4800_defconfig | 1 + configs/tuge1_defconfig | 1 + configs/tuxx1_defconfig | 1 + configs/udoo_defconfig | 1 + configs/usbarmory_defconfig | 1 + configs/venice2_defconfig | 1 + configs/ventana_defconfig | 1 + configs/vexpress_aemv8a_dram_defconfig | 1 + configs/vexpress_aemv8a_juno_defconfig | 1 + configs/vexpress_aemv8a_semi_defconfig | 1 + configs/vexpress_ca15_tc2_defconfig | 1 + configs/vexpress_ca5x2_defconfig | 1 + configs/vexpress_ca9x4_defconfig | 1 + configs/wandboard_defconfig | 1 + configs/warp7_defconfig | 1 + configs/warp_defconfig | 1 + configs/whistler_defconfig | 1 + configs/xpress_defconfig | 1 + configs/xpress_spl_defconfig | 1 + configs/zipitz2_defconfig | 1 + 436 files changed, 436 insertions(+)
No, just no NACK at least for all the sunxi boards.
This madness where everytime we convert something to Kconfig we end up bloating ALL the defconfigs needs to stop and it needs to stop now.
I'm 100% done with fixing up things everytime after someone thinks this is a good idea.
This is not a good idea, it is a REALLY REALLY bad idea.
The defconfig files should contain board specific settings, we had the same nonsense when some of the CONFIG_CMD_FOO things were converted, and all of a sudden we had the same 5 extra lines in every defconfig for every board which used to use config_distro_bootcmd.h
Apparently no one was smart enough to realize that if we were moving stuff from a common config header to Kconfig, we would need something like
CONFIG_DISTRO_BOOTCMD in Kconfig which would then select all CONFIG_CMD_FOO options which were moved, and then board / soc Kconfig snippets could simply do:
select CONFIG_DISTRO_BOOTCMD
I've hacked around this for sunxi:
config ARCH_SUNXI bool "Support sunxi (Allwinner) SoCs" select CMD_BOOTZ select CMD_DHCP select CMD_EXT2 select CMD_EXT4 select CMD_FAT select CMD_FS_GENERIC select CMD_GPIO select CMD_MII select CMD_MMC if MMC select CMD_PING select CMD_USB ...
But I'm sick and tired of this nonsense repeating over and over again.
This needs to stop and it needs to stop NOW.
To be honest, I'm getting more and more annoyed by that trend.
I understand the problem that it solves, but it also forces down options that cannot be unselected and really should.
On the options quoted above, CMD_EXT2 for example really doesn't make sense for a board that doesn't have a block device. Yet, you are getting it.
USB_KEYBOARD and DM_ETH fall in the same category. USB_KEYBOARD should be a personal choice, and not something selected by the architecture, just like DM_ETH that prevents any USB-gadget networking.
I'm not sure about the Kconfig version used in U-boot (or if it is dealt with in Kconfig at all), but the kernel allows to specify more than one defconfigs, to be able to extend it a bit, for example to add all the Android options over a regular defconfig.
Having a base sunxi_defconfig + a board defconfig, and a nice wrapper around it would be a much better solution imho,
Yes, we could use the standard merge_config.sh tool to deal with fragments, and once our migration is complete I hope that it starts to make sense to publish fragments and deal with some of the commonality problems that way. The other thing is that I want to encourage (while I feel this is discouraged in the kernel) the use of "default y if ..." throughout the Kconfig files for cases where it makes sense for a given arch/soc/etc to say that the normal case is to enable something (and it doesn't make sense to have it under the generic distro option).