summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2002-10-31 20:02:41 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-10-31 20:02:41 -0800
commit60cd84fd5e8354accc1277fcb81fb6d3d3e790e9 (patch)
treebeab80d0f0f8a14a301e98bede2d7b759d5684a1 /drivers/base
parent7c265fe6370fc05acb39ee919bdfacd42f96c7fb (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.c4
-rw-r--r--drivers/base/memblk.c4
-rw-r--r--drivers/base/node.c8
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;
}