diff options
| author | Andrew Morton <akpm@digeo.com> | 2002-10-31 20:02:41 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-10-31 20:02:41 -0800 |
| commit | 60cd84fd5e8354accc1277fcb81fb6d3d3e790e9 (patch) | |
| tree | beab80d0f0f8a14a301e98bede2d7b759d5684a1 /drivers/base | |
| parent | 7c265fe6370fc05acb39ee919bdfacd42f96c7fb (diff) | |
[PATCH] driverfs topology cleanup
From Matthew Dobson.
This final patch from Matthew cleans up a few leftovers which were noted
after the code had been reviewed and tested a bit in the -mm patchsets.
1) Update register_XXX and arch_register_XXX functions to return int
instead of void. Functions calling these functions should know if
they completed successfully to take appropriate further registration
action, or not bother.
2) Drop some pointless error checking in the arch_register_XXX
functions.
Diffstat (limited to 'drivers/base')
| -rw-r--r-- | drivers/base/cpu.c | 4 | ||||
| -rw-r--r-- | drivers/base/memblk.c | 4 | ||||
| -rw-r--r-- | drivers/base/node.c | 8 |
3 files changed, 10 insertions, 6 deletions
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index 153a4f7709fe..29f25fca2255 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c @@ -33,7 +33,7 @@ struct device_driver cpu_driver = { * * Initialize and register the CPU device. */ -void __init register_cpu(struct cpu *cpu, int num, struct node *root) +int __init register_cpu(struct cpu *cpu, int num, struct node *root) { cpu->node_id = __cpu_to_node(num); cpu->sysdev.name = "cpu"; @@ -42,7 +42,7 @@ void __init register_cpu(struct cpu *cpu, int num, struct node *root) cpu->sysdev.root = &root->sysroot; snprintf(cpu->sysdev.dev.name, DEVICE_NAME_SIZE, "CPU %u", num); cpu->sysdev.dev.driver = &cpu_driver; - sys_device_register(&cpu->sysdev); + return sys_device_register(&cpu->sysdev); } diff --git a/drivers/base/memblk.c b/drivers/base/memblk.c index ac738f7602b2..deed83fa4070 100644 --- a/drivers/base/memblk.c +++ b/drivers/base/memblk.c @@ -34,7 +34,7 @@ struct device_driver memblk_driver = { * * Initialize and register the MemBlk device. */ -void __init register_memblk(struct memblk *memblk, int num, struct node *root) +int __init register_memblk(struct memblk *memblk, int num, struct node *root) { memblk->node_id = __memblk_to_node(num); memblk->sysdev.name = "memblk"; @@ -43,7 +43,7 @@ void __init register_memblk(struct memblk *memblk, int num, struct node *root) memblk->sysdev.root = &root->sysroot; snprintf(memblk->sysdev.dev.name, DEVICE_NAME_SIZE, "Memory Block %u", num); memblk->sysdev.dev.driver = &memblk_driver; - sys_device_register(&memblk->sysdev); + return sys_device_register(&memblk->sysdev); } diff --git a/drivers/base/node.c b/drivers/base/node.c index e2192eee8380..631cdc395e05 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -70,8 +70,10 @@ static DEVICE_ATTR(meminfo,S_IRUGO,node_read_meminfo,NULL); * * Initialize and register the node device. */ -void __init register_node(struct node *node, int num, struct node *parent) +int __init register_node(struct node *node, int num, struct node *parent) { + int error; + node->cpumap = __node_to_cpu_mask(num); node->sysroot.id = num; if (parent) @@ -80,10 +82,12 @@ void __init register_node(struct node *node, int num, struct node *parent) snprintf(node->sysroot.dev.bus_id, BUS_ID_SIZE, "node%u", num); node->sysroot.dev.driver = &node_driver; node->sysroot.dev.bus = &system_bus_type; - if (!sys_register_root(&node->sysroot)){ + error = sys_register_root(&node->sysroot); + if (!error){ device_create_file(&node->sysroot.dev, &dev_attr_cpumap); device_create_file(&node->sysroot.dev, &dev_attr_meminfo); } + return error; } |
