powerpc/cpumask: Convert /proc/cpuinfo to new cpumask API
Use new cpumask API in /proc/cpuinfo code. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
2c2df03845
commit
e6532c63cc
1 changed files with 13 additions and 9 deletions
|
@ -200,11 +200,6 @@ static int show_cpuinfo(struct seq_file *m, void *v)
|
||||||
unsigned short maj;
|
unsigned short maj;
|
||||||
unsigned short min;
|
unsigned short min;
|
||||||
|
|
||||||
if (cpu_id == NR_CPUS) {
|
|
||||||
show_cpuinfo_summary(m);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We only show online cpus: disable preempt (overzealous, I
|
/* We only show online cpus: disable preempt (overzealous, I
|
||||||
* knew) to prevent cpu going down. */
|
* knew) to prevent cpu going down. */
|
||||||
preempt_disable();
|
preempt_disable();
|
||||||
|
@ -312,19 +307,28 @@ static int show_cpuinfo(struct seq_file *m, void *v)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
preempt_enable();
|
preempt_enable();
|
||||||
|
|
||||||
|
/* If this is the last cpu, print the summary */
|
||||||
|
if (cpumask_next(cpu_id, cpu_online_mask) >= nr_cpu_ids)
|
||||||
|
show_cpuinfo_summary(m);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *c_start(struct seq_file *m, loff_t *pos)
|
static void *c_start(struct seq_file *m, loff_t *pos)
|
||||||
{
|
{
|
||||||
unsigned long i = *pos;
|
if (*pos == 0) /* just in case, cpu 0 is not the first */
|
||||||
|
*pos = cpumask_first(cpu_online_mask);
|
||||||
return i <= NR_CPUS ? (void *)(i + 1) : NULL;
|
else
|
||||||
|
*pos = cpumask_next(*pos - 1, cpu_online_mask);
|
||||||
|
if ((*pos) < nr_cpu_ids)
|
||||||
|
return (void *)(unsigned long)(*pos + 1);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *c_next(struct seq_file *m, void *v, loff_t *pos)
|
static void *c_next(struct seq_file *m, void *v, loff_t *pos)
|
||||||
{
|
{
|
||||||
++*pos;
|
(*pos)++;
|
||||||
return c_start(m, pos);
|
return c_start(m, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue