aboutsummaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/tile/kernel')
-rw-r--r--arch/tile/kernel/irq.c45
-rw-r--r--arch/tile/kernel/pci.c4
-rw-r--r--arch/tile/kernel/process.c4
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}
253EXPORT_SYMBOL(tile_irq_activate); 253EXPORT_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
265int 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');
300skip:
301 raw_spin_unlock_irqrestore(&desc->lock, flags);
302 }
303 return 0;
304}
305
306#if CHIP_HAS_IPI() 265#if CHIP_HAS_IPI()
307int create_irq(void) 266int 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 */
525static int __devinit tile_cfg_write(struct pci_bus *bus, 525static 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
112struct thread_info *alloc_thread_info(struct task_struct *task) 112struct 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