From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Thu, 25 Aug 2016 06:04:47 -0600 Subject: [U-Boot] [PATCH 19/42] Convert CONFIG_SPL_GPIO_SUPPORT to Kconfig In-Reply-To: <20160824193008.GF10464@bill-the-cat> References: <1472057546-10360-1-git-send-email-sjg@chromium.org> <1472057546-10360-20-git-send-email-sjg@chromium.org> <20160824180154.GM8103@lukather> <20160824193008.GF10464@bill-the-cat> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 24 August 2016 at 13:30, Tom Rini wrote: > On Wed, Aug 24, 2016 at 08:01:54PM +0200, Maxime Ripard wrote: >> Hi Simon, >> >> On Wed, Aug 24, 2016 at 10:52:03AM -0600, Simon Glass wrote: >> > Move this option to Kconfig and tidy up existing uses. >> > >> > Signed-off-by: Simon Glass >> > --- >> > >> > configs/A10-OLinuXino-Lime_defconfig | 3 ++- >> > configs/A10s-OLinuXino-M_defconfig | 3 ++- >> > configs/A13-OLinuXinoM_defconfig | 3 ++- >> > configs/A13-OLinuXino_defconfig | 3 ++- >> > configs/A20-OLinuXino-Lime2_defconfig | 3 ++- >> > configs/A20-OLinuXino-Lime_defconfig | 3 ++- >> > configs/A20-OLinuXino_MICRO_defconfig | 5 +++-- >> > configs/A20-Olimex-SOM-EVB_defconfig | 5 +++-- >> > configs/Ainol_AW1_defconfig | 1 + >> > configs/Ampe_A76_defconfig | 3 ++- >> > configs/Auxtek-T003_defconfig | 1 + >> > configs/Auxtek-T004_defconfig | 1 + >> > configs/Bananapi_defconfig | 3 ++- >> > configs/Bananapro_defconfig | 3 ++- >> > configs/CHIP_defconfig | 5 +++-- >> > configs/CSQ_CS908_defconfig | 3 ++- >> > configs/Chuwi_V7_CW0825_defconfig | 1 + >> > configs/Colombus_defconfig | 3 ++- >> > configs/Cubieboard2_defconfig | 3 ++- >> > configs/Cubieboard_defconfig | 3 ++- >> > configs/Cubietruck_defconfig | 3 ++- >> > configs/Cubietruck_plus_defconfig | 2 +- >> > configs/Empire_electronix_d709_defconfig | 3 ++- >> > configs/Hummingbird_A31_defconfig | 3 ++- >> > configs/Hyundai_A7HD_defconfig | 1 + >> > configs/Itead_Ibox_A20_defconfig | 3 ++- >> > configs/Lamobo_R1_defconfig | 3 ++- >> > configs/Linksprite_pcDuino3_Nano_defconfig | 3 ++- >> > configs/Linksprite_pcDuino3_defconfig | 3 ++- >> > configs/Linksprite_pcDuino_defconfig | 3 ++- >> > configs/MK808C_defconfig | 1 + >> > configs/MSI_Primo73_defconfig | 1 + >> > configs/MSI_Primo81_defconfig | 1 + >> > configs/Marsboard_A10_defconfig | 3 ++- >> > configs/Mele_A1000G_quad_defconfig | 3 ++- >> > configs/Mele_A1000_defconfig | 3 ++- >> > configs/Mele_I7_defconfig | 3 ++- >> > configs/Mele_M3_defconfig | 3 ++- >> > configs/Mele_M5_defconfig | 3 ++- >> > configs/Mele_M9_defconfig | 3 ++- >> > configs/Mini-X_defconfig | 1 + >> > configs/Orangepi_defconfig | 3 ++- >> > configs/Orangepi_mini_defconfig | 3 ++- >> > configs/Sinlinx_SinA31s_defconfig | 3 ++- >> > configs/Sinlinx_SinA33_defconfig | 1 + >> > configs/Sinovoip_BPI_M2_defconfig | 3 ++- >> > configs/Sinovoip_BPI_M3_defconfig | 3 ++- >> > configs/UTOO_P66_defconfig | 1 + >> > configs/Wexler_TAB7200_defconfig | 1 + >> > configs/Wits_Pro_A20_DKT_defconfig | 3 ++- >> > configs/Wobo_i5_defconfig | 3 ++- >> > configs/Yones_Toptech_BD1078_defconfig | 1 + >> > configs/Yones_Toptech_BS1078_V2_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_spiboot_defconfig | 1 + >> > configs/am335x_evm_usbspl_defconfig | 1 + >> > configs/am335x_igep0033_defconfig | 1 + >> > configs/am335x_shc_defconfig | 1 + >> > configs/am335x_shc_ict_defconfig | 1 + >> > configs/am335x_shc_netboot_defconfig | 1 + >> > configs/am335x_shc_prompt_defconfig | 1 + >> > configs/am335x_shc_sdboot_defconfig | 1 + >> > configs/am335x_shc_sdboot_prompt_defconfig | 1 + >> > configs/am335x_sl50_defconfig | 1 + >> > configs/am43xx_evm_defconfig | 1 + >> > configs/am43xx_evm_ethboot_defconfig | 1 + >> > configs/am43xx_evm_usbhost_boot_defconfig | 1 + >> > configs/am43xx_hs_evm_defconfig | 1 + >> > configs/am57xx_evm_defconfig | 1 + >> > configs/am57xx_evm_nodt_defconfig | 1 + >> > configs/am57xx_hs_evm_defconfig | 1 + >> > configs/apalis_t30_defconfig | 4 ++-- >> > configs/apx4devkit_defconfig | 3 ++- >> > configs/arndale_defconfig | 5 +++-- >> > configs/at91sam9m10g45ek_mmc_defconfig | 1 + >> > configs/at91sam9m10g45ek_nandflash_defconfig | 3 ++- >> > configs/at91sam9n12ek_nandflash_defconfig | 3 ++- >> > configs/at91sam9n12ek_spiflash_defconfig | 3 ++- >> > configs/at91sam9x5ek_nandflash_defconfig | 3 ++- >> > configs/at91sam9x5ek_spiflash_defconfig | 3 ++- >> > configs/axm_defconfig | 5 +++-- >> > configs/ba10_tv_box_defconfig | 3 ++- >> > configs/beaver_defconfig | 4 ++-- >> > configs/bg0900_defconfig | 3 ++- >> > configs/birdland_bav335a_defconfig | 1 + >> > configs/birdland_bav335b_defconfig | 1 + >> > configs/brppt1_mmc_defconfig | 3 ++- >> > configs/brppt1_nand_defconfig | 3 ++- >> > configs/brppt1_spi_defconfig | 3 ++- >> > configs/brxre1_defconfig | 3 ++- >> > configs/cairo_defconfig | 1 + >> > configs/cardhu_defconfig | 4 ++-- >> > configs/cgtqmx6eval_defconfig | 1 + >> > configs/cm_fx6_defconfig | 3 ++- >> > configs/cm_t335_defconfig | 1 + >> > configs/cm_t35_defconfig | 1 + >> > configs/cm_t54_defconfig | 1 + >> > configs/colibri_t20_defconfig | 4 ++-- >> > configs/colibri_t30_defconfig | 4 ++-- >> > configs/colorfly_e708_q1_defconfig | 1 + >> > configs/corvus_defconfig | 10 ++++----- >> > configs/dalmore_defconfig | 4 ++-- >> > configs/devkit8000_defconfig | 1 + >> > configs/difrnce_dit4350_defconfig | 3 ++- >> > configs/dra7xx_evm_defconfig | 1 + >> > configs/dra7xx_hs_evm_defconfig | 1 + >> > configs/draco_defconfig | 1 + >> > configs/dserve_dsrv9703c_defconfig | 1 + >> > configs/duovero_defconfig | 1 + >> > configs/eco5pk_defconfig | 1 + >> > configs/etamin_defconfig | 1 + >> > configs/ga10h_v1_1_defconfig | 3 ++- >> > configs/gt90h_v4_defconfig | 3 ++- >> > configs/gwventana_defconfig | 1 + >> > configs/h8_homlet_v2_defconfig | 2 +- >> > configs/harmony_defconfig | 4 ++-- >> > configs/i12-tvbox_defconfig | 3 ++- >> > configs/iNet_3F_defconfig | 1 + >> > configs/iNet_3W_defconfig | 1 + >> > configs/iNet_86VS_defconfig | 1 + >> > configs/icnova-a20-swac_defconfig | 3 ++- >> > configs/igep0020_defconfig | 1 + >> > configs/igep0030_defconfig | 1 + >> > configs/igep0030_nand_defconfig | 1 + >> > configs/igep0032_defconfig | 1 + >> > configs/inet1_defconfig | 1 + >> > configs/inet86dz_defconfig | 3 ++- >> > configs/inet97fv2_defconfig | 1 + >> > configs/inet98v_rev2_defconfig | 3 ++- >> > configs/inet9f_rev03_defconfig | 1 + >> > configs/ipam390_defconfig | 1 + >> > configs/jesurun_q5_defconfig | 3 ++- >> > configs/jetson-tk1_defconfig | 4 ++-- >> > configs/kc1_defconfig | 1 + >> > configs/m28evk_defconfig | 3 ++- >> > configs/m53evk_defconfig | 3 ++- >> > configs/ma5d4evk_defconfig | 3 ++- >> > configs/medcom-wide_defconfig | 4 ++-- >> > configs/mixtile_loftq_defconfig | 3 ++- >> > configs/mk802_a10s_defconfig | 1 + >> > configs/mk802_defconfig | 3 ++- >> > configs/mk802ii_defconfig | 1 + >> > configs/mt_ventoux_defconfig | 1 + >> > configs/mx23_olinuxino_defconfig | 3 ++- >> > configs/mx23evk_defconfig | 3 ++- >> > configs/mx28evk_auart_console_defconfig | 3 ++- >> > configs/mx28evk_defconfig | 3 ++- >> > configs/mx28evk_nand_defconfig | 3 ++- >> > configs/mx28evk_spi_defconfig | 3 ++- >> > configs/mx6cuboxi_defconfig | 1 + >> > configs/mx6sabresd_spl_defconfig | 1 + >> > configs/mx6slevk_spl_defconfig | 1 + >> > configs/mx6sxsabresd_spl_defconfig | 1 + >> > configs/mx6ul_14x14_evk_defconfig | 1 + >> > configs/mx6ul_9x9_evk_defconfig | 1 + >> > configs/novena_defconfig | 1 + >> > configs/nyan-big_defconfig | 4 ++-- >> > configs/omap3_beagle_defconfig | 1 + >> > configs/omap3_ha_defconfig | 1 + >> > configs/omap3_logic_defconfig | 1 + >> > configs/omap3_overo_defconfig | 1 + >> > configs/omap4_panda_defconfig | 1 + >> > configs/omap4_sdp4430_defconfig | 1 + >> > configs/omap5_uevm_defconfig | 1 + >> > configs/orangepi_2_defconfig | 3 +-- >> > configs/orangepi_lite_defconfig | 3 +-- >> > configs/orangepi_one_defconfig | 5 ++--- >> > configs/orangepi_pc_defconfig | 5 ++--- >> > configs/orangepi_pc_plus_defconfig | 5 ++--- >> > configs/orangepi_plus_defconfig | 5 ++--- >> > configs/ot1200_spl_defconfig | 3 ++- >> > configs/parrot_r16_defconfig | 31 ++++++++-------------------- >> > configs/paz00_defconfig | 4 ++-- >> > configs/pcm051_rev1_defconfig | 1 + >> > configs/pcm051_rev3_defconfig | 1 + >> > configs/pcm058_defconfig | 1 + >> > configs/peach-pi_defconfig | 5 +++-- >> > configs/peach-pit_defconfig | 5 +++-- >> > configs/pengwyn_defconfig | 1 + >> > configs/pepper_defconfig | 1 + >> > configs/picosam9g45_defconfig | 1 + >> > configs/platinum_picon_defconfig | 1 + >> > configs/platinum_titanium_defconfig | 1 + >> > configs/plutux_defconfig | 4 ++-- >> > configs/polaroid_mid2407pxe03_defconfig | 3 ++- >> > configs/polaroid_mid2809pxe04_defconfig | 3 ++- >> > configs/pov_protab2_ips9_defconfig | 1 + >> > configs/pxm2_defconfig | 1 + >> > configs/q8_a13_tablet_defconfig | 3 ++- >> > configs/q8_a23_tablet_800x480_defconfig | 3 ++- >> > configs/q8_a33_tablet_1024x600_defconfig | 3 ++- >> > configs/q8_a33_tablet_800x480_defconfig | 3 ++- >> > configs/r7-tv-dongle_defconfig | 1 + >> > configs/rastaban_defconfig | 1 + >> > configs/rut_defconfig | 1 + >> > configs/sama5d2_ptc_nandflash_defconfig | 3 ++- >> > configs/sama5d2_ptc_spiflash_defconfig | 3 ++- >> > configs/sama5d2_xplained_mmc_defconfig | 1 + >> > configs/sama5d2_xplained_spiflash_defconfig | 3 ++- >> > configs/sama5d3_xplained_mmc_defconfig | 1 + >> > configs/sama5d3_xplained_nandflash_defconfig | 3 ++- >> > configs/sama5d3xek_mmc_defconfig | 1 + >> > configs/sama5d3xek_nandflash_defconfig | 3 ++- >> > configs/sama5d3xek_spiflash_defconfig | 3 ++- >> > configs/sama5d4_xplained_mmc_defconfig | 1 + >> > configs/sama5d4_xplained_nandflash_defconfig | 3 ++- >> > configs/sama5d4_xplained_spiflash_defconfig | 3 ++- >> > configs/sama5d4ek_mmc_defconfig | 1 + >> > configs/sama5d4ek_nandflash_defconfig | 3 ++- >> > configs/sama5d4ek_spiflash_defconfig | 3 ++- >> > configs/sansa_fuze_plus_defconfig | 3 ++- >> > configs/sc_sps_1_defconfig | 3 ++- >> > configs/seaboard_defconfig | 4 ++-- >> > configs/smartweb_defconfig | 3 ++- >> > configs/smdk5250_defconfig | 5 +++-- >> > configs/smdk5420_defconfig | 5 +++-- >> > configs/sniper_defconfig | 1 + >> > configs/snow_defconfig | 5 +++-- >> > configs/spring_defconfig | 5 +++-- >> > configs/sunxi_Gemei_G9_defconfig | 1 + >> > configs/tao3530_defconfig | 1 + >> > configs/taurus_defconfig | 5 +++-- >> > configs/tec-ng_defconfig | 4 ++-- >> > configs/tec_defconfig | 4 ++-- >> > configs/thuban_defconfig | 1 + >> > configs/ti814x_evm_defconfig | 1 + >> > configs/ti816x_evm_defconfig | 1 + >> > configs/tricorder_defconfig | 1 + >> > configs/tricorder_flash_defconfig | 1 + >> > configs/trimslice_defconfig | 4 ++-- >> > configs/twister_defconfig | 1 + >> > configs/udoo_defconfig | 1 + >> > configs/venice2_defconfig | 4 ++-- >> > configs/ventana_defconfig | 4 ++-- >> > configs/wandboard_defconfig | 1 + >> > configs/whistler_defconfig | 4 ++-- >> > configs/woodburn_sd_defconfig | 3 ++- >> > configs/xfi3_defconfig | 3 ++- >> > configs/xpress_spl_defconfig | 1 + >> > configs/zc5202_defconfig | 1 + >> > configs/zc5601_defconfig | 1 + >> > include/configs/at91sam9m10g45ek.h | 1 - >> > include/configs/at91sam9n12ek.h | 1 - >> > include/configs/at91sam9x5ek.h | 1 - >> > include/configs/brppt1.h | 1 - >> > include/configs/brxre1.h | 1 - >> > include/configs/chromebook_jerry.h | 2 -- >> > include/configs/cm_t35.h | 1 - >> > include/configs/cm_t43.h | 1 - >> > include/configs/corvus.h | 1 - >> > include/configs/exynos5-common.h | 1 - >> > include/configs/imx6_spl.h | 1 - >> > include/configs/ipam390.h | 1 - >> > include/configs/kc1.h | 1 - >> > include/configs/m53evk.h | 1 - >> > include/configs/ma5d4evk.h | 1 - >> > include/configs/mxs.h | 1 - >> > include/configs/picosam9g45.h | 1 - >> > include/configs/sama5d2_ptc.h | 1 - >> > include/configs/sama5d2_xplained.h | 1 - >> > include/configs/sama5d3_xplained.h | 1 - >> > include/configs/sama5d3xek.h | 1 - >> > include/configs/sama5d4_xplained.h | 1 - >> > include/configs/sama5d4ek.h | 1 - >> > include/configs/siemens-am33x-common.h | 1 - >> > include/configs/smartweb.h | 1 - >> > include/configs/sniper.h | 1 - >> > include/configs/sunxi-common.h | 1 - >> > include/configs/tam3517-common.h | 1 - >> > include/configs/tao3530.h | 1 - >> > include/configs/taurus.h | 1 - >> > include/configs/tegra-common.h | 1 - >> > include/configs/ti814x_evm.h | 1 - >> > include/configs/ti816x_evm.h | 1 - >> > include/configs/ti_armv7_common.h | 1 - >> > include/configs/ti_armv7_keystone2.h | 1 - >> > include/configs/tricorder.h | 1 - >> > include/configs/woodburn_sd.h | 1 - >> > 282 files changed, 392 insertions(+), 235 deletions(-) >> >> Wouldn't it be better to have a default y in the relevant >> architectures? >> >> That would reduce the duplication of all those symbols, and would be >> less error-prone. > > Yes. I think the parts of this series that convert from a define to > Kconfig need to also in some cases either default y or be selected, > depending on what type they are, and we can always come back and move > from select to default y too if we get it wrong. For example, GPIO > support is probably an "all SoC of type ... need" thing so should be > selected, and that's true (I bet) for sunxi and TI (non-keystone, hence > the way it's done today). Other things like FAT support should be a > default y at least for (non-keystone) TI parts. Yes that makes sense to me. I'd argue for a separate patch though since its hard enough to get things right without making manual changes. We have this problem in general too. I believe there are quite a few options which could benefit from a little bit of karnaugh mapping. I wonder if we could have a tool which works out what ARCH... options determine what other options.... Regards, Simon