cpumask: sparc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask
authorRusty Russell <rusty@rustcorp.com.au>
Fri, 26 Dec 2008 11:53:38 +0000 (22:23 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 26 Dec 2008 11:53:38 +0000 (22:23 +1030)
Impact: New APIs

The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these
return a pointer to a struct cpumask.  Part of removing cpumasks from
the stack.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/topology_64.h
arch/sparc64/kernel/of_device.c
arch/sparc64/kernel/pci_msi.c

index 001c040..afd3cc1 100644 (file)
@@ -16,8 +16,12 @@ static inline cpumask_t node_to_cpumask(int node)
 {
        return numa_cpumask_lookup_table[node];
 }
+#define cpumask_of_node(node) (&numa_cpumask_lookup_table[node])
 
-/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
+/*
+ * Returns a pointer to the cpumask of CPUs on Node 'node'.
+ * Deprecated: use "const struct cpumask *mask = cpumask_of_node(node)"
+ */
 #define node_to_cpumask_ptr(v, node)           \
                cpumask_t *v = &(numa_cpumask_lookup_table[node])
 
@@ -26,9 +30,7 @@ static inline cpumask_t node_to_cpumask(int node)
 
 static inline int node_to_first_cpu(int node)
 {
-       cpumask_t tmp;
-       tmp = node_to_cpumask(node);
-       return first_cpu(tmp);
+       return cpumask_first(cpumask_of_node(node));
 }
 
 struct pci_bus;
index df2efb7..4f6098d 100644 (file)
@@ -778,7 +778,7 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
 out:
        nid = of_node_to_nid(dp);
        if (nid != -1) {
-               cpumask_t numa_mask = node_to_cpumask(nid);
+               cpumask_t numa_mask = *cpumask_of_node(nid);
 
                irq_set_affinity(irq, &numa_mask);
        }
index 0d0cd81..4ef282e 100644 (file)
@@ -286,7 +286,7 @@ static int bringup_one_msi_queue(struct pci_pbm_info *pbm,
 
        nid = pbm->numa_node;
        if (nid != -1) {
-               cpumask_t numa_mask = node_to_cpumask(nid);
+               cpumask_t numa_mask = *cpumask_of_node(nid);
 
                irq_set_affinity(irq, &numa_mask);
        }