summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/outercache.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-10-28 23:39:13 +0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-10-28 23:39:13 +0400
commit9bafc74163d8bccca9810159aab39be926fb877c (patch)
treebaa3ba406135247eeb9cdf495448b5db8eea2f0b /arch/arm/include/asm/outercache.h
parent8df6516864462cb7a6f87d5a46df68fb0faebbb5 (diff)
parentb3773301c4290f054aa2aa5379e59a1bf4f78bdf (diff)
downloadlinux-9bafc74163d8bccca9810159aab39be926fb877c.tar.xz
Merge branch 'devel-stable' into devel
Diffstat (limited to 'arch/arm/include/asm/outercache.h')
-rw-r--r--arch/arm/include/asm/outercache.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
index 25f76bae57ab..fc1900925275 100644
--- a/arch/arm/include/asm/outercache.h
+++ b/arch/arm/include/asm/outercache.h
@@ -25,6 +25,9 @@ struct outer_cache_fns {
void (*inv_range)(unsigned long, unsigned long);
void (*clean_range)(unsigned long, unsigned long);
void (*flush_range)(unsigned long, unsigned long);
+ void (*flush_all)(void);
+ void (*inv_all)(void);
+ void (*disable)(void);
#ifdef CONFIG_OUTER_CACHE_SYNC
void (*sync)(void);
#endif
@@ -50,6 +53,24 @@ static inline void outer_flush_range(unsigned long start, unsigned long end)
outer_cache.flush_range(start, end);
}
+static inline void outer_flush_all(void)
+{
+ if (outer_cache.flush_all)
+ outer_cache.flush_all();
+}
+
+static inline void outer_inv_all(void)
+{
+ if (outer_cache.inv_all)
+ outer_cache.inv_all();
+}
+
+static inline void outer_disable(void)
+{
+ if (outer_cache.disable)
+ outer_cache.disable();
+}
+
#else
static inline void outer_inv_range(unsigned long start, unsigned long end)
@@ -58,6 +79,9 @@ static inline void outer_clean_range(unsigned long start, unsigned long end)
{ }
static inline void outer_flush_range(unsigned long start, unsigned long end)
{ }
+static inline void outer_flush_all(void) { }
+static inline void outer_inv_all(void) { }
+static inline void outer_disable(void) { }
#endif