> On 30 Apr 2018, at 10:34, Emmanuel Vadot <m...@freebsd.org> wrote:
> 
> Signed-off-by: Emmanuel Vadot <m...@freebsd.org>
> ---
> api/api.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
> 
> diff --git a/api/api.c b/api/api.c
> index 7eee2fc083..7d1608b520 100644
> --- a/api/api.c
> +++ b/api/api.c
> @@ -290,6 +290,17 @@ static int API_dev_close(va_list ap)
>       if (!err)
>               di->state = DEV_STA_CLOSED;
> 
> +#if defined(CONFIG_SYS_HAVE_DCACHE_MAINTENANCE) && \
> +     !defined(CONFIG_SYS_DCACHE_OFF)
> +     if (dcache_status())
> +             flush_dcache_all();
> +#endif
> +#if defined(CONFIG_SYS_HAVE_ICACHE_MAINTENANCE) && \
> +     !defined(CONFIG_SYS_ICACHE_OFF)
> +     if (icache_status())
> +             invalidate_icache_all();
> +#endif

Wouldn’t it be a cleaner option to make flush_dcache_all and 
invalidate_icache_all
weak-functions and provide a default implementation that does nothing. Those
architectures that then need to implement specific cache maintenance, could
override these as required.

>       return err;
> }
> 
> -- 
> 2.16.3
> 

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to