Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 91455
b: refs/heads/master
c: f61fb8a
h: refs/heads/master
i:
  91453: 6d5c546
  91451: c87ca53
  91447: 2f96dd6
  91439: f7f39a1
  91423: 61482c1
  91391: 168191d
v: v3
  • Loading branch information
Nathan Lynch authored and Paul Mackerras committed Mar 25, 2008
1 parent a3de710 commit 726bb4d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 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: 9356d90effa39c83c8fdba2a14cecec79959d4d0
refs/heads/master: f61fb8a52cdf8b9b6a6badde84aefe58cb35d315
37 changes: 18 additions & 19 deletions trunk/arch/powerpc/platforms/pseries/scanlog.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,31 +195,30 @@ const struct file_operations scanlog_fops = {
static int __init scanlog_init(void)
{
struct proc_dir_entry *ent;
void *data;
int err = -ENOMEM;

ibm_scan_log_dump = rtas_token("ibm,scan-log-dump");
if (ibm_scan_log_dump == RTAS_UNKNOWN_SERVICE) {
printk(KERN_ERR "scan-log-dump not implemented on this system\n");
return -EIO;
}
if (ibm_scan_log_dump == RTAS_UNKNOWN_SERVICE)
return -ENODEV;

ent = create_proc_entry("ppc64/rtas/scan-log-dump", S_IRUSR, NULL);
if (ent) {
ent->proc_fops = &scanlog_fops;
/* Ideally we could allocate a buffer < 4G */
ent->data = kmalloc(RTAS_DATA_BUF_SIZE, GFP_KERNEL);
if (!ent->data) {
printk(KERN_ERR "Failed to allocate a buffer\n");
remove_proc_entry("scan-log-dump", ent->parent);
return -ENOMEM;
}
((unsigned int *)ent->data)[0] = 0;
} else {
printk(KERN_ERR "Failed to create ppc64/scan-log-dump proc entry\n");
return -EIO;
}
/* Ideally we could allocate a buffer < 4G */
data = kzalloc(RTAS_DATA_BUF_SIZE, GFP_KERNEL);
if (!data)
goto err;

ent = proc_create("ppc64/rtas/scan-log-dump", S_IRUSR, NULL,
&scanlog_fops);
if (!ent)
goto err;

ent->data = data;
proc_ppc64_scan_log_dump = ent;

return 0;
err:
kfree(data);
return err;
}

static void __exit scanlog_cleanup(void)
Expand Down

0 comments on commit 726bb4d

Please sign in to comment.