[U-Boot] [PATCH v2 00/13] dm: mmc: Add driver-model support for MMC operations

Simon Glass sjg at chromium.org
Wed Jul 6 01:10:07 CEST 2016


At present MMC does not use driver model for its operations. It uses its own
structure and passes a struct mmc instead of a struct udevice.

This series addresses this by adding driver-model operations for MMC. The
conversion process is also started, with patches for rockchip, zynq and
qualcomm.

While testing the v1 series a problem was found where simple-bus would bind
all child devices prior to relocation, even those not marked for
pre-relocation use. This caused Zynq boards to run out of memory with DM_USB
enabled.

This is caused by the 'false' value passed to dm_scan_fdt_node() by
simple-bus. To fix this a new dm_scan_fdt_dev() function is created which
passes the correct flag value. Existing users of dm_scan_fdt_node() are
converted.

Changes in v2:
- Add missing struct ehci_ctrl to struct zynq_ehci_priv
- Add new dm_scan_fdt_dev() function and convert the code
- Add new patch to bring in dm_scan_fdt_dev()
- Add new patch to make use of dm_scan_fdt_dev()
- Add new patch to show early-malloc() usage in bdinfo
- Add new patch to support CONFIG_BLK with socfpga
- Add new patch to support raw partitions with CONFIG_BLK
- Add new patch to use blk_dread/write() instead of direct calls
- Add new patch to use dm_scan_fdt_dev() directly where possible
- Drop patches previously applied to u-boot-dm/next
- Fix sign-off tag

Simon Glass (13):
  dm: core: Add a function to bind child devices
  dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()
  dm: Use dm_scan_fdt_dev() directly where possible
  arm: Show early-malloc() usage in bdinfo
  net: phy: marvell: Add a missing errno.h header
  zynq: Increase the early malloc() size
  dm: zynq: usb: Convert to CONFIG_DM_USB
  dm: mmc: zynq: Convert zynq to use driver model for MMC
  dm: socfpga: mmc: Support CONFIG_BLK
  dm: usb: Use blk_dread/write() instead of direct calls
  dm: spl: mmc: Support raw partitions with CONFIG_BLK
  dm: mmc: Enable DM_MMC_OPS by default with DM_MMC
  dm: blk: Enable CONFIG_BLK if DM_MMC is enabled

 arch/arm/Kconfig                          |   7 ++
 arch/arm/cpu/armv8/zynqmp/Kconfig         |   4 ++
 arch/arm/mach-zynq/Kconfig                |   3 +
 arch/x86/lib/lpc-uclass.c                 |  15 +----
 cmd/bdinfo.c                              |   5 ++
 cmd/usb_mass_storage.c                    |   4 +-
 common/spl/spl_mmc.c                      |   2 +-
 common/usb_hub.c                          |   9 +--
 drivers/block/Kconfig                     |   1 +
 drivers/core/root.c                       |   9 +++
 drivers/core/simple-bus.c                 |   3 +-
 drivers/i2c/i2c-uclass.c                  |   8 +--
 drivers/i2c/sandbox_i2c.c                 |   4 +-
 drivers/misc/cros_ec.c                    |   9 +--
 drivers/mmc/Kconfig                       |   1 +
 drivers/mmc/socfpga_dw_mmc.c              |  32 +++++++++-
 drivers/mmc/zynq_sdhci.c                  |  39 +++++++++--
 drivers/net/phy/marvell.c                 |   1 +
 drivers/pch/pch-uclass.c                  |  15 +----
 drivers/pci/pci-uclass.c                  |  24 +------
 drivers/pci/pci_sandbox.c                 |  11 +---
 drivers/pinctrl/pinctrl_pic32.c           |   9 +--
 drivers/pinctrl/rockchip/pinctrl_rk3036.c |   9 +--
 drivers/pinctrl/rockchip/pinctrl_rk3288.c |   9 +--
 drivers/power/pmic/pm8916.c               |   9 +--
 drivers/power/regulator/Kconfig           |   2 +-
 drivers/spi/spi-uclass.c                  |   9 +--
 drivers/spmi/spmi-uclass.c                |   8 +--
 drivers/usb/emul/usb-emul-uclass.c        |   9 +--
 drivers/usb/host/ehci-zynq.c              | 103 +++++++++++++++---------------
 drivers/usb/host/usb-uclass.c             |   9 +--
 include/dm/device.h                       |  16 +++++
 include/power/regulator.h                 |   2 +-
 test/dm/bus.c                             |   3 +-
 test/dm/i2c.c                             |   4 +-
 test/dm/spi.c                             |   4 +-
 36 files changed, 192 insertions(+), 219 deletions(-)

-- 
2.8.0.rc3.226.g39d4020



More information about the U-Boot mailing list