aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/node.c')
-rw-r--r--drivers/base/node.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c
index c80c3aeed004..cbd0f62b4870 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -190,6 +190,31 @@ void unregister_node(struct node *node)
190 sysdev_unregister(&node->sysdev); 190 sysdev_unregister(&node->sysdev);
191} 191}
192 192
193struct node node_devices[MAX_NUMNODES];
194
195int register_one_node(int nid)
196{
197 int error = 0;
198
199 if (node_online(nid)) {
200 int p_node = parent_node(nid);
201 struct node *parent = NULL;
202
203 if (p_node != nid)
204 parent = &node_devices[p_node];
205
206 error = register_node(&node_devices[nid], nid, parent);
207 }
208
209 return error;
210
211}
212
213void unregister_one_node(int nid)
214{
215 unregister_node(&node_devices[nid]);
216}
217
193static int __init register_node_type(void) 218static int __init register_node_type(void)
194{ 219{
195 return sysdev_class_register(&node_class); 220 return sysdev_class_register(&node_class);