]> Pileus Git - ~andy/linux/commitdiff
irq: Export functions to allow modular irq drivers
authorJonathan Cameron <jic23@cam.ac.uk>
Wed, 18 May 2011 09:39:04 +0000 (10:39 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 18 May 2011 12:59:08 +0000 (14:59 +0200)
Export handle_simple_irq, irq_modify_status, irq_alloc_descs,
irq_free_descs and generic_handle_irq to allow their usage in
modules. First user is IIO, which wants to be built modular, but needs
to be able to create irq chips, allocate and configure interrupt
descriptors and handle demultiplexing interrupts.

[ tglx: Moved the uninlinig of generic_handle_irq to a separate patch ]

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Link: http://lkml.kernel.org/r/%3C1305711544-505-1-git-send-email-jic23%40cam.ac.uk%3E
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/chip.c
kernel/irq/irqdesc.c

index 52d856d513ffb5bbc83b9a2b440a5a0c9b3339de..d5a3009da71aed6dd5f3a82895f2f21cecd656b6 100644 (file)
@@ -310,6 +310,7 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc)
 out_unlock:
        raw_spin_unlock(&desc->lock);
 }
+EXPORT_SYMBOL_GPL(handle_simple_irq);
 
 /**
  *     handle_level_irq - Level type irq handler
@@ -613,6 +614,7 @@ void irq_modify_status(unsigned int irq, unsigned long clr, unsigned long set)
 
        irq_put_desc_unlock(desc, flags);
 }
+EXPORT_SYMBOL_GPL(irq_modify_status);
 
 /**
  *     irq_cpu_online - Invoke all irq_cpu_online functions.
index 9f65b0225d6a624f9a2e6cdd3d0e826e4ef3bed9..886e80347b322795b56630857fd98996545ea5a4 100644 (file)
@@ -304,6 +304,7 @@ int generic_handle_irq(unsigned int irq)
        generic_handle_irq_desc(irq, desc);
        return 0;
 }
+EXPORT_SYMBOL_GPL(generic_handle_irq);
 
 /* Dynamic interrupt handling */
 
@@ -326,6 +327,7 @@ void irq_free_descs(unsigned int from, unsigned int cnt)
        bitmap_clear(allocated_irqs, from, cnt);
        mutex_unlock(&sparse_irq_lock);
 }
+EXPORT_SYMBOL_GPL(irq_free_descs);
 
 /**
  * irq_alloc_descs - allocate and initialize a range of irq descriptors
@@ -366,6 +368,7 @@ err:
        mutex_unlock(&sparse_irq_lock);
        return ret;
 }
+EXPORT_SYMBOL_GPL(irq_alloc_descs);
 
 /**
  * irq_reserve_irqs - mark irqs allocated