> 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