diff options
Diffstat (limited to 'kernel/irq/affinity.c')
-rw-r--r-- | kernel/irq/affinity.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c index f18cd5aa33e8..4352b08ae48d 100644 --- a/kernel/irq/affinity.c +++ b/kernel/irq/affinity.c | |||
@@ -94,8 +94,7 @@ static int get_nodes_in_cpumask(cpumask_var_t *node_to_cpumask, | |||
94 | return nodes; | 94 | return nodes; |
95 | } | 95 | } |
96 | 96 | ||
97 | static int __irq_build_affinity_masks(const struct irq_affinity *affd, | 97 | static int __irq_build_affinity_masks(unsigned int startvec, |
98 | unsigned int startvec, | ||
99 | unsigned int numvecs, | 98 | unsigned int numvecs, |
100 | unsigned int firstvec, | 99 | unsigned int firstvec, |
101 | cpumask_var_t *node_to_cpumask, | 100 | cpumask_var_t *node_to_cpumask, |
@@ -171,8 +170,7 @@ static int __irq_build_affinity_masks(const struct irq_affinity *affd, | |||
171 | * 1) spread present CPU on these vectors | 170 | * 1) spread present CPU on these vectors |
172 | * 2) spread other possible CPUs on these vectors | 171 | * 2) spread other possible CPUs on these vectors |
173 | */ | 172 | */ |
174 | static int irq_build_affinity_masks(const struct irq_affinity *affd, | 173 | static int irq_build_affinity_masks(unsigned int startvec, unsigned int numvecs, |
175 | unsigned int startvec, unsigned int numvecs, | ||
176 | unsigned int firstvec, | 174 | unsigned int firstvec, |
177 | struct irq_affinity_desc *masks) | 175 | struct irq_affinity_desc *masks) |
178 | { | 176 | { |
@@ -197,7 +195,7 @@ static int irq_build_affinity_masks(const struct irq_affinity *affd, | |||
197 | build_node_to_cpumask(node_to_cpumask); | 195 | build_node_to_cpumask(node_to_cpumask); |
198 | 196 | ||
199 | /* Spread on present CPUs starting from affd->pre_vectors */ | 197 | /* Spread on present CPUs starting from affd->pre_vectors */ |
200 | nr_present = __irq_build_affinity_masks(affd, curvec, numvecs, | 198 | nr_present = __irq_build_affinity_masks(curvec, numvecs, |
201 | firstvec, node_to_cpumask, | 199 | firstvec, node_to_cpumask, |
202 | cpu_present_mask, nmsk, masks); | 200 | cpu_present_mask, nmsk, masks); |
203 | 201 | ||
@@ -212,7 +210,7 @@ static int irq_build_affinity_masks(const struct irq_affinity *affd, | |||
212 | else | 210 | else |
213 | curvec = firstvec + nr_present; | 211 | curvec = firstvec + nr_present; |
214 | cpumask_andnot(npresmsk, cpu_possible_mask, cpu_present_mask); | 212 | cpumask_andnot(npresmsk, cpu_possible_mask, cpu_present_mask); |
215 | nr_others = __irq_build_affinity_masks(affd, curvec, numvecs, | 213 | nr_others = __irq_build_affinity_masks(curvec, numvecs, |
216 | firstvec, node_to_cpumask, | 214 | firstvec, node_to_cpumask, |
217 | npresmsk, nmsk, masks); | 215 | npresmsk, nmsk, masks); |
218 | put_online_cpus(); | 216 | put_online_cpus(); |
@@ -295,7 +293,7 @@ irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd) | |||
295 | unsigned int this_vecs = affd->set_size[i]; | 293 | unsigned int this_vecs = affd->set_size[i]; |
296 | int ret; | 294 | int ret; |
297 | 295 | ||
298 | ret = irq_build_affinity_masks(affd, curvec, this_vecs, | 296 | ret = irq_build_affinity_masks(curvec, this_vecs, |
299 | curvec, masks); | 297 | curvec, masks); |
300 | if (ret) { | 298 | if (ret) { |
301 | kfree(masks); | 299 | kfree(masks); |