git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
mips
/
oprofile
/
common.c
diff --git
a/arch/mips/oprofile/common.c
b/arch/mips/oprofile/common.c
index
935dd85
..
4e0a90b
100644
(file)
--- a/
arch/mips/oprofile/common.c
+++ b/
arch/mips/oprofile/common.c
@@
-14,8
+14,8
@@
#include "op_impl.h"
#include "op_impl.h"
-extern struct op_mips_model op_model_mipsxx __attribute__((weak));
-extern struct op_mips_model op_model_rm9000 __attribute__((weak));
+extern struct op_mips_model op_model_mipsxx
_ops
__attribute__((weak));
+extern struct op_mips_model op_model_rm9000
_ops
__attribute__((weak));
static struct op_mips_model *model;
static struct op_mips_model *model;
@@
-27,7
+27,7
@@
static int op_mips_setup(void)
model->reg_setup(ctr);
/* Configure the registers on all cpus. */
model->reg_setup(ctr);
/* Configure the registers on all cpus. */
- on_each_cpu(model->cpu_setup,
0
, 0, 1);
+ on_each_cpu(model->cpu_setup,
NULL
, 0, 1);
return 0;
}
return 0;
}
@@
-38,7
+38,7
@@
static int op_mips_create_files(struct super_block * sb, struct dentry * root)
for (i = 0; i < model->num_counters; ++i) {
struct dentry *dir;
for (i = 0; i < model->num_counters; ++i) {
struct dentry *dir;
- char buf[
3
];
+ char buf[
4
];
snprintf(buf, sizeof buf, "%d", i);
dir = oprofilefs_mkdir(sb, root, buf);
snprintf(buf, sizeof buf, "%d", i);
dir = oprofilefs_mkdir(sb, root, buf);
@@
-80,13
+80,17
@@
int __init oprofile_arch_init(struct oprofile_operations *ops)
case CPU_24K:
case CPU_25KF:
case CPU_34K:
case CPU_24K:
case CPU_25KF:
case CPU_34K:
+ case CPU_74K:
case CPU_SB1:
case CPU_SB1A:
case CPU_SB1:
case CPU_SB1A:
- lmodel = &op_model_mipsxx;
+ case CPU_R10000:
+ case CPU_R12000:
+ case CPU_R14000:
+ lmodel = &op_model_mipsxx_ops;
break;
case CPU_RM9000:
break;
case CPU_RM9000:
- lmodel = &op_model_rm9000;
+ lmodel = &op_model_rm9000
_ops
;
break;
};
break;
};
@@
-114,5
+118,6
@@
int __init oprofile_arch_init(struct oprofile_operations *ops)
void oprofile_arch_exit(void)
{
void oprofile_arch_exit(void)
{
- model->exit();
+ if (model)
+ model->exit();
}
}