Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: fix set_domain() macro

Avoid polluting drivers with a set_domain() macro, which interferes with
structure member names:

drivers/net/wireless/ath/ath9k/dfs_pattern_detector.c:294:33: error: macro "set_domain" passed 2 arguments, but takes just 1

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

+9 -9
+9 -9
arch/arm/include/asm/domain.h
··· 60 60 #ifndef __ASSEMBLY__ 61 61 62 62 #ifdef CONFIG_CPU_USE_DOMAINS 63 - #define set_domain(x) \ 64 - do { \ 65 - __asm__ __volatile__( \ 66 - "mcr p15, 0, %0, c3, c0 @ set domain" \ 67 - : : "r" (x)); \ 68 - isb(); \ 69 - } while (0) 63 + static inline void set_domain(unsigned val) 64 + { 65 + asm volatile( 66 + "mcr p15, 0, %0, c3, c0 @ set domain" 67 + : : "r" (val)); 68 + isb(); 69 + } 70 70 71 71 #define modify_domain(dom,type) \ 72 72 do { \ ··· 78 78 } while (0) 79 79 80 80 #else 81 - #define set_domain(x) do { } while (0) 82 - #define modify_domain(dom,type) do { } while (0) 81 + static inline void set_domain(unsigned val) { } 82 + static inline void modify_domain(unsigned dom, unsigned type) { } 83 83 #endif 84 84 85 85 /*