Skip to content

Commit

Permalink
[PATCH] hdpu_cpustate.c: misc_register() can fail
Browse files Browse the repository at this point in the history
Signed-off-by: Christophe Lucas <[email protected]>
Signed-off-by: Domen Puncer <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Christophe Lucas authored and Linus Torvalds committed Sep 10, 2005
1 parent cf85d5c commit 1ac19f4
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions drivers/misc/hdpuftrs/hdpu_cpustate.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,22 +192,37 @@ static int hdpu_cpustate_probe(struct device *ddev)
{
struct platform_device *pdev = to_platform_device(ddev);
struct resource *res;
struct proc_dir_entry *proc_de;
int ret;

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
cpustate.set_addr = (unsigned long *)res->start;
cpustate.clr_addr = (unsigned long *)res->end - 1;

misc_register(&cpustate_dev);
create_proc_read_entry("sky_cpustate", 0, 0, cpustate_read_proc, NULL);
ret = misc_register(&cpustate_dev);
if (ret) {
printk(KERN_WARNING "sky_cpustate: Unable to register misc "
"device.\n");
cpustate.set_addr = NULL;
cpustate.clr_addr = NULL;
return ret;
}

proc_de = create_proc_read_entry("sky_cpustate", 0, 0,
cpustate_read_proc, NULL);
if (proc_de == NULL)
printk(KERN_WARNING "sky_cpustate: Unable to create proc "
"dir entry\n");

printk(KERN_INFO "Sky CPU State Driver v" SKY_CPUSTATE_VERSION "\n");
return 0;
}

static int hdpu_cpustate_remove(struct device *ddev)
{

cpustate.set_addr = 0;
cpustate.clr_addr = 0;
cpustate.set_addr = NULL;
cpustate.clr_addr = NULL;

remove_proc_entry("sky_cpustate", NULL);
misc_deregister(&cpustate_dev);
Expand Down

0 comments on commit 1ac19f4

Please sign in to comment.