~ubuntu-branches/ubuntu/lucid/linux-rt/lucid

« back to all changes in this revision

Viewing changes to drivers/parisc/iosapic.c

  • Committer: Bazaar Package Importer
  • Author(s): Luke Yelavich
  • Date: 2009-08-05 23:00:52 UTC
  • Revision ID: james.westby@ubuntu.com-20090805230052-7xedvqcyk9dnnxb2
Tags: 2.6.31-1.1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
702
702
}
703
703
 
704
704
#ifdef CONFIG_SMP
705
 
static void iosapic_set_affinity_irq(unsigned int irq,
 
705
static int iosapic_set_affinity_irq(unsigned int irq,
706
706
                                     const struct cpumask *dest)
707
707
{
708
708
        struct vector_info *vi = iosapic_get_vector(irq);
712
712
 
713
713
        dest_cpu = cpu_check_affinity(irq, dest);
714
714
        if (dest_cpu < 0)
715
 
                return;
 
715
                return -1;
716
716
 
717
 
        irq_desc[irq].affinity = cpumask_of_cpu(dest_cpu);
 
717
        cpumask_copy(irq_desc[irq].affinity, cpumask_of(dest_cpu));
718
718
        vi->txn_addr = txn_affinity_addr(irq, dest_cpu);
719
719
 
720
720
        spin_lock_irqsave(&iosapic_lock, flags);
724
724
        iosapic_set_irt_data(vi, &dummy_d0, &d1);
725
725
        iosapic_wr_irt_entry(vi, d0, d1);
726
726
        spin_unlock_irqrestore(&iosapic_lock, flags);
 
727
 
 
728
        return 0;
727
729
}
728
730
#endif
729
731
 
730
 
static struct hw_interrupt_type iosapic_interrupt_type = {
 
732
static struct irq_chip iosapic_interrupt_type = {
731
733
        .typename =     "IO-SAPIC-level",
732
734
        .startup =      iosapic_startup_irq,
733
735
        .shutdown =     iosapic_disable_irq,