diff options
author | Anton Blanchard <anton@samba.org> | 2005-09-06 00:57:52 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-09-06 02:09:21 -0400 |
commit | 8fef0306f9164d4bfd0befb62e63e4d1167681b5 (patch) | |
tree | 55158562dbbe4a9e16f9f5e600c2b7fcee21d38b /arch/ppc64/oprofile/common.c | |
parent | dca859329cee9b4cf02c8b7cb805b49973292ed2 (diff) |
[PATCH] ppc64: Move oprofile_model into cpu feature struct
Move oprofile_model into cpu feature struct.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/oprofile/common.c')
-rw-r--r-- | arch/ppc64/oprofile/common.c | 42 |
1 files changed, 5 insertions, 37 deletions
diff --git a/arch/ppc64/oprofile/common.c b/arch/ppc64/oprofile/common.c index 3e8daabf1021..e5f572710aa0 100644 --- a/arch/ppc64/oprofile/common.c +++ b/arch/ppc64/oprofile/common.c | |||
@@ -121,45 +121,13 @@ static int op_ppc64_create_files(struct super_block *sb, struct dentry *root) | |||
121 | 121 | ||
122 | int __init oprofile_arch_init(struct oprofile_operations *ops) | 122 | int __init oprofile_arch_init(struct oprofile_operations *ops) |
123 | { | 123 | { |
124 | unsigned int pvr; | 124 | if (!cur_cpu_spec->oprofile_model || !cur_cpu_spec->oprofile_cpu_type) |
125 | 125 | return -ENODEV; | |
126 | pvr = mfspr(SPRN_PVR); | ||
127 | |||
128 | switch (PVR_VER(pvr)) { | ||
129 | case PV_630: | ||
130 | case PV_630p: | ||
131 | model = &op_model_rs64; | ||
132 | break; | ||
133 | |||
134 | case PV_NORTHSTAR: | ||
135 | case PV_PULSAR: | ||
136 | case PV_ICESTAR: | ||
137 | case PV_SSTAR: | ||
138 | model = &op_model_rs64; | ||
139 | break; | ||
140 | |||
141 | case PV_POWER4: | ||
142 | case PV_POWER4p: | ||
143 | model = &op_model_power4; | ||
144 | break; | ||
145 | |||
146 | case PV_970: | ||
147 | case PV_970FX: | ||
148 | case PV_970MP: | ||
149 | model = &op_model_power4; | ||
150 | break; | ||
151 | |||
152 | case PV_POWER5: | ||
153 | case PV_POWER5p: | ||
154 | model = &op_model_power4; | ||
155 | break; | ||
156 | |||
157 | default: | ||
158 | return -ENODEV; | ||
159 | } | ||
160 | 126 | ||
161 | ops->cpu_type = cur_cpu_spec->oprofile_cpu_type; | 127 | model = cur_cpu_spec->oprofile_model; |
162 | model->num_counters = cur_cpu_spec->num_pmcs; | 128 | model->num_counters = cur_cpu_spec->num_pmcs; |
129 | |||
130 | ops->cpu_type = cur_cpu_spec->oprofile_cpu_type; | ||
163 | ops->create_files = op_ppc64_create_files; | 131 | ops->create_files = op_ppc64_create_files; |
164 | ops->setup = op_ppc64_setup; | 132 | ops->setup = op_ppc64_setup; |
165 | ops->shutdown = op_ppc64_shutdown; | 133 | ops->shutdown = op_ppc64_shutdown; |