home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / node.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.5 KB  |  60 lines

  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.  
  25. struct node {
  26.     struct sys_device    sysdev;
  27. };
  28.  
  29. extern struct node node_devices[];
  30.  
  31. extern int register_node(struct node *, int, struct node *);
  32. extern void unregister_node(struct node *node);
  33. #ifdef CONFIG_NUMA
  34. extern int register_one_node(int nid);
  35. extern void unregister_one_node(int nid);
  36. extern int register_cpu_under_node(unsigned int cpu, unsigned int nid);
  37. extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid);
  38. #else
  39. static inline int register_one_node(int nid)
  40. {
  41.     return 0;
  42. }
  43. static inline int unregister_one_node(int nid)
  44. {
  45.     return 0;
  46. }
  47. static inline int register_cpu_under_node(unsigned int cpu, unsigned int nid)
  48. {
  49.     return 0;
  50. }
  51. static inline int unregister_cpu_under_node(unsigned int cpu, unsigned int nid)
  52. {
  53.     return 0;
  54. }
  55. #endif
  56.  
  57. #define to_node(sys_device) container_of(sys_device, struct node, sysdev)
  58.  
  59. #endif /* _LINUX_NODE_H_ */
  60.