diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/include/asm/irq.h | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/irq.c | 15 |
2 files changed, 7 insertions, 10 deletions
diff --git a/arch/ia64/include/asm/irq.h b/arch/ia64/include/asm/irq.h index 36429a532630..5282546cdf82 100644 --- a/arch/ia64/include/asm/irq.h +++ b/arch/ia64/include/asm/irq.h | |||
@@ -27,7 +27,7 @@ irq_canonicalize (int irq) | |||
27 | } | 27 | } |
28 | 28 | ||
29 | extern void set_irq_affinity_info (unsigned int irq, int dest, int redir); | 29 | extern void set_irq_affinity_info (unsigned int irq, int dest, int redir); |
30 | bool is_affinity_mask_valid(cpumask_var_t cpumask); | 30 | bool is_affinity_mask_valid(const struct cpumask *cpumask); |
31 | 31 | ||
32 | #define is_affinity_mask_valid is_affinity_mask_valid | 32 | #define is_affinity_mask_valid is_affinity_mask_valid |
33 | 33 | ||
diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index 95ff16cb05d8..a58f64ca9f0e 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c | |||
@@ -102,17 +102,14 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 }; | |||
102 | 102 | ||
103 | void set_irq_affinity_info (unsigned int irq, int hwid, int redir) | 103 | void set_irq_affinity_info (unsigned int irq, int hwid, int redir) |
104 | { | 104 | { |
105 | cpumask_t mask = CPU_MASK_NONE; | ||
106 | |||
107 | cpu_set(cpu_logical_id(hwid), mask); | ||
108 | |||
109 | if (irq < NR_IRQS) { | 105 | if (irq < NR_IRQS) { |
110 | irq_desc[irq].affinity = mask; | 106 | cpumask_copy(&irq_desc[irq].affinity, |
107 | cpumask_of(cpu_logical_id(hwid))); | ||
111 | irq_redir[irq] = (char) (redir & 0xff); | 108 | irq_redir[irq] = (char) (redir & 0xff); |
112 | } | 109 | } |
113 | } | 110 | } |
114 | 111 | ||
115 | bool is_affinity_mask_valid(cpumask_var_t cpumask) | 112 | bool is_affinity_mask_valid(const struct cpumask *cpumask) |
116 | { | 113 | { |
117 | if (ia64_platform_is("sn2")) { | 114 | if (ia64_platform_is("sn2")) { |
118 | /* Only allow one CPU to be specified in the smp_affinity mask */ | 115 | /* 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) | |||
128 | unsigned int vectors_in_migration[NR_IRQS]; | 125 | unsigned int vectors_in_migration[NR_IRQS]; |
129 | 126 | ||
130 | /* | 127 | /* |
131 | * Since cpu_online_map is already updated, we just need to check for | 128 | * Since cpu_online_mask is already updated, we just need to check for |
132 | * affinity that has zeros | 129 | * affinity that has zeros |
133 | */ | 130 | */ |
134 | static void migrate_irqs(void) | 131 | static void migrate_irqs(void) |
@@ -158,7 +155,7 @@ static void migrate_irqs(void) | |||
158 | */ | 155 | */ |
159 | vectors_in_migration[irq] = irq; | 156 | vectors_in_migration[irq] = irq; |
160 | 157 | ||
161 | new_cpu = any_online_cpu(cpu_online_map); | 158 | new_cpu = cpumask_any(cpu_online_mask); |
162 | 159 | ||
163 | /* | 160 | /* |
164 | * Al three are essential, currently WARN_ON.. maybe panic? | 161 | * Al three are essential, currently WARN_ON.. maybe panic? |
@@ -191,7 +188,7 @@ void fixup_irqs(void) | |||
191 | * Find a new timesync master | 188 | * Find a new timesync master |
192 | */ | 189 | */ |
193 | if (smp_processor_id() == time_keeper_id) { | 190 | if (smp_processor_id() == time_keeper_id) { |
194 | time_keeper_id = first_cpu(cpu_online_map); | 191 | time_keeper_id = cpumask_first(cpu_online_mask); |
195 | printk ("CPU %d is now promoted to time-keeper master\n", time_keeper_id); | 192 | printk ("CPU %d is now promoted to time-keeper master\n", time_keeper_id); |
196 | } | 193 | } |
197 | 194 | ||