diff options
author | Jonas Gorski <jogo@openwrt.org> | 2014-07-08 10:53:24 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-07-30 09:25:05 -0400 |
commit | e86ae9e2e0c3badc74c81f3449b9d59513d8845c (patch) | |
tree | c03dea2f9cc24f0368721bbac3e395d84c7467b6 | |
parent | 436f302f7b90ce9f1248ff688cbc861ea24372db (diff) |
MIPS: BCM63xx: Remove !RUNTIME_DETECT code for bcmcpu_get_id
Use the same pattern as with get_*_cpu_type() to allow the compiler
to remove code for non enabled SoC types.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Cc: linux-mips@linux-mips.org
Cc: John Crispin <blogic@openwrt.org>
Cc: Maxime Bizon <mbizon@freebox.fr>
Cc: Florian Fainelli <florian@openwrt.org>
Cc: Kevin Cernekee <cernekee@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/7273/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/bcm63xx/cpu.c | 11 | ||||
-rw-r--r-- | arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | 120 |
2 files changed, 38 insertions, 93 deletions
diff --git a/arch/mips/bcm63xx/cpu.c b/arch/mips/bcm63xx/cpu.c index fd4e76c00a42..536f64443031 100644 --- a/arch/mips/bcm63xx/cpu.c +++ b/arch/mips/bcm63xx/cpu.c | |||
@@ -24,7 +24,9 @@ EXPORT_SYMBOL(bcm63xx_regs_base); | |||
24 | const int *bcm63xx_irqs; | 24 | const int *bcm63xx_irqs; |
25 | EXPORT_SYMBOL(bcm63xx_irqs); | 25 | EXPORT_SYMBOL(bcm63xx_irqs); |
26 | 26 | ||
27 | static u16 bcm63xx_cpu_id; | 27 | u16 bcm63xx_cpu_id __read_mostly; |
28 | EXPORT_SYMBOL(bcm63xx_cpu_id); | ||
29 | |||
28 | static u8 bcm63xx_cpu_rev; | 30 | static u8 bcm63xx_cpu_rev; |
29 | static unsigned int bcm63xx_cpu_freq; | 31 | static unsigned int bcm63xx_cpu_freq; |
30 | static unsigned int bcm63xx_memory_size; | 32 | static unsigned int bcm63xx_memory_size; |
@@ -97,13 +99,6 @@ static const int bcm6368_irqs[] = { | |||
97 | 99 | ||
98 | }; | 100 | }; |
99 | 101 | ||
100 | u16 __bcm63xx_get_cpu_id(void) | ||
101 | { | ||
102 | return bcm63xx_cpu_id; | ||
103 | } | ||
104 | |||
105 | EXPORT_SYMBOL(__bcm63xx_get_cpu_id); | ||
106 | |||
107 | u8 bcm63xx_get_cpu_rev(void) | 102 | u8 bcm63xx_get_cpu_rev(void) |
108 | { | 103 | { |
109 | return bcm63xx_cpu_rev; | 104 | return bcm63xx_cpu_rev; |
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h index 4d76fc721a50..56bb19219d48 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h | |||
@@ -19,118 +19,68 @@ | |||
19 | #define BCM6368_CPU_ID 0x6368 | 19 | #define BCM6368_CPU_ID 0x6368 |
20 | 20 | ||
21 | void __init bcm63xx_cpu_init(void); | 21 | void __init bcm63xx_cpu_init(void); |
22 | u16 __bcm63xx_get_cpu_id(void); | ||
23 | u8 bcm63xx_get_cpu_rev(void); | 22 | u8 bcm63xx_get_cpu_rev(void); |
24 | unsigned int bcm63xx_get_cpu_freq(void); | 23 | unsigned int bcm63xx_get_cpu_freq(void); |
25 | 24 | ||
25 | static inline u16 __pure __bcm63xx_get_cpu_id(const u16 cpu_id) | ||
26 | { | ||
27 | switch (cpu_id) { | ||
26 | #ifdef CONFIG_BCM63XX_CPU_3368 | 28 | #ifdef CONFIG_BCM63XX_CPU_3368 |
27 | # ifdef bcm63xx_get_cpu_id | 29 | case BCM3368_CPU_ID: |
28 | # undef bcm63xx_get_cpu_id | ||
29 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
30 | # define BCMCPU_RUNTIME_DETECT | ||
31 | # else | ||
32 | # define bcm63xx_get_cpu_id() BCM3368_CPU_ID | ||
33 | # endif | ||
34 | # define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) | ||
35 | #else | ||
36 | # define BCMCPU_IS_3368() (0) | ||
37 | #endif | 30 | #endif |
38 | 31 | ||
39 | #ifdef CONFIG_BCM63XX_CPU_6328 | 32 | #ifdef CONFIG_BCM63XX_CPU_6328 |
40 | # ifdef bcm63xx_get_cpu_id | 33 | case BCM6328_CPU_ID: |
41 | # undef bcm63xx_get_cpu_id | ||
42 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
43 | # define BCMCPU_RUNTIME_DETECT | ||
44 | # else | ||
45 | # define bcm63xx_get_cpu_id() BCM6328_CPU_ID | ||
46 | # endif | ||
47 | # define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) | ||
48 | #else | ||
49 | # define BCMCPU_IS_6328() (0) | ||
50 | #endif | 34 | #endif |
51 | 35 | ||
52 | #ifdef CONFIG_BCM63XX_CPU_6338 | 36 | #ifdef CONFIG_BCM63XX_CPU_6338 |
53 | # ifdef bcm63xx_get_cpu_id | 37 | case BCM6338_CPU_ID: |
54 | # undef bcm63xx_get_cpu_id | ||
55 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
56 | # define BCMCPU_RUNTIME_DETECT | ||
57 | # else | ||
58 | # define bcm63xx_get_cpu_id() BCM6338_CPU_ID | ||
59 | # endif | ||
60 | # define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) | ||
61 | #else | ||
62 | # define BCMCPU_IS_6338() (0) | ||
63 | #endif | 38 | #endif |
64 | 39 | ||
65 | #ifdef CONFIG_BCM63XX_CPU_6345 | 40 | #ifdef CONFIG_BCM63XX_CPU_6345 |
66 | # ifdef bcm63xx_get_cpu_id | 41 | case BCM6345_CPU_ID: |
67 | # undef bcm63xx_get_cpu_id | ||
68 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
69 | # define BCMCPU_RUNTIME_DETECT | ||
70 | # else | ||
71 | # define bcm63xx_get_cpu_id() BCM6345_CPU_ID | ||
72 | # endif | ||
73 | # define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) | ||
74 | #else | ||
75 | # define BCMCPU_IS_6345() (0) | ||
76 | #endif | 42 | #endif |
77 | 43 | ||
78 | #ifdef CONFIG_BCM63XX_CPU_6348 | 44 | #ifdef CONFIG_BCM63XX_CPU_6348 |
79 | # ifdef bcm63xx_get_cpu_id | 45 | case BCM6348_CPU_ID: |
80 | # undef bcm63xx_get_cpu_id | ||
81 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
82 | # define BCMCPU_RUNTIME_DETECT | ||
83 | # else | ||
84 | # define bcm63xx_get_cpu_id() BCM6348_CPU_ID | ||
85 | # endif | ||
86 | # define BCMCPU_IS_6348() (bcm63xx_get_cpu_id() == BCM6348_CPU_ID) | ||
87 | #else | ||
88 | # define BCMCPU_IS_6348() (0) | ||
89 | #endif | 46 | #endif |
90 | 47 | ||
91 | #ifdef CONFIG_BCM63XX_CPU_6358 | 48 | #ifdef CONFIG_BCM63XX_CPU_6358 |
92 | # ifdef bcm63xx_get_cpu_id | 49 | case BCM6358_CPU_ID: |
93 | # undef bcm63xx_get_cpu_id | ||
94 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
95 | # define BCMCPU_RUNTIME_DETECT | ||
96 | # else | ||
97 | # define bcm63xx_get_cpu_id() BCM6358_CPU_ID | ||
98 | # endif | ||
99 | # define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) | ||
100 | #else | ||
101 | # define BCMCPU_IS_6358() (0) | ||
102 | #endif | 50 | #endif |
103 | 51 | ||
104 | #ifdef CONFIG_BCM63XX_CPU_6362 | 52 | #ifdef CONFIG_BCM63XX_CPU_6362 |
105 | # ifdef bcm63xx_get_cpu_id | 53 | case BCM6362_CPU_ID: |
106 | # undef bcm63xx_get_cpu_id | ||
107 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
108 | # define BCMCPU_RUNTIME_DETECT | ||
109 | # else | ||
110 | # define bcm63xx_get_cpu_id() BCM6362_CPU_ID | ||
111 | # endif | ||
112 | # define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) | ||
113 | #else | ||
114 | # define BCMCPU_IS_6362() (0) | ||
115 | #endif | 54 | #endif |
116 | 55 | ||
117 | |||
118 | #ifdef CONFIG_BCM63XX_CPU_6368 | 56 | #ifdef CONFIG_BCM63XX_CPU_6368 |
119 | # ifdef bcm63xx_get_cpu_id | 57 | case BCM6368_CPU_ID: |
120 | # undef bcm63xx_get_cpu_id | ||
121 | # define bcm63xx_get_cpu_id() __bcm63xx_get_cpu_id() | ||
122 | # define BCMCPU_RUNTIME_DETECT | ||
123 | # else | ||
124 | # define bcm63xx_get_cpu_id() BCM6368_CPU_ID | ||
125 | # endif | ||
126 | # define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) | ||
127 | #else | ||
128 | # define BCMCPU_IS_6368() (0) | ||
129 | #endif | 58 | #endif |
59 | break; | ||
60 | default: | ||
61 | unreachable(); | ||
62 | } | ||
130 | 63 | ||
131 | #ifndef bcm63xx_get_cpu_id | 64 | return cpu_id; |
132 | #error "No CPU support configured" | 65 | } |
133 | #endif | 66 | |
67 | extern u16 bcm63xx_cpu_id; | ||
68 | |||
69 | static inline u16 __pure bcm63xx_get_cpu_id(void) | ||
70 | { | ||
71 | const u16 cpu_id = bcm63xx_cpu_id; | ||
72 | |||
73 | return __bcm63xx_get_cpu_id(cpu_id); | ||
74 | } | ||
75 | |||
76 | #define BCMCPU_IS_3368() (bcm63xx_get_cpu_id() == BCM3368_CPU_ID) | ||
77 | #define BCMCPU_IS_6328() (bcm63xx_get_cpu_id() == BCM6328_CPU_ID) | ||
78 | #define BCMCPU_IS_6338() (bcm63xx_get_cpu_id() == BCM6338_CPU_ID) | ||
79 | #define BCMCPU_IS_6345() (bcm63xx_get_cpu_id() == BCM6345_CPU_ID) | ||
80 | #define BCMCPU_IS_6348() (bcm63xx_get_cpu_id() == BCM6348_CPU_ID) | ||
81 | #define BCMCPU_IS_6358() (bcm63xx_get_cpu_id() == BCM6358_CPU_ID) | ||
82 | #define BCMCPU_IS_6362() (bcm63xx_get_cpu_id() == BCM6362_CPU_ID) | ||
83 | #define BCMCPU_IS_6368() (bcm63xx_get_cpu_id() == BCM6368_CPU_ID) | ||
134 | 84 | ||
135 | /* | 85 | /* |
136 | * While registers sets are (mostly) the same across 63xx CPU, base | 86 | * While registers sets are (mostly) the same across 63xx CPU, base |