[U-Boot] [PATCH 19/42] Convert CONFIG_SPL_GPIO_SUPPORT to Kconfig

Simon Glass sjg at chromium.org
Thu Aug 25 14:04:47 CEST 2016


Hi,

On 24 August 2016 at 13:30, Tom Rini <trini at konsulko.com> 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 <sjg at chromium.org>
>> > ---
>> >
>> >  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


More information about the U-Boot mailing list