[U-Boot] [PATCH 0/8] Clean up CONFIG_SYS_{CBSIZE, PBSIZE, MAXARGS, BARGSIZE} definitions

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Aug 23 20:58:58 UTC 2017


Hello,

While adding support for new platforms, I found out that many, many
platforms define pretty much the same values for:

 CONFIG_SYS_CBSIZE
 CONFIG_SYS_PBSIZE
 CONFIG_SYS_MAXARGS
 CONFIG_SYS_BARGSIZE

with just a few platforms deviating from the values that have clearly
been copy/pasted over and over again all over the place.

In this patch series, I propose to have U-Boot define some sane
defaults for those 4 configuration options, and cleanup all the board
configuration files that were using the default values. This leads to
the removal of 1300+ lines.

Of course, this is all open for discussion, and at this point, I have
only done minimal build testing, as my goal is to get the discussion
started.

Open questions:

 - Do we really need to have all those remaining boards with
   custom/arbitrary values for those configuration options?

 - Does it really makes sense for those configuration options to be
   customized in board configuration files? For example, the size of
   the kernel command line is not at all tied to the underlying
   hardware, but rather how much arguments the user wants to pass to
   the kernel. Ditto for the maximum number of arguments passed to
   U-Boot commands. Perhaps we want to remove those options entirely
   from the .h files, and simply have a Kconfig option instead?

Also, let me know if I have missed some existing work in this area.

Thanks for your feedback!

Thomas Petazzoni

Thomas Petazzoni (8):
  include/config_fallbacks.h: add default for CONFIG_SYS_CBSIZE
  include/configs: remove CONFIG_SYS_CBSIZE when the default value is
    used
  include/config_fallbacks.h: change fallback for CONFIG_SYS_PBSIZE
  include/configs: drop default definitions of CONFIG_SYS_PBSIZE
  include/config_fallbacks.h: add default for CONFIG_SYS_MAXARGS
  include/configs: drop default definitions of CONFIG_SYS_MAXARGS
  include/configs: remove default values of CONFIG_SYS_BARGSIZE
  include/configs: remove numerous CONFIG_SYS_BARGSIZE definitions

 include/config_fallbacks.h             | 15 ++++++++++++++-
 include/configs/10m50_devboard.h       |  6 ------
 include/configs/3c120_devboard.h       |  6 ------
 include/configs/B4860QDS.h             |  8 --------
 include/configs/BSC9131RDB.h           |  3 ---
 include/configs/BSC9132QDS.h           | 10 ----------
 include/configs/C29XPCIE.h             |  6 ------
 include/configs/M5208EVBE.h            |  9 ---------
 include/configs/M52277EVB.h            |  9 ---------
 include/configs/M5235EVB.h             |  9 ---------
 include/configs/M5249EVB.h             |  9 ---------
 include/configs/M5253DEMO.h            |  9 ---------
 include/configs/M5253EVBE.h            |  9 ---------
 include/configs/M5272C3.h              |  9 ---------
 include/configs/M5275EVB.h             |  9 ---------
 include/configs/M5282EVB.h             |  9 ---------
 include/configs/M53017EVB.h            |  9 ---------
 include/configs/M5329EVB.h             |  9 ---------
 include/configs/M5373EVB.h             |  9 ---------
 include/configs/M54418TWR.h            | 12 ------------
 include/configs/M54451EVB.h            |  7 -------
 include/configs/M54455EVB.h            |  9 ---------
 include/configs/M5475EVB.h             |  9 ---------
 include/configs/M5485EVB.h             |  9 ---------
 include/configs/MCR3000.h              |  4 ----
 include/configs/MPC8308RDB.h           |  3 ---
 include/configs/MPC8313ERDB.h          |  4 ----
 include/configs/MPC8315ERDB.h          | 12 ------------
 include/configs/MPC8323ERDB.h          | 12 ------------
 include/configs/MPC832XEMDS.h          | 12 ------------
 include/configs/MPC8349EMDS.h          | 12 ------------
 include/configs/MPC8349ITX.h           | 12 ------------
 include/configs/MPC837XEMDS.h          | 12 ------------
 include/configs/MPC837XERDB.h          | 12 ------------
 include/configs/MPC8536DS.h            |  9 ---------
 include/configs/MPC8540ADS.h           | 10 ----------
 include/configs/MPC8541CDS.h           |  8 --------
 include/configs/MPC8544DS.h            |  8 --------
 include/configs/MPC8548CDS.h           |  8 --------
 include/configs/MPC8555CDS.h           |  8 --------
 include/configs/MPC8560ADS.h           |  8 --------
 include/configs/MPC8568MDS.h           |  8 --------
 include/configs/MPC8569MDS.h           |  2 --
 include/configs/MPC8572DS.h            |  8 --------
 include/configs/MPC8610HPCD.h          | 10 ----------
 include/configs/MPC8641HPCN.h          | 10 ----------
 include/configs/MigoR.h                |  3 ---
 include/configs/P1010RDB.h             | 10 ----------
 include/configs/P1022DS.h              |  9 ---------
 include/configs/P1023RDB.h             | 10 ----------
 include/configs/P2041RDB.h             | 11 -----------
 include/configs/T102xQDS.h             |  8 --------
 include/configs/T102xRDB.h             |  8 --------
 include/configs/T1040QDS.h             |  8 --------
 include/configs/T104xRDB.h             |  8 --------
 include/configs/T208xQDS.h             |  8 --------
 include/configs/T208xRDB.h             |  8 --------
 include/configs/T4240RDB.h             |  8 --------
 include/configs/TQM834x.h              | 12 ------------
 include/configs/UCP1020.h              |  9 ---------
 include/configs/adp-ae3xx.h            | 11 -----------
 include/configs/adp-ag101p.h           | 11 -----------
 include/configs/advantech_dms-ba16.h   |  4 ----
 include/configs/am3517_crane.h         |  5 -----
 include/configs/am3517_evm.h           |  5 -----
 include/configs/amcore.h               | 14 --------------
 include/configs/ap121.h                |  4 ----
 include/configs/ap143.h                |  4 ----
 include/configs/ap325rxa.h             |  6 ------
 include/configs/ap_sh4a_4a.h           |  6 ------
 include/configs/apalis-tk1.h           |  3 ---
 include/configs/apalis_t30.h           |  3 ---
 include/configs/apf27.h                |  4 ----
 include/configs/aristainetos-common.h  |  3 ---
 include/configs/armadillo-800eva.h     |  3 ---
 include/configs/aspeed-common.h        |  7 -------
 include/configs/astro_mcf5373l.h       |  9 ---------
 include/configs/at91-sama5_common.h    |  2 --
 include/configs/at91rm9200ek.h         |  5 -----
 include/configs/at91sam9260ek.h        |  2 --
 include/configs/at91sam9261ek.h        |  2 --
 include/configs/at91sam9263ek.h        |  2 --
 include/configs/at91sam9m10g45ek.h     |  2 --
 include/configs/at91sam9n12ek.h        |  2 --
 include/configs/at91sam9rlek.h         |  2 --
 include/configs/at91sam9x5ek.h         |  2 --
 include/configs/axs10x.h               |  5 -----
 include/configs/bcm23550_w1d.h         |  2 --
 include/configs/bcm28155_ap.h          |  2 --
 include/configs/bcm_ep_board.h         |  2 --
 include/configs/bcm_northstar2.h       |  2 --
 include/configs/boston.h               |  4 ----
 include/configs/bur_cfg_common.h       |  5 -----
 include/configs/calimain.h             |  2 --
 include/configs/cm_fx6.h               |  4 ----
 include/configs/cm_t35.h               |  7 -------
 include/configs/cm_t3517.h             |  5 -----
 include/configs/cobra5272.h            |  9 ---------
 include/configs/colibri_pxa270.h       |  5 -----
 include/configs/colibri_t20.h          |  3 ---
 include/configs/colibri_t30.h          |  3 ---
 include/configs/colibri_vf.h           |  3 ---
 include/configs/controlcenterd.h       |  9 ---------
 include/configs/corenet_ds.h           |  8 --------
 include/configs/corvus.h               |  4 ----
 include/configs/cyrus.h                |  8 --------
 include/configs/da850evm.h             |  2 --
 include/configs/dbau1x00.h             |  4 ----
 include/configs/devkit3250.h           |  3 ---
 include/configs/dragonboard410c.h      |  3 ---
 include/configs/ea20.h                 |  2 --
 include/configs/eb_cpu5282.h           |  2 --
 include/configs/ecovec.h               |  6 ------
 include/configs/edb93xx.h              |  5 -----
 include/configs/edison.h               |  1 -
 include/configs/edminiv2.h             |  3 ---
 include/configs/embestmx6boards.h      |  3 ---
 include/configs/espt.h                 |  4 ----
 include/configs/ethernut5.h            |  4 ----
 include/configs/exynos-common.h        |  1 -
 include/configs/exynos7420-common.h    |  1 -
 include/configs/flea3.h                |  1 -
 include/configs/ge_bx50v3.h            |  4 ----
 include/configs/gw_ventana.h           |  3 ---
 include/configs/h2200.h                |  8 --------
 include/configs/highbank.h             |  4 ----
 include/configs/hikey.h                |  3 ---
 include/configs/hrcon.h                |  3 ---
 include/configs/hsdk.h                 |  5 -----
 include/configs/ids8313.h              |  3 ---
 include/configs/imgtec_xilfpga.h       |  1 -
 include/configs/imx27lite-common.h     |  4 ----
 include/configs/imx31_phycore.h        |  9 ---------
 include/configs/integrator-common.h    |  4 ----
 include/configs/ipam390.h              |  2 --
 include/configs/kc1.h                  |  3 ---
 include/configs/km/keymile-common.h    |  1 -
 include/configs/kzm9g.h                |  3 ---
 include/configs/legoev3.h              |  2 --
 include/configs/ls1012a_common.h       |  3 ---
 include/configs/ls1021aiot.h           |  5 -----
 include/configs/ls1021aqds.h           |  5 -----
 include/configs/ls1021atwr.h           |  5 -----
 include/configs/ls1043a_common.h       |  3 ---
 include/configs/ls1043aqds.h           |  3 ---
 include/configs/ls1046a_common.h       |  3 ---
 include/configs/ls1046aqds.h           |  3 ---
 include/configs/ls2080a_common.h       |  3 ---
 include/configs/m53evk.h               |  3 ---
 include/configs/malta.h                |  5 -----
 include/configs/mcx.h                  |  5 -----
 include/configs/meesc.h                |  3 ---
 include/configs/meson-gxbb-common.h    |  5 -----
 include/configs/microblaze-generic.h   |  3 ---
 include/configs/mpc8308_p1m.h          |  3 ---
 include/configs/mpr2.h                 |  4 ----
 include/configs/ms7720se.h             |  4 ----
 include/configs/ms7722se.h             |  3 ---
 include/configs/ms7750se.h             |  3 ---
 include/configs/mv-common.h            |  2 --
 include/configs/mvebu_armada-37xx.h    |  2 --
 include/configs/mvebu_armada-8k.h      |  2 --
 include/configs/mx25pdk.h              |  7 -------
 include/configs/mx31ads.h              |  5 -----
 include/configs/mx31pdk.h              |  5 -----
 include/configs/mx35pdk.h              |  3 ---
 include/configs/mx51evk.h              |  3 ---
 include/configs/mx53ard.h              |  6 ------
 include/configs/mx53cx9020.h           |  3 ---
 include/configs/mx53evk.h              |  6 ------
 include/configs/mx53loco.h             |  3 ---
 include/configs/mx53smd.h              |  6 ------
 include/configs/mx6_common.h           |  1 -
 include/configs/mx7_common.h           |  1 -
 include/configs/mx7ulp_evk.h           |  3 ---
 include/configs/nokia_rx51.h           |  7 -------
 include/configs/nsim.h                 |  5 -----
 include/configs/omapl138_lcdk.h        |  2 --
 include/configs/ot1200.h               |  3 ---
 include/configs/p1_p2_rdb_pc.h         |  9 ---------
 include/configs/p1_twr.h               |  9 ---------
 include/configs/pb1x00.h               |  3 ---
 include/configs/pcm052.h               |  5 -----
 include/configs/pic32mzdask.h          |  3 ---
 include/configs/picosam9g45.h          |  4 ----
 include/configs/platinum.h             |  4 ----
 include/configs/pm9261.h               |  4 ----
 include/configs/pm9263.h               |  4 ----
 include/configs/pm9g45.h               |  4 ----
 include/configs/poplar.h               |  3 ---
 include/configs/qemu-mips.h            |  7 -------
 include/configs/qemu-mips64.h          |  7 -------
 include/configs/qemu-ppce500.h         |  4 ----
 include/configs/r0p7734.h              |  9 ---------
 include/configs/r2dplus.h              |  3 ---
 include/configs/r7780mp.h              |  3 ---
 include/configs/rcar-gen2-common.h     |  3 ---
 include/configs/rcar-gen3-common.h     |  2 --
 include/configs/rk3036_common.h        |  1 -
 include/configs/rk3188_common.h        |  1 -
 include/configs/rk322x_common.h        |  1 -
 include/configs/rk3288_common.h        |  1 -
 include/configs/rk3328_common.h        |  1 -
 include/configs/rk3368_common.h        |  1 -
 include/configs/rk3399_common.h        |  1 -
 include/configs/rpi.h                  |  3 ---
 include/configs/rsk7203.h              |  5 -----
 include/configs/rsk7264.h              |  2 --
 include/configs/rsk7269.h              |  2 --
 include/configs/rv1108_common.h        |  1 -
 include/configs/s32v234evb.h           |  5 -----
 include/configs/s5p_goni.h             |  4 ----
 include/configs/sandbox.h              |  4 ----
 include/configs/sbc8349.h              | 12 ------------
 include/configs/sbc8548.h              |  8 --------
 include/configs/sbc8641d.h             | 10 ----------
 include/configs/secomx6quq7.h          |  4 ----
 include/configs/sh7752evb.h            |  3 ---
 include/configs/sh7753evb.h            |  3 ---
 include/configs/sh7757lcr.h            |  3 ---
 include/configs/sh7763rdp.h            |  4 ----
 include/configs/sh7785lcr.h            |  3 ---
 include/configs/shmin.h                |  4 ----
 include/configs/siemens-am33x-common.h |  4 ----
 include/configs/smartweb.h             |  2 --
 include/configs/smdkc100.h             |  4 ----
 include/configs/snapper9260.h          |  4 ----
 include/configs/snapper9g45.h          |  4 ----
 include/configs/sniper.h               |  3 ---
 include/configs/socfpga_common.h       |  2 --
 include/configs/socrates.h             | 10 ----------
 include/configs/spear-common.h         |  5 -----
 include/configs/stih410-b2260.h        |  1 -
 include/configs/stm32f429-discovery.h  |  4 ----
 include/configs/stm32f746-disco.h      |  3 ---
 include/configs/strider.h              |  3 ---
 include/configs/stv0991.h              |  3 ---
 include/configs/sunxi-common.h         |  4 ----
 include/configs/t4qds.h                |  8 --------
 include/configs/tam3517-common.h       |  5 -----
 include/configs/tao3530.h              |  8 --------
 include/configs/taurus.h               |  4 ----
 include/configs/tb100.h                |  5 -----
 include/configs/tegra-common.h         |  2 --
 include/configs/thunderx_88xx.h        |  3 ---
 include/configs/ti814x_evm.h           |  9 ---------
 include/configs/ti_armv7_common.h      |  3 ---
 include/configs/titanium.h             |  4 ----
 include/configs/tricorder.h            |  7 -------
 include/configs/ts4800.h               |  5 -----
 include/configs/udoo.h                 |  3 ---
 include/configs/uniphier.h             |  3 ---
 include/configs/usb_a9263.h            |  4 ----
 include/configs/usbarmory.h            |  3 ---
 include/configs/vct.h                  |  3 ---
 include/configs/ve8313.h               |  2 --
 include/configs/vexpress_aemv8a.h      |  3 ---
 include/configs/vexpress_common.h      |  5 -----
 include/configs/vf610twr.h             |  5 -----
 include/configs/vme8349.h              | 10 ----------
 include/configs/woodburn_common.h      |  5 -----
 include/configs/work_92105.h           |  3 ---
 include/configs/x600.h                 |  5 -----
 include/configs/x86-common.h           |  5 -----
 include/configs/xilinx_zynqmp.h        |  2 --
 include/configs/xpedite517x.h          |  4 ----
 include/configs/xpedite520x.h          |  4 ----
 include/configs/xpedite537x.h          |  4 ----
 include/configs/xpedite550x.h          |  4 ----
 include/configs/xtfpga.h               |  5 -----
 include/configs/zipitz2.h              |  5 +----
 include/configs/zmx25.h                |  4 ----
 include/configs/zynq-common.h          |  3 ---
 273 files changed, 15 insertions(+), 1366 deletions(-)

-- 
2.9.4



More information about the U-Boot mailing list