diff options
author | Stefan Roese <sr@denx.de> | 2017-03-20 11:51:50 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2017-04-05 02:15:10 (GMT) |
commit | 1b8220aa2ab09d936c427dae84b40edf51c8b194 (patch) | |
tree | eeb02add123b8021265689b93819b11f4c2d240c /arch/arm | |
parent | bc85aa4030ab9ccfc1349c320b085a8b792c602e (diff) | |
download | u-boot-fsl-qoriq-1b8220aa2ab09d936c427dae84b40edf51c8b194.tar.xz |
arm: bootm: Add dm_remove_devices_flags() call to announce_and_cleanup()
This patch adds a call to dm_remove_devices_flags() to
announce_and_cleanup() so that drivers that have one of the removal flags
set (e.g. DM_FLAG_ACTIVE_DMA_REMOVE) in their driver struct, may do some
last-stage cleanup before the OS is started.
Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/lib/bootm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 8125cf0..426bee6 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -14,6 +14,8 @@ #include <common.h> #include <command.h> +#include <dm/device.h> +#include <dm/root.h> #include <image.h> #include <u-boot/zlib.h> #include <asm/byteorder.h> @@ -91,6 +93,13 @@ static void announce_and_cleanup(int fake) board_quiesce_devices(); + /* + * Call remove function of all devices with a removal flag set. + * This may be useful for last-stage operations, like cancelling + * of DMA operation or releasing device internal buffers. + */ + dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL); + cleanup_before_linux(); } |