Thread (4 messages) 4 messages, 2 authors, 2013-09-30
STALE4640d

[PATCH] ARM: l2x0: protect outer_cache_fns.sync pointer assignment with OUTER_CACHE_SYNC

From: Eran Ben-Avi <hidden>
Date: 2013-09-29 16:51:53
Subsystem: arm port, the rest · Maintainers: Russell King, Linus Torvalds

On Thu, Sep 26, 2013 at 4:13 PM, Catalin Marinas wrote:
Since outer_cache.sync is conditionally defined, the patch makes sense.
Alternatively, we could leave the .sync member always defined and just
have a conditionally defined l2x0_cache_sync (NULL when
!OUTER_CACHE_SYNC).
Fully agree.
Here is updated patch:


[PATCH] ARM: l2x0: define l2x0_cache_sync according to OUTER_CACHE_SYNC selection

??? Always define outer_cache_fns sync member and conditionally assign
??? l2x0_cache_sync depends on OUTER_CACHE_SYNC selection state.

Signed-off-by: Eran Ben-Avi <redacted>
---
?arch/arm/include/asm/outercache.h |??? 2 --
?arch/arm/mm/cache-l2x0.c????????? |??? 4 ++++
?2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
index f94784f..697317c 100644
--- a/arch/arm/include/asm/outercache.h
+++ b/arch/arm/include/asm/outercache.h
@@ -30,9 +30,7 @@ struct outer_cache_fns {
???? void (*flush_all)(void);
???? void (*inv_all)(void);
???? void (*disable)(void);
-#ifdef CONFIG_OUTER_CACHE_SYNC
???? void (*sync)(void);
-#endif
???? void (*set_debug)(unsigned long);
???? void (*resume)(void);
?};
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index 447da6f..5f3a0ca 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -128,6 +128,7 @@ static inline void l2x0_flush_line(unsigned long addr)
?}
?#endif
?
+#ifdef CONFIG_OUTER_CACHE_SYNC
?static void l2x0_cache_sync(void)
?{
???? unsigned long flags;
@@ -136,6 +137,9 @@ static void l2x0_cache_sync(void)
???? cache_sync();
???? raw_spin_unlock_irqrestore(&l2x0_lock, flags);
?}
+#else
+#define l2x0_cache_sync??? NULL
+#endif
?
?static void __l2x0_flush_all(void)
?{
-- 
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help