瀏覽代碼

mmc: move some SDHCI related options to Kconfig

While I moved the options, I also renamed them so that they are all
prefixed with MMC_SDHCI_.

This commit was created in the following steps.

[1] Rename with the following command
find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \
-type f -print | xargs sed -i -e '
s/CONFIG_MMC_SDMA/CONFIG_MMC_SDHCI_SDMA/g
s/CONFIG_BCM2835_SDHCI/CONFIG_MMC_SDHCI_BCM2835/g
s/CONFIG_KONA_SDHCI/CONFIG_MMC_SDHCI_KONA/g
s/CONFIG_MV_SDHCI/CONFIG_MMC_SDHCI_MV/g
s/CONFIG_S5P_SDHCI/CONFIG_MMC_SDHCI_S5P/g
s/CONFIG_SPEAR_SDHCI/CONFIG_MMC_SDHCI_SPEAR/g
'

[2] create the Kconfig entries in drivers/mmc/Kconfig

[3] Move the options by the following command
tools/moveconfig.py -y MMC_SDHCI_SDMA MMC_SDHCI_BCM2835 \
MMC_SDHCI_KONA MMC_SDHCI_MV MMC_SDHCI_S5P MMC_SDHCI_SPEAR

[4] Sort drivers/mmc/Makefile for readability

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Masahiro Yamada 7 年之前
父節點
當前提交
45a68fe267
共有 54 個文件被更改,包括 127 次插入31 次删除
  1. 1 1
      arch/arm/mach-mvebu/cpu.c
  2. 1 1
      board/broadcom/bcm23550_w1d/bcm23550_w1d.c
  3. 1 1
      board/broadcom/bcm28155_ap/bcm28155_ap.c
  4. 1 0
      configs/arndale_defconfig
  5. 1 0
      configs/bayleybay_defconfig
  6. 2 0
      configs/bcm11130_defconfig
  7. 2 0
      configs/bcm11130_nand_defconfig
  8. 2 0
      configs/bcm23550_w1d_defconfig
  9. 2 0
      configs/bcm28155_ap_defconfig
  10. 2 0
      configs/bcm28155_w1d_defconfig
  11. 2 0
      configs/clearfog_defconfig
  12. 1 0
      configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
  13. 1 0
      configs/conga-qeval20-qa3-e3845_defconfig
  14. 1 0
      configs/crownbay_defconfig
  15. 2 0
      configs/db-88f6820-gp_defconfig
  16. 1 0
      configs/dfi-bt700-q7x-151_defconfig
  17. 1 0
      configs/galileo_defconfig
  18. 1 0
      configs/minnowmax_defconfig
  19. 1 0
      configs/odroid-xu3_defconfig
  20. 2 0
      configs/odroid_defconfig
  21. 2 0
      configs/origen_defconfig
  22. 1 0
      configs/peach-pi_defconfig
  23. 1 0
      configs/peach-pit_defconfig
  24. 1 0
      configs/rpi_2_defconfig
  25. 1 0
      configs/rpi_3_32b_defconfig
  26. 1 0
      configs/rpi_3_defconfig
  27. 1 0
      configs/rpi_defconfig
  28. 1 0
      configs/s5p_goni_defconfig
  29. 2 0
      configs/s5pc210_universal_defconfig
  30. 1 0
      configs/smdk5250_defconfig
  31. 1 0
      configs/smdk5420_defconfig
  32. 2 0
      configs/smdkv310_defconfig
  33. 1 0
      configs/snow_defconfig
  34. 1 0
      configs/spring_defconfig
  35. 1 0
      configs/theadorable-x86-dfi-bt700_defconfig
  36. 2 0
      configs/trats2_defconfig
  37. 2 0
      configs/trats_defconfig
  38. 64 0
      drivers/mmc/Kconfig
  39. 8 5
      drivers/mmc/Makefile
  40. 5 5
      drivers/mmc/sdhci.c
  41. 0 1
      include/configs/bayleybay.h
  42. 0 2
      include/configs/bcm23550_w1d.h
  43. 0 2
      include/configs/bcm28155_ap.h
  44. 0 2
      include/configs/clearfog.h
  45. 0 1
      include/configs/conga-qeval20-qa3-e3845.h
  46. 0 1
      include/configs/crownbay.h
  47. 0 2
      include/configs/db-88f6820-gp.h
  48. 0 1
      include/configs/dfi-bt700.h
  49. 0 1
      include/configs/exynos-common.h
  50. 0 1
      include/configs/exynos4-common.h
  51. 0 1
      include/configs/galileo.h
  52. 0 1
      include/configs/minnowmax.h
  53. 0 1
      include/configs/rpi.h
  54. 0 1
      include/configs/s5p_goni.h

+ 1 - 1
arch/arm/mach-mvebu/cpu.c

@@ -475,7 +475,7 @@ int arch_misc_init(void)
 }
 #endif /* CONFIG_ARCH_MISC_INIT */
 
-#ifdef CONFIG_MV_SDHCI
+#ifdef CONFIG_MMC_SDHCI_MV
 int board_mmc_init(bd_t *bis)
 {
 	mv_sdh_init(MVEBU_SDIO_BASE, 0, 0,

+ 1 - 1
board/broadcom/bcm23550_w1d/bcm23550_w1d.c

@@ -68,7 +68,7 @@ void dram_init_banksize(void)
 	gd->bd->bi_dram[0].size = gd->ram_size;
 }
 
-#ifdef CONFIG_KONA_SDHCI
+#ifdef CONFIG_MMC_SDHCI_KONA
 /*
  * mmc_init - Initializes mmc
  */

+ 1 - 1
board/broadcom/bcm28155_ap/bcm28155_ap.c

@@ -75,7 +75,7 @@ void dram_init_banksize(void)
 	gd->bd->bi_dram[0].size = gd->ram_size;
 }
 
-#ifdef CONFIG_KONA_SDHCI
+#ifdef CONFIG_MMC_SDHCI_KONA
 /*
  * mmc_init - Initializes mmc
  */

+ 1 - 0
configs/arndale_defconfig

@@ -23,6 +23,7 @@ CONFIG_CMD_SOUND=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y

+ 1 - 0
configs/bayleybay_defconfig

@@ -42,6 +42,7 @@ CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CPU=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 2 - 0
configs/bcm11130_defconfig

@@ -19,6 +19,8 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_KONA=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y

+ 2 - 0
configs/bcm11130_nand_defconfig

@@ -19,6 +19,8 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_KONA=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y

+ 2 - 0
configs/bcm23550_w1d_defconfig

@@ -25,6 +25,8 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_KONA=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y

+ 2 - 0
configs/bcm28155_ap_defconfig

@@ -26,6 +26,8 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_KONA=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y

+ 2 - 0
configs/bcm28155_w1d_defconfig

@@ -20,6 +20,8 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_KONA=y
 CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y

+ 2 - 0
configs/clearfog_defconfig

@@ -36,6 +36,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_MV=y
 CONFIG_SPI_FLASH=y
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y

+ 1 - 0
configs/conga-qeval20-qa3-e3845-internal-uart_defconfig

@@ -46,6 +46,7 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 1 - 0
configs/conga-qeval20-qa3-e3845_defconfig

@@ -45,6 +45,7 @@ CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_INTEL=y
 CONFIG_WINBOND_W83627=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 1 - 0
configs/crownbay_defconfig

@@ -34,6 +34,7 @@ CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CPU=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 2 - 0
configs/db-88f6820-gp_defconfig

@@ -33,6 +33,8 @@ CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_MV=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_STMICRO=y

+ 1 - 0
configs/dfi-bt700-q7x-151_defconfig

@@ -43,6 +43,7 @@ CONFIG_CPU=y
 CONFIG_DM_I2C=y
 CONFIG_NUVOTON_NCT6102D=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 1 - 0
configs/galileo_defconfig

@@ -38,6 +38,7 @@ CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CPU=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 1 - 0
configs/minnowmax_defconfig

@@ -42,6 +42,7 @@ CONFIG_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CPU=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 1 - 0
configs/odroid-xu3_defconfig

@@ -27,6 +27,7 @@ CONFIG_ADC_EXYNOS=y
 CONFIG_DFU_MMC=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_DM_PMIC=y
 CONFIG_PMIC_S2MPS11=y
 CONFIG_DM_REGULATOR=y

+ 2 - 0
configs/odroid_defconfig

@@ -37,6 +37,8 @@ CONFIG_OF_CONTROL=y
 CONFIG_DFU_MMC=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_PMIC_MAX77686=y
 CONFIG_DM_REGULATOR=y

+ 2 - 0
configs/origen_defconfig

@@ -30,6 +30,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_DFU_MMC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_GADGET=y

+ 1 - 0
configs/peach-pi_defconfig

@@ -33,6 +33,7 @@ CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y

+ 1 - 0
configs/peach-pit_defconfig

@@ -33,6 +33,7 @@ CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y

+ 1 - 0
configs/rpi_2_defconfig

@@ -15,6 +15,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
 CONFIG_OF_EMBED=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y

+ 1 - 0
configs/rpi_3_32b_defconfig

@@ -16,6 +16,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
 CONFIG_OF_EMBED=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
 # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y

+ 1 - 0
configs/rpi_3_defconfig

@@ -16,6 +16,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
 CONFIG_OF_EMBED=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
 # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y

+ 1 - 0
configs/rpi_defconfig

@@ -15,6 +15,7 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_GPIO=y
 CONFIG_OF_EMBED=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_BCM2835=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_KEYBOARD=y

+ 1 - 0
configs/s5p_goni_defconfig

@@ -26,6 +26,7 @@ CONFIG_DM_I2C_GPIO=y
 CONFIG_DM_PMIC=y
 CONFIG_DM_PMIC_MAX8998=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_USB=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DWC2_OTG=y

+ 2 - 0
configs/s5pc210_universal_defconfig

@@ -30,6 +30,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_DFU_MMC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_GADGET=y

+ 1 - 0
configs/smdk5250_defconfig

@@ -27,6 +27,7 @@ CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y

+ 1 - 0
configs/smdk5420_defconfig

@@ -24,6 +24,7 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_DM_I2C_COMPAT=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y

+ 2 - 0
configs/smdkv310_defconfig

@@ -23,5 +23,7 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_USB=y
 CONFIG_DM_USB=y

+ 1 - 0
configs/snow_defconfig

@@ -34,6 +34,7 @@ CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y

+ 1 - 0
configs/spring_defconfig

@@ -34,6 +34,7 @@ CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_WINBOND=y

+ 1 - 0
configs/theadorable-x86-dfi-bt700_defconfig

@@ -43,6 +43,7 @@ CONFIG_CPU=y
 CONFIG_DM_I2C=y
 CONFIG_NUVOTON_NCT6102D=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y

+ 2 - 0
configs/trats2_defconfig

@@ -33,6 +33,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_DFU_MMC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_GADGET=y

+ 2 - 0
configs/trats_defconfig

@@ -32,6 +32,8 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_CONTROL=y
 CONFIG_DFU_MMC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_S5P=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_GADGET=y

+ 64 - 0
drivers/mmc/Kconfig

@@ -132,6 +132,70 @@ config MMC_SDHCI
 
 	  If unsure, say N.
 
+config MMC_SDHCI_SDMA
+	bool "Support SDHCI SDMA"
+	depends on MMC_SDHCI
+	help
+	  This enables support for the SDMA (Single Operation DMA) defined
+	  in the SD Host Controller Standard Specification Version 1.00 .
+
+config MMC_SDHCI_BCM2835
+	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
+	depends on ARCH_BCM283X
+	depends on MMC_SDHCI
+	help
+	  This selects the BCM2835 SD/MMC controller.
+
+	  If you have a BCM2835 platform with SD or MMC devices,
+	  say Y here.
+
+	  If unsure, say N.
+
+config MMC_SDHCI_KONA
+	bool "SDHCI support on Broadcom KONA platform"
+	depends on MMC_SDHCI
+	help
+	  This selects the Broadcom Kona Secure Digital Host Controller
+	  Interface(SDHCI) support.
+	  This is used in Broadcom mobile SoCs.
+
+	  If you have a controller with this interface, say Y here.
+
+config MMC_SDHCI_MV
+	bool "SDHCI support on Marvell platform"
+	depends on ARCH_MVEBU
+	depends on MMC_SDHCI
+	help
+	  This selects the Secure Digital Host Controller Interface on
+	  Marvell platform.
+
+	  If you have a controller with this interface, say Y here.
+
+	  If unsure, say N.
+
+config MMC_SDHCI_S5P
+	bool "SDHCI support on Samsung S5P SoC"
+	depends on MMC_SDHCI
+	help
+	  This selects the Secure Digital Host Controller Interface (SDHCI)
+	  on Samsung S5P SoCs.
+
+	  If you have a controller with this interface, say Y here.
+
+	  If unsure, say N.
+
+config MMC_SDHCI_SPEAR
+	bool "SDHCI support on ST SPEAr platform"
+	depends on MMC_SDHCI
+	help
+	  This selects the Secure Digital Host Controller Interface (SDHCI)
+	  often referrered to as the HSMMC block in some of the ST SPEAR range
+	  of SoC
+
+	  If you have a controller with this interface, say Y here.
+
+	  If unsure, say N.
+
 endif
 
 endmenu

+ 8 - 5
drivers/mmc/Makefile

@@ -15,7 +15,6 @@ endif
 
 obj-$(CONFIG_ARM_PL180_MMCI) += arm_pl180_mmci.o
 obj-$(CONFIG_ATMEL_SDHCI) += atmel_sdhci.o
-obj-$(CONFIG_BCM2835_SDHCI) += bcm2835_sdhci.o
 obj-$(CONFIG_BFIN_SDH) += bfin_sdh.o
 obj-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
 obj-$(CONFIG_DWMMC) += dw_mmc.o
@@ -29,10 +28,8 @@ ifdef CONFIG_SUPPORT_EMMC_BOOT
 obj-$(CONFIG_GENERIC_MMC) += mmc_boot.o
 endif
 obj-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o
-obj-$(CONFIG_KONA_SDHCI) += kona_sdhci.o
 obj-$(CONFIG_MMC_SPI) += mmc_spi.o
 obj-$(CONFIG_MMC_SUNXI) += sunxi_mmc.o
-obj-$(CONFIG_MV_SDHCI) += mv_sdhci.o
 obj-$(CONFIG_MVEBU_MMC) += mvebu_mmc.o
 obj-$(CONFIG_MXC_MMC) += mxcmmc.o
 obj-$(CONFIG_MXS_MMC) += mxsmmc.o
@@ -42,13 +39,11 @@ obj-$(CONFIG_PXA_MMC_GENERIC) += pxa_mmc_gen.o
 obj-$(CONFIG_ROCKCHIP_DWMMC) += rockchip_dw_mmc.o
 obj-$(CONFIG_SUPPORT_EMMC_RPMB) += rpmb.o
 obj-$(CONFIG_S3C_SDI) += s3c_sdi.o
-obj-$(CONFIG_S5P_SDHCI) += s5p_sdhci.o
 ifdef CONFIG_BLK
 ifdef CONFIG_GENERIC_MMC
 obj-$(CONFIG_SANDBOX) += sandbox_mmc.o
 endif
 endif
-obj-$(CONFIG_MMC_SDHCI) += sdhci.o
 obj-$(CONFIG_SH_MMCIF) += sh_mmcif.o
 obj-$(CONFIG_SH_SDHI) += sh_sdhi.o
 obj-$(CONFIG_SOCFPGA_DWMMC) += socfpga_dw_mmc.o
@@ -65,3 +60,11 @@ obj-$(CONFIG_GENERIC_MMC) += mmc_write.o
 endif
 obj-$(CONFIG_PIC32_SDHCI) += pic32_sdhci.o
 obj-$(CONFIG_MSM_SDHCI) += msm_sdhci.o
+
+# SDHCI
+obj-$(CONFIG_MMC_SDHCI)			+= sdhci.o
+obj-$(CONFIG_MMC_SDHCI_BCM2835)		+= bcm2835_sdhci.o
+obj-$(CONFIG_MMC_SDHCI_KONA)		+= kona_sdhci.o
+obj-$(CONFIG_MMC_SDHCI_MV)		+= mv_sdhci.o
+obj-$(CONFIG_MMC_SDHCI_S5P)		+= s5p_sdhci.o
+obj-$(CONFIG_MMC_SDHCI_SPEAR)		+= spear_sdhci.o

+ 5 - 5
drivers/mmc/sdhci.c

@@ -72,7 +72,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data,
 				unsigned int start_addr)
 {
 	unsigned int stat, rdy, mask, timeout, block = 0;
-#ifdef CONFIG_MMC_SDMA
+#ifdef CONFIG_MMC_SDHCI_SDMA
 	unsigned char ctrl;
 	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
 	ctrl &= ~SDHCI_CTRL_DMA_MASK;
@@ -98,7 +98,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data,
 			if (++block >= data->blocks)
 				break;
 		}
-#ifdef CONFIG_MMC_SDMA
+#ifdef CONFIG_MMC_SDHCI_SDMA
 		if (stat & SDHCI_INT_DMA_END) {
 			sdhci_writel(host, SDHCI_INT_DMA_END, SDHCI_INT_STATUS);
 			start_addr &= ~(SDHCI_DEFAULT_BOUNDARY_SIZE - 1);
@@ -204,7 +204,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
 		if (data->flags == MMC_DATA_READ)
 			mode |= SDHCI_TRNS_READ;
 
-#ifdef CONFIG_MMC_SDMA
+#ifdef CONFIG_MMC_SDHCI_SDMA
 		if (data->flags == MMC_DATA_READ)
 			start_addr = (unsigned long)data->dest;
 		else
@@ -241,7 +241,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
 	}
 
 	sdhci_writel(host, cmd->cmdarg, SDHCI_ARGUMENT);
-#ifdef CONFIG_MMC_SDMA
+#ifdef CONFIG_MMC_SDHCI_SDMA
 	trans_bytes = ALIGN(trans_bytes, CONFIG_SYS_CACHELINE_SIZE);
 	flush_cache(start_addr, trans_bytes);
 #endif
@@ -540,7 +540,7 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
 
 	caps = sdhci_readl(host, SDHCI_CAPABILITIES);
 
-#ifdef CONFIG_MMC_SDMA
+#ifdef CONFIG_MMC_SDHCI_SDMA
 	if (!(caps & SDHCI_CAN_DO_SDMA)) {
 		printf("%s: Your controller doesn't support SDMA!!\n",
 		       __func__);

+ 0 - 1
include/configs/bayleybay.h

@@ -25,7 +25,6 @@
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
 
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MMC_SDMA
 
 /* Environment configuration */
 #define CONFIG_ENV_SECT_SIZE		0x1000

+ 0 - 2
include/configs/bcm23550_w1d.h

@@ -31,8 +31,6 @@
 #define CONFIG_KONA_GPIO
 
 /* MMC/SD Driver */
-#define CONFIG_MMC_SDMA
-#define CONFIG_KONA_SDHCI
 #define CONFIG_GENERIC_MMC
 
 #define CONFIG_SYS_SDIO_BASE0 SDIO1_BASE_ADDR

+ 0 - 2
include/configs/bcm28155_ap.h

@@ -30,8 +30,6 @@
 #define CONFIG_KONA_GPIO
 
 /* MMC/SD Driver */
-#define CONFIG_MMC_SDMA
-#define CONFIG_KONA_SDHCI
 #define CONFIG_GENERIC_MMC
 
 #define CONFIG_SYS_SDIO_BASE0 SDIO1_BASE_ADDR

+ 0 - 2
include/configs/clearfog.h

@@ -43,9 +43,7 @@
 /*
  * SDIO/MMC Card Configuration
  */
-#define CONFIG_MMC_SDMA
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MV_SDHCI
 #define CONFIG_SYS_MMC_BASE		MVEBU_SDIO_BASE
 
 /* Partition support */

+ 0 - 1
include/configs/conga-qeval20-qa3-e3845.h

@@ -28,7 +28,6 @@
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
 
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MMC_SDMA
 
 #undef CONFIG_USB_MAX_CONTROLLER_COUNT
 #define CONFIG_USB_MAX_CONTROLLER_COUNT		1

+ 0 - 1
include/configs/crownbay.h

@@ -27,7 +27,6 @@
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TCF_SATA}
 
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MMC_SDMA
 
 /* Environment configuration */
 #define CONFIG_ENV_SECT_SIZE		0x1000

+ 0 - 2
include/configs/db-88f6820-gp.h

@@ -43,9 +43,7 @@
 /*
  * SDIO/MMC Card Configuration
  */
-#define CONFIG_MMC_SDMA
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MV_SDHCI
 #define CONFIG_SYS_MMC_BASE		MVEBU_SDIO_BASE
 
 /*

+ 0 - 1
include/configs/dfi-bt700.h

@@ -30,7 +30,6 @@
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
 
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MMC_SDMA
 
 #undef CONFIG_USB_MAX_CONTROLLER_COUNT
 #define CONFIG_USB_MAX_CONTROLLER_COUNT		1

+ 0 - 1
include/configs/exynos-common.h

@@ -39,7 +39,6 @@
 
 /* SD/MMC configuration */
 #define CONFIG_GENERIC_MMC
-#define CONFIG_S5P_SDHCI
 #define CONFIG_DWMMC
 #define CONFIG_EXYNOS_DWMMC
 #define CONFIG_BOUNCE_BUFFER

+ 0 - 1
include/configs/exynos4-common.h

@@ -18,7 +18,6 @@
 #define CONFIG_REVISION_TAG
 
 /* SD/MMC configuration */
-#define CONFIG_MMC_SDMA
 #define CONFIG_MMC_DEFAULT_DEV	0
 
 #undef CONFIG_CMD_ONENAND

+ 0 - 1
include/configs/galileo.h

@@ -31,7 +31,6 @@
 
 /* SD/MMC support */
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MMC_SDMA
 
 /* 10/100M Ethernet support */
 #define CONFIG_DESIGNWARE_ETH

+ 0 - 1
include/configs/minnowmax.h

@@ -28,7 +28,6 @@
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VALLEYVIEW_SATA_ALT}
 
 #define CONFIG_GENERIC_MMC
-#define CONFIG_MMC_SDMA
 
 #undef CONFIG_USB_MAX_CONTROLLER_COUNT
 #define CONFIG_USB_MAX_CONTROLLER_COUNT		1

+ 0 - 1
include/configs/rpi.h

@@ -84,7 +84,6 @@
 /* SD/MMC configuration */
 #define CONFIG_GENERIC_MMC
 #define CONFIG_MMC_SDHCI_IO_ACCESSORS
-#define CONFIG_BCM2835_SDHCI
 
 #ifdef CONFIG_CMD_USB
 #define CONFIG_USB_DWC2

+ 0 - 1
include/configs/s5p_goni.h

@@ -48,7 +48,6 @@
 
 /* MMC */
 #define CONFIG_GENERIC_MMC
-#define CONFIG_S5P_SDHCI
 #define SDHCI_MAX_HOSTS		4
 
 /* PWM */