]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - include/asm-powerpc/topology.h
[PATCH] powerpc: Allow devices to register with numa topology
[mirror_ubuntu-zesty-kernel.git] / include / asm-powerpc / topology.h
index 2512e3836bf4de90ba130054b7a889920ab5031b..87362a05542b6ba5036d8631b5f20aa481651980 100644 (file)
@@ -1,23 +1,19 @@
 #ifndef _ASM_POWERPC_TOPOLOGY_H
 #define _ASM_POWERPC_TOPOLOGY_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 
+struct sys_device;
+struct device_node;
+
 #ifdef CONFIG_NUMA
 
 #include <asm/mmzone.h>
 
 static inline int cpu_to_node(int cpu)
 {
-       int node;
-
-       node = numa_cpu_lookup_table[cpu];
-
-#ifdef DEBUG_NUMA
-       BUG_ON(node == -1);
-#endif
-
-       return node;
+       return numa_cpu_lookup_table[cpu];
 }
 
 #define parent_node(node)      (node)
@@ -34,11 +30,11 @@ static inline int node_to_first_cpu(int node)
        return first_cpu(tmp);
 }
 
+int of_node_to_nid(struct device_node *device);
+
 #define pcibus_to_node(node)    (-1)
 #define pcibus_to_cpumask(bus) (cpu_online_map)
 
-#define nr_cpus_node(node)     (nr_cpus_in_node[node])
-
 /* sched_domains SD_NODE_INIT for PPC64 machines */
 #define SD_NODE_INIT (struct sched_domain) {           \
        .span                   = CPU_MASK_NONE,        \
@@ -48,9 +44,12 @@ static inline int node_to_first_cpu(int node)
        .max_interval           = 32,                   \
        .busy_factor            = 32,                   \
        .imbalance_pct          = 125,                  \
-       .cache_hot_time         = (10*1000000),         \
        .cache_nice_tries       = 1,                    \
        .per_cpu_gain           = 100,                  \
+       .busy_idx               = 3,                    \
+       .idle_idx               = 1,                    \
+       .newidle_idx            = 2,                    \
+       .wake_idx               = 1,                    \
        .flags                  = SD_LOAD_BALANCE       \
                                | SD_BALANCE_EXEC       \
                                | SD_BALANCE_NEWIDLE    \
@@ -61,10 +60,34 @@ static inline int node_to_first_cpu(int node)
        .nr_balance_failed      = 0,                    \
 }
 
+extern void __init dump_numa_cpu_topology(void);
+
+extern int sysfs_add_device_to_node(struct sys_device *dev, int nid);
+extern void sysfs_remove_device_from_node(struct sys_device *dev, int nid);
+
 #else
 
+static inline int of_node_to_nid(struct device_node *device)
+{
+       return 0;
+}
+
+static inline void dump_numa_cpu_topology(void) {}
+
+static inline int sysfs_add_device_to_node(struct sys_device *dev, int nid)
+{
+       return 0;
+}
+
+static inline void sysfs_remove_device_from_node(struct sys_device *dev,
+                                               int nid)
+{
+}
+
+
 #include <asm-generic/topology.h>
 
 #endif /* CONFIG_NUMA */
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_TOPOLOGY_H */