[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