diff options
Diffstat (limited to 'arch/tile/kernel')
-rw-r--r-- | arch/tile/kernel/irq.c | 45 | ||||
-rw-r--r-- | arch/tile/kernel/pci.c | 4 | ||||
-rw-r--r-- | arch/tile/kernel/process.c | 4 |
3 files changed, 6 insertions, 47 deletions
diff --git a/arch/tile/kernel/irq.c b/arch/tile/kernel/irq.c index 0baa7580121f..aa0134db2dd6 100644 --- a/arch/tile/kernel/irq.c +++ b/arch/tile/kernel/irq.c | |||
@@ -241,14 +241,14 @@ void tile_irq_activate(unsigned int irq, int tile_irq_type) | |||
241 | irq_flow_handler_t handle = handle_level_irq; | 241 | irq_flow_handler_t handle = handle_level_irq; |
242 | if (tile_irq_type == TILE_IRQ_PERCPU) | 242 | if (tile_irq_type == TILE_IRQ_PERCPU) |
243 | handle = handle_percpu_irq; | 243 | handle = handle_percpu_irq; |
244 | set_irq_chip_and_handler(irq, &tile_irq_chip, handle); | 244 | irq_set_chip_and_handler(irq, &tile_irq_chip, handle); |
245 | 245 | ||
246 | /* | 246 | /* |
247 | * Flag interrupts that are hardware-cleared so that ack() | 247 | * Flag interrupts that are hardware-cleared so that ack() |
248 | * won't clear them. | 248 | * won't clear them. |
249 | */ | 249 | */ |
250 | if (tile_irq_type == TILE_IRQ_HW_CLEAR) | 250 | if (tile_irq_type == TILE_IRQ_HW_CLEAR) |
251 | set_irq_chip_data(irq, (void *)IS_HW_CLEARED); | 251 | irq_set_chip_data(irq, (void *)IS_HW_CLEARED); |
252 | } | 252 | } |
253 | EXPORT_SYMBOL(tile_irq_activate); | 253 | EXPORT_SYMBOL(tile_irq_activate); |
254 | 254 | ||
@@ -262,47 +262,6 @@ void ack_bad_irq(unsigned int irq) | |||
262 | * Generic, controller-independent functions: | 262 | * Generic, controller-independent functions: |
263 | */ | 263 | */ |
264 | 264 | ||
265 | int show_interrupts(struct seq_file *p, void *v) | ||
266 | { | ||
267 | int i = *(loff_t *) v, j; | ||
268 | struct irqaction *action; | ||
269 | unsigned long flags; | ||
270 | |||
271 | if (i == 0) { | ||
272 | seq_printf(p, " "); | ||
273 | for (j = 0; j < NR_CPUS; j++) | ||
274 | if (cpu_online(j)) | ||
275 | seq_printf(p, "CPU%-8d", j); | ||
276 | seq_putc(p, '\n'); | ||
277 | } | ||
278 | |||
279 | if (i < NR_IRQS) { | ||
280 | struct irq_desc *desc = irq_to_desc(i); | ||
281 | |||
282 | raw_spin_lock_irqsave(&desc->lock, flags); | ||
283 | action = desc->action; | ||
284 | if (!action) | ||
285 | goto skip; | ||
286 | seq_printf(p, "%3d: ", i); | ||
287 | #ifndef CONFIG_SMP | ||
288 | seq_printf(p, "%10u ", kstat_irqs(i)); | ||
289 | #else | ||
290 | for_each_online_cpu(j) | ||
291 | seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); | ||
292 | #endif | ||
293 | seq_printf(p, " %14s", get_irq_desc_chip(desc)->name); | ||
294 | seq_printf(p, " %s", action->name); | ||
295 | |||
296 | for (action = action->next; action; action = action->next) | ||
297 | seq_printf(p, ", %s", action->name); | ||
298 | |||
299 | seq_putc(p, '\n'); | ||
300 | skip: | ||
301 | raw_spin_unlock_irqrestore(&desc->lock, flags); | ||
302 | } | ||
303 | return 0; | ||
304 | } | ||
305 | |||
306 | #if CHIP_HAS_IPI() | 265 | #if CHIP_HAS_IPI() |
307 | int create_irq(void) | 266 | int create_irq(void) |
308 | { | 267 | { |
diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c index a1ee25be9ad9..ea38f0c9ec7c 100644 --- a/arch/tile/kernel/pci.c +++ b/arch/tile/kernel/pci.c | |||
@@ -36,7 +36,7 @@ | |||
36 | * Initialization flow and process | 36 | * Initialization flow and process |
37 | * ------------------------------- | 37 | * ------------------------------- |
38 | * | 38 | * |
39 | * This files containes the routines to search for PCI buses, | 39 | * This files contains the routines to search for PCI buses, |
40 | * enumerate the buses, and configure any attached devices. | 40 | * enumerate the buses, and configure any attached devices. |
41 | * | 41 | * |
42 | * There are two entry points here: | 42 | * There are two entry points here: |
@@ -519,7 +519,7 @@ static int __devinit tile_cfg_read(struct pci_bus *bus, | |||
519 | 519 | ||
520 | 520 | ||
521 | /* | 521 | /* |
522 | * See tile_cfg_read() for relevent comments. | 522 | * See tile_cfg_read() for relevant comments. |
523 | * Note that "val" is the value to write, not a pointer to that value. | 523 | * Note that "val" is the value to write, not a pointer to that value. |
524 | */ | 524 | */ |
525 | static int __devinit tile_cfg_write(struct pci_bus *bus, | 525 | static int __devinit tile_cfg_write(struct pci_bus *bus, |
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c index b9cd962e1d30..d0065103eb7b 100644 --- a/arch/tile/kernel/process.c +++ b/arch/tile/kernel/process.c | |||
@@ -109,7 +109,7 @@ void cpu_idle(void) | |||
109 | } | 109 | } |
110 | } | 110 | } |
111 | 111 | ||
112 | struct thread_info *alloc_thread_info(struct task_struct *task) | 112 | struct thread_info *alloc_thread_info_node(struct task_struct *task, int node) |
113 | { | 113 | { |
114 | struct page *page; | 114 | struct page *page; |
115 | gfp_t flags = GFP_KERNEL; | 115 | gfp_t flags = GFP_KERNEL; |
@@ -118,7 +118,7 @@ struct thread_info *alloc_thread_info(struct task_struct *task) | |||
118 | flags |= __GFP_ZERO; | 118 | flags |= __GFP_ZERO; |
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | page = alloc_pages(flags, THREAD_SIZE_ORDER); | 121 | page = alloc_pages_node(node, flags, THREAD_SIZE_ORDER); |
122 | if (!page) | 122 | if (!page) |
123 | return NULL; | 123 | return NULL; |
124 | 124 | ||