[U-Boot] [PATCH v3 0/5] Migrate BOUNCE_BUFFER

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Fri Nov 30 21:13:24 UTC 2018


A number of MMC drivers uses BOUNCE_BUFFER for their DMA buffers.
This moves it into Kconfig and performs a step-by-step migration for
the affected boards/drivers.

Given that BOUNCE_BUFFER only controls whether the bounce_buffer_*
functions are build and linked, this configuration option could be
entirely removed and the utility functions built unconditionally.  For
platforms that don't make use of these functions, the linker will then
remove the unused symbols.

I'll leave the final decision if this would be a better implementation
(or if this should be done in a two-stage process) to someone else...


Changes in v3:
- also remove the define from the recently added rv1108_common.h

Changes in v2:
- address sequencing of changes to ensure that tree remains buildable
  after each individual patch is applied
- extended help message in Kconfig to explicitly note that bounce
  buffers can be used to have properly aligned buffers

Philipp Tomsich (5):
  Kconfig: Migrate BOUNCE_BUFFER
  mmc: dw_mmc: depend on BOUNCE_BUFFER
  mmc: mxsmmc: select BOUNCE_BUFFER unconditionally
  mmc: tegra: select BOUNCE_BUFFER unconditionally
  arc: select BOUNCE_BUFFER for CMD_NAND on AXS10x

 arch/arc/Kconfig                          |  2 ++
 common/Kconfig                            | 11 +++++++++++
 configs/apalis-tk1_defconfig              |  1 +
 configs/apalis_imx6_defconfig             |  1 +
 configs/apalis_imx6_nospl_com_defconfig   |  1 +
 configs/apalis_imx6_nospl_it_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/bcm911360_entphn-ns_defconfig     |  1 +
 configs/bcm911360_entphn_defconfig        |  1 +
 configs/bcm911360k_defconfig              |  1 +
 configs/bcm958300k-ns_defconfig           |  1 +
 configs/bcm958300k_defconfig              |  1 +
 configs/bcm958305k_defconfig              |  1 +
 configs/bcm958622hr_defconfig             |  1 +
 configs/beaver_defconfig                  |  1 +
 configs/cardhu_defconfig                  |  1 +
 configs/cei-tk1-som_defconfig             |  1 +
 configs/cgtqmx6eval_defconfig             |  1 +
 configs/chromebit_mickey_defconfig        |  1 +
 configs/chromebook_jerry_defconfig        |  1 +
 configs/chromebook_minnie_defconfig       |  1 +
 configs/cl-som-imx7_defconfig             |  1 +
 configs/cm_fx6_defconfig                  |  1 +
 configs/colibri-imx6ull_defconfig         |  1 +
 configs/colibri_imx6_defconfig            |  1 +
 configs/colibri_imx6_nospl_defconfig      |  1 +
 configs/colibri_imx7_defconfig            |  1 +
 configs/colibri_t20_defconfig             |  1 +
 configs/colibri_t30_defconfig             |  1 +
 configs/dalmore_defconfig                 |  1 +
 configs/dh_imx6_defconfig                 |  1 +
 configs/display5_defconfig                |  1 +
 configs/display5_factory_defconfig        |  1 +
 configs/dms-ba16-1g_defconfig             |  1 +
 configs/dms-ba16_defconfig                |  1 +
 configs/e2220-1170_defconfig              |  1 +
 configs/evb-px5_defconfig                 |  1 +
 configs/evb-rk3036_defconfig              |  1 +
 configs/evb-rk3128_defconfig              |  1 +
 configs/evb-rk3229_defconfig              |  1 +
 configs/evb-rk3288_defconfig              |  1 +
 configs/evb-rk3328_defconfig              |  1 +
 configs/evb-rk3399_defconfig              |  1 +
 configs/fennec-rk3288_defconfig           |  1 +
 configs/firefly-rk3288_defconfig          |  1 +
 configs/firefly-rk3399_defconfig          |  1 +
 configs/ge_bx50v3_defconfig               |  1 +
 configs/geekbox_defconfig                 |  1 +
 configs/gwventana_emmc_defconfig          |  1 +
 configs/gwventana_gw5904_defconfig        |  1 +
 configs/gwventana_nand_defconfig          |  1 +
 configs/harmony_defconfig                 |  1 +
 configs/hikey_defconfig                   |  1 +
 configs/imx6dl_icore_nand_defconfig       |  1 +
 configs/imx6dl_mamoj_defconfig            |  1 +
 configs/imx6q_icore_nand_defconfig        |  1 +
 configs/imx6q_logic_defconfig             |  1 +
 configs/imx6qdl_icore_mipi_defconfig      |  1 +
 configs/imx6qdl_icore_mmc_defconfig       |  1 +
 configs/imx6qdl_icore_nand_defconfig      |  1 +
 configs/imx6qdl_icore_rqs_defconfig       |  1 +
 configs/imx6ul_geam_mmc_defconfig         |  1 +
 configs/imx6ul_geam_nand_defconfig        |  1 +
 configs/imx6ul_isiot_emmc_defconfig       |  1 +
 configs/imx6ul_isiot_nand_defconfig       |  1 +
 configs/jetson-tk1_defconfig              |  1 +
 configs/kp_imx6q_tpc_defconfig            |  1 +
 configs/kylin-rk3036_defconfig            |  1 +
 configs/lion-rk3368_defconfig             |  1 +
 configs/liteboard_defconfig               |  1 +
 configs/marsboard_defconfig               |  1 +
 configs/mccmon6_nor_defconfig             |  1 +
 configs/mccmon6_sd_defconfig              |  1 +
 configs/medcom-wide_defconfig             |  1 +
 configs/miqi-rk3288_defconfig             |  1 +
 configs/mx23_olinuxino_defconfig          |  1 +
 configs/mx23evk_defconfig                 |  1 +
 configs/mx28evk_auart_console_defconfig   |  1 +
 configs/mx28evk_defconfig                 |  1 +
 configs/mx28evk_nand_defconfig            |  1 +
 configs/mx28evk_spi_defconfig             |  1 +
 configs/mx6cuboxi_defconfig               |  1 +
 configs/mx6dlarm2_defconfig               |  1 +
 configs/mx6dlarm2_lpddr2_defconfig        |  1 +
 configs/mx6memcal_defconfig               |  1 +
 configs/mx6qarm2_defconfig                |  1 +
 configs/mx6qarm2_lpddr2_defconfig         |  1 +
 configs/mx6qsabrelite_defconfig           |  1 +
 configs/mx6sabreauto_defconfig            |  1 +
 configs/mx6sabresd_defconfig              |  1 +
 configs/mx6slevk_defconfig                |  1 +
 configs/mx6slevk_spinor_defconfig         |  1 +
 configs/mx6slevk_spl_defconfig            |  1 +
 configs/mx6sllevk_defconfig               |  1 +
 configs/mx6sllevk_plugin_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/mx6ull_14x14_evk_defconfig        |  1 +
 configs/mx6ull_14x14_evk_plugin_defconfig |  1 +
 configs/mx7dsabresd_defconfig             |  1 +
 configs/mx7dsabresd_qspi_defconfig        |  1 +
 configs/mx7ulp_evk_defconfig              |  1 +
 configs/mx7ulp_evk_plugin_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-xu3_defconfig              |  1 +
 configs/odroid_defconfig                  |  1 +
 configs/opos6uldev_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-000_defconfig          |  1 +
 configs/p2771-0000-500_defconfig          |  1 +
 configs/paz00_defconfig                   |  1 +
 configs/pcm058_defconfig                  |  1 +
 configs/peach-pi_defconfig                |  1 +
 configs/peach-pit_defconfig               |  1 +
 configs/pfla02_defconfig                  |  1 +
 configs/phycore-rk3288_defconfig          |  1 +
 configs/pico-hobbit-imx6ul_defconfig      |  1 +
 configs/pico-hobbit-imx7d_defconfig       |  1 +
 configs/pico-imx6ul_defconfig             |  1 +
 configs/pico-imx7d_defconfig              |  1 +
 configs/pico-pi-imx6ul_defconfig          |  1 +
 configs/pico-pi-imx7d_defconfig           |  1 +
 configs/platinum_picon_defconfig          |  1 +
 configs/platinum_titanium_defconfig       |  1 +
 configs/plutux_defconfig                  |  1 +
 configs/poplar_defconfig                  |  1 +
 configs/popmetal-rk3288_defconfig         |  1 +
 configs/puma-rk3399_defconfig             |  1 +
 configs/riotboard_defconfig               |  1 +
 configs/rock2_defconfig                   |  1 +
 configs/rock_defconfig                    |  1 +
 configs/s5pc210_universal_defconfig       |  1 +
 configs/sansa_fuze_plus_defconfig         |  1 +
 configs/sc_sps_1_defconfig                |  1 +
 configs/seaboard_defconfig                |  1 +
 configs/secomx6quq7_defconfig             |  1 +
 configs/sheep-rk3368_defconfig            |  1 +
 configs/sksimx6_defconfig                 |  1 +
 configs/smdk5250_defconfig                |  1 +
 configs/smdk5420_defconfig                |  1 +
 configs/smdkv310_defconfig                |  1 +
 configs/snow_defconfig                    |  1 +
 configs/socfpga_arria10_defconfig         |  1 +
 configs/socfpga_arria5_defconfig          |  1 +
 configs/socfpga_cyclone5_defconfig        |  1 +
 configs/socfpga_dbm_soc1_defconfig        |  1 +
 configs/socfpga_de0_nano_soc_defconfig    |  1 +
 configs/socfpga_de10_nano_defconfig       |  1 +
 configs/socfpga_de1_soc_defconfig         |  1 +
 configs/socfpga_sockit_defconfig          |  1 +
 configs/socfpga_socrates_defconfig        |  1 +
 configs/socfpga_sr1500_defconfig          |  1 +
 configs/socfpga_stratix10_defconfig       |  1 +
 configs/socfpga_vining_fpga_defconfig     |  1 +
 configs/spring_defconfig                  |  1 +
 configs/tbs2910_defconfig                 |  1 +
 configs/tec-ng_defconfig                  |  1 +
 configs/tec_defconfig                     |  1 +
 configs/tinker-rk3288_defconfig           |  1 +
 configs/titanium_defconfig                |  1 +
 configs/tqma6dl_mba6_mmc_defconfig        |  1 +
 configs/tqma6dl_mba6_spi_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/ts4600_defconfig                  |  1 +
 configs/udoo_defconfig                    |  1 +
 configs/udoo_neo_defconfig                |  1 +
 configs/venice2_defconfig                 |  1 +
 configs/ventana_defconfig                 |  1 +
 configs/vining_2000_defconfig             |  1 +
 configs/vyasa-rk3288_defconfig            |  1 +
 configs/wandboard_defconfig               |  1 +
 configs/warp7_bl33_defconfig              |  1 +
 configs/warp7_defconfig                   |  1 +
 configs/warp_defconfig                    |  1 +
 configs/xfi3_defconfig                    |  1 +
 configs/xpress_defconfig                  |  1 +
 configs/xpress_spl_defconfig              |  1 +
 configs/zc5202_defconfig                  |  1 +
 configs/zc5601_defconfig                  |  1 +
 drivers/mmc/Kconfig                       |  3 +++
 include/configs/axs10x.h                  |  5 -----
 include/configs/bcm_ep_board.h            |  3 ---
 include/configs/emsdp.h                   |  3 ---
 include/configs/exynos-common.h           |  3 ---
 include/configs/hikey.h                   |  3 ---
 include/configs/hsdk.h                    |  5 -----
 include/configs/iot_devkit.h              |  3 ---
 include/configs/mx6_common.h              |  1 -
 include/configs/mx7_common.h              |  1 -
 include/configs/mx7ulp_evk.h              |  1 -
 include/configs/mxs.h                     |  5 -----
 include/configs/poplar.h                  |  3 ---
 include/configs/rk3036_common.h           |  3 ---
 include/configs/rk3128_common.h           |  3 ---
 include/configs/rk3188_common.h           |  3 ---
 include/configs/rk322x_common.h           |  3 ---
 include/configs/rk3288_common.h           |  3 ---
 include/configs/rk3328_common.h           |  4 ----
 include/configs/rk3368_common.h           |  2 --
 include/configs/rk3399_common.h           |  1 -
 include/configs/rv1108_common.h           |  3 ---
 include/configs/socfpga_common.h          |  1 -
 include/configs/socfpga_stratix10_socdk.h |  1 -
 include/configs/tegra-common.h            |  3 ---
 scripts/config_whitelist.txt              |  1 -
 232 files changed, 220 insertions(+), 67 deletions(-)

-- 
2.1.4



More information about the U-Boot mailing list