Title: [5886] trunk/arch/blackfin/include/asm: unify some of the IPIPE code and fix style
Revision
5886
Author
vapier
Date
2008-12-18 11:55:11 -0600 (Thu, 18 Dec 2008)

Log Message

unify some of the IPIPE code and fix style

Modified Paths


Diff

Modified: trunk/arch/blackfin/include/asm/entry.h (5885 => 5886)


--- trunk/arch/blackfin/include/asm/entry.h	2008-12-18 17:54:38 UTC (rev 5885)
+++ trunk/arch/blackfin/include/asm/entry.h	2008-12-18 17:55:11 UTC (rev 5886)
@@ -28,6 +28,13 @@
 /* This is used for all normal interrupts.  It saves a minimum of registers
    to the stack, loads the IRQ number, and jumps to common code.  */
 #ifdef CONFIG_IPIPE
+# define LOAD_IPIPE_IPEND \
+	P0.l = lo(IPEND); \
+	P0.h = hi(IPEND); \
+	R1 = [P0];
+#else
+# define LOAD_IPIPE_IPEND
+#endif
 #define INTERRUPT_ENTRY(N)						\
     [--sp] = SYSCFG;							\
 									\
@@ -35,20 +42,8 @@
     [--sp] = R0;	/*orig_r0*/					\
     [--sp] = (R7:0,P5:0);						\
     R0 = (N);								\
-    P0.l = lo(IPEND);							\
-    P0.h = hi(IPEND);							\
-    R1 = [P0];								\
+    LOAD_IPIPE_IPEND							\
     jump __common_int_entry;
-#else /* !CONFIG_IPIPE */
-#define INTERRUPT_ENTRY(N)						\
-    [--sp] = SYSCFG;							\
-									\
-    [--sp] = P0;	/*orig_p0*/					\
-    [--sp] = R0;	/*orig_r0*/					\
-    [--sp] = (R7:0,P5:0);						\
-    R0 = (N);								\
-    jump __common_int_entry;
-#endif /* CONFIG_IPIPE */
 
 /* For timer interrupts, we need to save IPEND, since the user_mode
 	   macro accesses it to determine where to account time.  */

Modified: trunk/arch/blackfin/include/asm/irq.h (5885 => 5886)


--- trunk/arch/blackfin/include/asm/irq.h	2008-12-18 17:54:38 UTC (rev 5885)
+++ trunk/arch/blackfin/include/asm/irq.h	2008-12-18 17:55:11 UTC (rev 5886)
@@ -40,19 +40,21 @@
 void __ipipe_restore_root(unsigned long flags);
 
 #ifdef CONFIG_DEBUG_HWERR
-#define __all_masked_irq_flags  0x3f
-#define __save_and_cli_hw(x) do {		\
-	__asm__ __volatile__ (			\
-		"cli %0;\n\tsti %1;"		\
-		: "=&d"(x) : "d" (0x3F));		\
-} while (0)
+# define __all_masked_irq_flags 0x3f
+# define __save_and_cli_hw(x) \
+	__asm__ __volatile__( \
+		"cli %0;" \
+		"sti %1;" \
+		: "=&d"(x) \
+		: "d" (0x3F) \
+	)
 #else
-#define __all_masked_irq_flags  0x1f
-#define __save_and_cli_hw(x) do {	\
-	__asm__ __volatile__ (          \
-		"cli %0;"		\
-		: "=&d"(x) : );		\
-} while (0)
+# define __all_masked_irq_flags 0x1f
+# define __save_and_cli_hw(x) \
+	__asm__ __volatile__( \
+		"cli %0;" \
+		: "=&d"(x) \
+	)
 #endif
 
 #define irqs_enabled_from_flags_hw(x)	((x) != __all_masked_irq_flags)
@@ -75,9 +77,12 @@
 #define local_irq_enable()	__ipipe_unstall_root()
 #define irqs_disabled()		__ipipe_test_root()
 
-#define local_save_flags_hw(x) asm volatile ("cli %0;"  \
-					     "sti %0;"	\
-					     : "=d"(x) : )
+#define local_save_flags_hw(x) \
+	__asm__ __volatile__( \
+		"cli %0;" \
+		"sti %0;" \
+		: "=d"(x) \
+	)
 
 #define	irqs_disabled_hw()				\
 	({						\
@@ -138,8 +143,12 @@
 		__asm__ __volatile__ ("cli %0;" : "=d" (_tmp_dummy) : );	\
 	} while (0)
 
-#define local_irq_enable_hw_notrace()				\
-	__asm__ __volatile__ ("sti %0;" : : "d"(bfin_irq_flags))
+#define local_irq_enable_hw_notrace() \
+	__asm__ __volatile__( \
+		"sti %0;" \
+		: \
+		: "d"(bfin_irq_flags) \
+	)
 
 #define local_irq_save_hw_notrace(x) __save_and_cli_hw(x)
 
@@ -151,24 +160,25 @@
 
 #else /* CONFIG_IPIPE_TRACE_IRQSOFF */
 
-#define local_irq_enable_hw()			\
-	do {					\
-		__asm__ __volatile__ (		\
-			"sti %0;"		\
-			: : "d"(bfin_irq_flags));	\
-	} while (0)
+#define local_irq_enable_hw() \
+	__asm__ __volatile__( \
+		"sti %0;" \
+		: \
+		: "d"(bfin_irq_flags) \
+	)
 
 #define local_irq_disable_hw()			\
 	do {					\
 		int _tmp_dummy;			\
 		__asm__ __volatile__ (		\
 			"cli %0;"		\
-			: "=d" (_tmp_dummy) : );	\
+			: "=d" (_tmp_dummy));	\
 	} while (0)
 
-#define local_irq_restore_hw(x) do {			\
-		if (irqs_enabled_from_flags_hw(x))	\
-			local_irq_enable_hw();		\
+#define local_irq_restore_hw(x) \
+	do { \
+		if (irqs_enabled_from_flags_hw(x)) \
+			local_irq_enable_hw(); \
 	} while (0)
 
 #define local_irq_save_hw(x)		__save_and_cli_hw(x)
@@ -194,8 +204,6 @@
 		); \
 	} while (0)
 
-
-
 #define local_irq_enable() \
 	__asm__ __volatile__( \
 		"sti %0;" \
@@ -256,23 +264,22 @@
 
 #endif /* !CONFIG_IPIPE */
 
-#if defined(ANOMALY_05000244) && defined(CONFIG_BLKFIN_CACHE)
-#define idle_with_irq_disabled() do {   \
-	__asm__ __volatile__ (          \
-		"nop; nop;\n"           \
-		".align 8;\n"           \
-		"sti %0; idle;\n"       \
-		: : "d" (bfin_irq_flags));     \
-} while (0)
+#if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
+# define NOP_PAD_ANOMALY_05000244 "nop; nop;"
 #else
-#define idle_with_irq_disabled() do {   \
-	__asm__ __volatile__ (          \
-		".align 8;\n"           \
-		"sti %0; idle;\n"       \
-		: : "d" (bfin_irq_flags));     \
-} while (0)
+# define NOP_PAD_ANOMALY_05000244
 #endif
 
+#define idle_with_irq_disabled() \
+	__asm__ __volatile__( \
+		NOP_PAD_ANOMALY_05000244 \
+		".align 8;" \
+		"sti %0;" \
+		"idle;" \
+		: \
+		: "d" (bfin_irq_flags) \
+	)
+
 static inline int irq_canonicalize(int irq)
 {
 	return irq;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to