ia64: cpumask fix for is_affinity_mask_valid()

Impact: cleanup

The function prototype should use 'struct cpumask *' to declare
cpumask arguments (instead of cpumask_var_t).

Note: arch/ia64/kernel/irq.c still had the following "old cpumask_t" usages:

105:	cpumask_t mask = CPU_MASK_NONE;
107:	cpu_set(cpu_logical_id(hwid), mask);
110:                 irq_desc[irq].affinity = mask;

	... replaced with a simple "cpumask_of(cpu_logical_id(hwid))".

161:			new_cpu = any_online_cpu(cpu_online_map);
194:		time_keeper_id = first_cpu(cpu_online_map);

	... replaced with cpu_online_mask refs.

Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Mike Travis 2009-01-04 05:18:00 -08:00 коммит произвёл Ingo Molnar
Родитель 7d3b56ba37
Коммит d3b66bf2e1
2 изменённых файлов: 7 добавлений и 10 удалений

Просмотреть файл

@ -27,7 +27,7 @@ irq_canonicalize (int irq)
} }
extern void set_irq_affinity_info (unsigned int irq, int dest, int redir); extern void set_irq_affinity_info (unsigned int irq, int dest, int redir);
bool is_affinity_mask_valid(cpumask_var_t cpumask); bool is_affinity_mask_valid(const struct cpumask *cpumask);
#define is_affinity_mask_valid is_affinity_mask_valid #define is_affinity_mask_valid is_affinity_mask_valid

Просмотреть файл

@ -102,17 +102,14 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 };
void set_irq_affinity_info (unsigned int irq, int hwid, int redir) void set_irq_affinity_info (unsigned int irq, int hwid, int redir)
{ {
cpumask_t mask = CPU_MASK_NONE;
cpu_set(cpu_logical_id(hwid), mask);
if (irq < NR_IRQS) { if (irq < NR_IRQS) {
irq_desc[irq].affinity = mask; cpumask_copy(&irq_desc[irq].affinity,
cpumask_of(cpu_logical_id(hwid)));
irq_redir[irq] = (char) (redir & 0xff); irq_redir[irq] = (char) (redir & 0xff);
} }
} }
bool is_affinity_mask_valid(cpumask_var_t cpumask) bool is_affinity_mask_valid(const struct cpumask *cpumask)
{ {
if (ia64_platform_is("sn2")) { if (ia64_platform_is("sn2")) {
/* Only allow one CPU to be specified in the smp_affinity mask */ /* Only allow one CPU to be specified in the smp_affinity mask */
@ -128,7 +125,7 @@ bool is_affinity_mask_valid(cpumask_var_t cpumask)
unsigned int vectors_in_migration[NR_IRQS]; unsigned int vectors_in_migration[NR_IRQS];
/* /*
* Since cpu_online_map is already updated, we just need to check for * Since cpu_online_mask is already updated, we just need to check for
* affinity that has zeros * affinity that has zeros
*/ */
static void migrate_irqs(void) static void migrate_irqs(void)
@ -158,7 +155,7 @@ static void migrate_irqs(void)
*/ */
vectors_in_migration[irq] = irq; vectors_in_migration[irq] = irq;
new_cpu = any_online_cpu(cpu_online_map); new_cpu = cpumask_any(cpu_online_mask);
/* /*
* Al three are essential, currently WARN_ON.. maybe panic? * Al three are essential, currently WARN_ON.. maybe panic?
@ -191,7 +188,7 @@ void fixup_irqs(void)
* Find a new timesync master * Find a new timesync master
*/ */
if (smp_processor_id() == time_keeper_id) { if (smp_processor_id() == time_keeper_id) {
time_keeper_id = first_cpu(cpu_online_map); time_keeper_id = cpumask_first(cpu_online_mask);
printk ("CPU %d is now promoted to time-keeper master\n", time_keeper_id); printk ("CPU %d is now promoted to time-keeper master\n", time_keeper_id);
} }