Blackfin arch: get oprofile work for user space
[linux-2.6.git] / arch / blackfin / oprofile / common.c
index 009a170..cf8f488 100644 (file)
 #include <linux/smp.h>
 #include <linux/errno.h>
 #include <linux/mutex.h>
+#include <linux/ptrace.h>
+#include <linux/irq.h>
+#include <linux/io.h>
 
-#include <asm/ptrace.h>
 #include <asm/system.h>
 #include <asm/blackfin.h>
-#include <asm/irq.h>
-#include <asm/io.h>
 
 #include "op_blackfin.h"
 
@@ -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;