cm4000_cs: fix error paths
[linux-2.6/mini2440.git] / include / asm-blackfin / blackfin.h
blob14e58de7397357bbc7aa6411426e06bd78775298
1 /*
2 * Common header file for blackfin family of processors.
4 */
6 #ifndef _BLACKFIN_H_
7 #define _BLACKFIN_H_
9 #include <asm/macros.h>
10 #include <asm/mach/blackfin.h>
11 #include <asm/bfin-global.h>
13 #ifndef __ASSEMBLY__
15 /* SSYNC implementation for C file */
16 #if defined(ANOMALY_05000312) && defined(ANOMALY_05000244)
17 static inline void SSYNC (void)
19 int _tmp;
20 __asm__ __volatile__ ("cli %0;\n\t"
21 "nop;nop;\n\t"
22 "ssync;\n\t"
23 "sti %0;\n\t"
24 :"=d"(_tmp):);
26 #elif defined(ANOMALY_05000312) && !defined(ANOMALY_05000244)
27 static inline void SSYNC (void)
29 int _tmp;
30 __asm__ __volatile__ ("cli %0;\n\t"
31 "ssync;\n\t"
32 "sti %0;\n\t"
33 :"=d"(_tmp):);
35 #elif !defined(ANOMALY_05000312) && defined(ANOMALY_05000244)
36 static inline void SSYNC (void)
38 __builtin_bfin_ssync();
40 #elif !defined(ANOMALY_05000312) && !defined(ANOMALY_05000244)
41 static inline void SSYNC (void)
43 __asm__ __volatile__ ("ssync;\n\t");
45 #endif
47 /* CSYNC implementation for C file */
48 #if defined(ANOMALY_05000312) && defined(ANOMALY_05000244)
49 static inline void CSYNC (void)
51 int _tmp;
52 __asm__ __volatile__ ("cli %0;\n\t"
53 "nop;nop;\n\t"
54 "csync;\n\t"
55 "sti %0;\n\t"
56 :"=d"(_tmp):);
58 #elif defined(ANOMALY_05000312) && !defined(ANOMALY_05000244)
59 static inline void CSYNC (void)
61 int _tmp;
62 __asm__ __volatile__ ("cli %0;\n\t"
63 "csync;\n\t"
64 "sti %0;\n\t"
65 :"=d"(_tmp):);
67 #elif !defined(ANOMALY_05000312) && defined(ANOMALY_05000244)
68 static inline void CSYNC (void)
70 __builtin_bfin_csync();
72 #elif !defined(ANOMALY_05000312) && !defined(ANOMALY_05000244)
73 static inline void CSYNC (void)
75 __asm__ __volatile__ ("csync;\n\t");
77 #endif
79 #endif /* __ASSEMBLY__ */
81 #endif /* _BLACKFIN_H_ */