Blackfin arch: get oprofile work for user space
[linux-2.6.git] / arch / blackfin / oprofile / common.c
index cb8b8d5..cf8f488 100644 (file)
@@ -75,7 +75,7 @@ static int op_bfin_start(void)
 {
        int ret = -EBUSY;
 
-       printk(KERN_INFO "KSDBG:in %s\n", __FUNCTION__);
+       printk(KERN_INFO "KSDBG:in %s\n", __func__);
        mutex_lock(&pfmon_lock);
        if (!pfmon_enabled) {
                ret = model->start(ctr);
@@ -126,20 +126,12 @@ static int op_bfin_create_files(struct super_block *sb, struct dentry *root)
 int __init oprofile_arch_init(struct oprofile_operations *ops)
 {
 #ifdef CONFIG_HARDWARE_PM
-       unsigned int dspid;
-
        mutex_init(&pfmon_lock);
 
-       dspid = bfin_read_DSPID();
-
-       printk(KERN_INFO "Oprofile got the cpu id is 0x%x. \n", dspid);
 
-       switch (dspid) {
-       case BFIN_533_ID:
-               model = &op_model_bfin533;
-               model->num_counters = 2;
-               break;
-       case BFIN_537_ID:
+       switch (bfin_read_CHIPID() & CHIPID_MANUFACTURE) {
+       case 0xca:
+               printk(KERN_INFO "Oprofile: cpu vendor is Analog Devices.\n");
                model = &op_model_bfin533;
                model->num_counters = 2;
                break;