summaryrefslogtreecommitdiff
path: root/arch/arm/lib
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-01-25 00:32:47 +0300
committerSimon Glass <sjg@chromium.org>2021-02-03 13:38:41 +0300
commit6224dc9ba428a7b7f7433d2bfd7bdf070b5bf06f (patch)
treebc89fff10b5418d2b80edcd6345468f9dc8cb471 /arch/arm/lib
parentcc6f4c8f2574472e359cb915811f6f93efdfcad4 (diff)
downloadu-boot-6224dc9ba428a7b7f7433d2bfd7bdf070b5bf06f.tar.xz
arm: Remove vital devices last
Update announce_and_cleanup() to remove all devices, with the vital ones being removed last. This is an extra patch on top of the recent RFC: http://patchwork.ozlabs.org/project/uboot/list/?series=223280 Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/bootm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 1206e306db..f46d51d655 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -119,6 +119,9 @@ static void announce_and_cleanup(int fake)
* 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 | DM_REMOVE_NON_VITAL);
+
+ /* Remove all active vital devices next */
dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
cleanup_before_linux();