Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 167189
b: refs/heads/master
c: 48dee09
h: refs/heads/master
i:
  167187: cc15093
v: v3
  • Loading branch information
Mike Frysinger committed Oct 7, 2009
1 parent 20e94fb commit eb84378
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d586e833f970dfb4768e6c872b621f4cfc555267
refs/heads/master: 48dee09325fbc5ffb9d4a780e765538c0e9cc794
25 changes: 12 additions & 13 deletions trunk/arch/blackfin/kernel/cplbinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,24 +112,21 @@ static const struct seq_operations cplbinfo_sops = {
.show = cplbinfo_show,
};

#define CPLBINFO_DCPLB_FLAG 0x80000000

static int cplbinfo_open(struct inode *inode, struct file *file)
{
char buf[256], *path, *p;
struct proc_dir_entry *pde = PDE(file->f_path.dentry->d_inode);
char cplb_type;
unsigned int cpu;
char *s_cpu, *s_cplb;
int ret;
struct seq_file *m;
struct cplbinfo_data *cdata;

path = d_path(&file->f_path, buf, sizeof(buf));
if (IS_ERR(path))
return PTR_ERR(path);
s_cpu = strstr(path, "/cpu");
s_cplb = strrchr(path, '/');
if (!s_cpu || !s_cplb)
return -EINVAL;
cpu = (unsigned int)pde->data;
cplb_type = cpu & CPLBINFO_DCPLB_FLAG ? 'D' : 'I';
cpu &= ~CPLBINFO_DCPLB_FLAG;

cpu = simple_strtoul(s_cpu + 4, &p, 10);
if (!cpu_online(cpu))
return -ENODEV;

Expand All @@ -140,7 +137,7 @@ static int cplbinfo_open(struct inode *inode, struct file *file)
cdata = m->private;

cdata->pos = 0;
cdata->cplb_type = toupper(s_cplb[1]);
cdata->cplb_type = cplb_type;
cplbinfo_seq_init(cdata, cpu);

return 0;
Expand Down Expand Up @@ -169,8 +166,10 @@ static int __init cplbinfo_init(void)
if (!cpu_dir)
return -ENOMEM;

proc_create("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops);
proc_create("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops);
proc_create_data("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops,
(void *)cpu);
proc_create_data("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops,
(void *)(cpu | CPLBINFO_DCPLB_FLAG));
}

return 0;
Expand Down

0 comments on commit eb84378

Please sign in to comment.