linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / frv / kernel / irq.c
index 0896701..27ab4c3 100644 (file)
@@ -16,6 +16,7 @@
  * Naturally it's not a 1:1 relation, but there are similarities.
  */
 
+#include <linux/config.h>
 #include <linux/ptrace.h>
 #include <linux/errno.h>
 #include <linux/signal.h>
@@ -74,8 +75,9 @@ int show_interrupts(struct seq_file *p, void *v)
        switch (i) {
        case 0:
                seq_printf(p, "           ");
-               for_each_online_cpu(j)
-                       seq_printf(p, "CPU%d       ",j);
+               for (j = 0; j < NR_CPUS; j++)
+                       if (cpu_online(j))
+                               seq_printf(p, "CPU%d       ",j);
 
                seq_putc(p, '\n');
                break;
@@ -98,8 +100,9 @@ int show_interrupts(struct seq_file *p, void *v)
 #ifndef CONFIG_SMP
                seq_printf(p, "%10u ", kstat_irqs(i));
 #else
-               for_each_online_cpu(j)
-                       seq_printf(p, "%10u ", kstat_cpu(j).irqs[i - 1]);
+               for (j = 0; j < NR_CPUS; j++)
+                       if (cpu_online(j))
+                               seq_printf(p, "%10u ", kstat_cpu(j).irqs[i - 1]);
 #endif
 
                level = group->sources[ix]->level - frv_irq_levels;
@@ -341,11 +344,11 @@ asmlinkage void do_NMI(void)
  *
  *     Flags:
  *
- *     IRQF_SHARED             Interrupt is shared
+ *     SA_SHIRQ                Interrupt is shared
  *
- *     IRQF_DISABLED   Disable local interrupts while processing
+ *     SA_INTERRUPT            Disable local interrupts while processing
  *
- *     IRQF_SAMPLE_RANDOM      The interrupt can be used for entropy
+ *     SA_SAMPLE_RANDOM        The interrupt can be used for entropy
  *
  */
 
@@ -365,7 +368,7 @@ int request_irq(unsigned int irq,
         * to figure out which interrupt is which (messes up the
         * interrupt freeing logic etc).
         */
-       if (irqflags & IRQF_SHARED) {
+       if (irqflags & SA_SHIRQ) {
                if (!dev_id)
                        printk("Bad boy: %s (at 0x%x) called us without a dev_id!\n",
                               devname, (&irq)[-1]);
@@ -576,7 +579,7 @@ int setup_irq(unsigned int irq, struct irqaction *new)
         * so we have to be careful not to interfere with a
         * running system.
         */
-       if (new->flags & IRQF_SAMPLE_RANDOM) {
+       if (new->flags & SA_SAMPLE_RANDOM) {
                /*
                 * This function might sleep, we want to call it first,
                 * outside of the atomic block.
@@ -592,7 +595,7 @@ int setup_irq(unsigned int irq, struct irqaction *new)
        spin_lock_irqsave(&level->lock, flags);
 
        /* can't share interrupts unless all parties agree to */
-       if (level->usage != 0 && !(level->flags & new->flags & IRQF_SHARED)) {
+       if (level->usage != 0 && !(level->flags & new->flags & SA_SHIRQ)) {
                spin_unlock_irqrestore(&level->lock,flags);
                return -EBUSY;
        }
@@ -624,7 +627,7 @@ static struct proc_dir_entry * irq_dir [NR_IRQS];
 
 #define HEX_DIGITS 8
 
-static unsigned int parse_hex_value (const char __user *buffer,
+static unsigned int parse_hex_value (const char *buffer,
                                     unsigned long count, unsigned long *ret)
 {
        unsigned char hexnum [HEX_DIGITS];
@@ -671,7 +674,7 @@ static int prof_cpu_mask_read_proc (char *page, char **start, off_t off,
        return sprintf (page, "%08lx\n", *mask);
 }
 
-static int prof_cpu_mask_write_proc (struct file *file, const char __user *buffer,
+static int prof_cpu_mask_write_proc (struct file *file, const char *buffer,
                                        unsigned long count, void *data)
 {
        unsigned long *mask = (unsigned long *) data, full_count = count, err;
@@ -710,7 +713,7 @@ void init_irq_proc (void)
        int i;
 
        /* create /proc/irq */
-       root_irq_dir = proc_mkdir("irq", NULL);
+       root_irq_dir = proc_mkdir("irq", 0);
 
        /* create /proc/irq/prof_cpu_mask */
        entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir);