linux/include/linux/node.h
<<
>>
Prefs
   1/*
   2 * include/linux/node.h - generic node definition
   3 *
   4 * This is mainly for topological representation. We define the 
   5 * basic 'struct node' here, which can be embedded in per-arch 
   6 * definitions of processors.
   7 *
   8 * Basic handling of the devices is done in drivers/base/node.c
   9 * and system devices are handled in drivers/base/sys.c. 
  10 *
  11 * Nodes are exported via driverfs in the class/node/devices/
  12 * directory. 
  13 *
  14 * Per-node interfaces can be implemented using a struct device_interface. 
  15 * See the following for how to do this: 
  16 * - drivers/base/intf.c 
  17 * - Documentation/driver-model/interface.txt
  18 */
  19#ifndef _LINUX_NODE_H_
  20#define _LINUX_NODE_H_
  21
  22#include <linux/sysdev.h>
  23#include <linux/cpumask.h>
  24
  25struct node {
  26        struct sys_device       sysdev;
  27};
  28
  29struct memory_block;
  30extern struct node node_devices[];
  31
  32extern int register_node(struct node *, int, struct node *);
  33extern void unregister_node(struct node *node);
  34#ifdef CONFIG_NUMA
  35extern int register_one_node(int nid);
  36extern void unregister_one_node(int nid);
  37extern int register_cpu_under_node(unsigned int cpu, unsigned int nid);
  38extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid);
  39extern int register_mem_sect_under_node(struct memory_block *mem_blk,
  40                                                int nid);
  41extern int unregister_mem_sect_under_nodes(struct memory_block *mem_blk);
  42#else
  43static inline int register_one_node(int nid)
  44{
  45        return 0;
  46}
  47static inline int unregister_one_node(int nid)
  48{
  49        return 0;
  50}
  51static inline int register_cpu_under_node(unsigned int cpu, unsigned int nid)
  52{
  53        return 0;
  54}
  55static inline int unregister_cpu_under_node(unsigned int cpu, unsigned int nid)
  56{
  57        return 0;
  58}
  59static inline int register_mem_sect_under_node(struct memory_block *mem_blk,
  60                                                        int nid)
  61{
  62        return 0;
  63}
  64static inline int unregister_mem_sect_under_nodes(struct memory_block *mem_blk)
  65{
  66        return 0;
  67}
  68#endif
  69
  70#define to_node(sys_device) container_of(sys_device, struct node, sysdev)
  71
  72#endif /* _LINUX_NODE_H_ */
  73
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.