ARM: domains: provide domain_mask()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 19 Aug 2015 21:36:24 +0000 (22:36 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 21 Aug 2015 12:55:50 +0000 (13:55 +0100)
Provide a macro to generate the mask for a domain, rather than using
domain_val(, DOMAIN_MANAGER) which won't work when CPU_USE_DOMAINS
is turned off.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/domain.h

index 7f29419..045b9b4 100644 (file)
@@ -55,7 +55,8 @@
 #define DOMAIN_MANAGER 1
 #endif
 
-#define domain_val(dom,type)   ((type) << (2*(dom)))
+#define domain_mask(dom)       ((3) << (2 * (dom)))
+#define domain_val(dom,type)   ((type) << (2 * (dom)))
 
 #ifndef __ASSEMBLY__
 
@@ -82,7 +83,7 @@ static inline void set_domain(unsigned val)
 #define modify_domain(dom,type)                                        \
        do {                                                    \
                unsigned int domain = get_domain();             \
-               domain &= ~domain_val(dom, DOMAIN_MANAGER);     \
+               domain &= ~domain_mask(dom);                    \
                domain = domain | domain_val(dom, type);        \
                set_domain(domain);                             \
        } while (0)