Message ID | 20170424074804.15143-4-sr@denx.de |
---|---|
State | Accepted |
Delegated to: | Bin Meng |
Headers | show |
On Mon, Apr 24, 2017 at 3:48 PM, Stefan Roese <sr@denx.de> wrote: > This patch adds a call to dm_remove_devices_flags() to > bootm_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> > Cc: Bin Meng <bmeng.cn@gmail.com> > Reviewed-by: Simon Glass <sjg@chromium.org> > --- > v2: > - Added Simons RB line > > arch/x86/lib/bootm.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > applied to u-boot-x86, thanks!
diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c index 75bab90225..ecd4f4e6c6 100644 --- a/arch/x86/lib/bootm.c +++ b/arch/x86/lib/bootm.c @@ -10,6 +10,8 @@ #include <common.h> #include <command.h> +#include <dm/device.h> +#include <dm/root.h> #include <errno.h> #include <fdt_support.h> #include <image.h> @@ -46,6 +48,13 @@ void bootm_announce_and_cleanup(void) #ifdef CONFIG_BOOTSTAGE_REPORT bootstage_report(); #endif + + /* + * 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); } #if defined(CONFIG_OF_LIBFDT) && !defined(CONFIG_OF_NO_KERNEL)