]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-powerpc/irq.h
x86_64: O_EXCL on /dev/mcelog
[linux-2.6-omap-h63xx.git] / include / asm-powerpc / irq.h
index f960f5346f406d717590d337de07c6a0d9cbb384..0485c53db2b5dc64273ba5661918710c686a61e6 100644 (file)
@@ -89,6 +89,9 @@ struct irq_host_ops {
        /* Dispose of such a mapping */
        void (*unmap)(struct irq_host *h, unsigned int virq);
 
+       /* Update of such a mapping  */
+       void (*remap)(struct irq_host *h, unsigned int virq, irq_hw_number_t hw);
+
        /* Translate device-tree interrupt specifier from raw format coming
         * from the firmware to a irq_hw_number_t (interrupt line number) and
         * type (sense) that can be passed to set_irq_type(). In the absence
@@ -135,6 +138,7 @@ struct irq_map_entry {
 
 extern struct irq_map_entry irq_map[NR_IRQS];
 
+extern irq_hw_number_t virq_to_hw(unsigned int virq);
 
 /**
  * irq_alloc_host - Allocate a new irq_host data structure
@@ -219,6 +223,15 @@ extern void irq_dispose_mapping(unsigned int virq);
 extern unsigned int irq_find_mapping(struct irq_host *host,
                                     irq_hw_number_t hwirq);
 
+/**
+ * irq_create_direct_mapping - Allocate a virq for direct mapping
+ * @host: host to allocate the virq for or NULL for default host
+ *
+ * This routine is used for irq controllers which can choose the hardware
+ * interrupt numbers they generate. In such a case it's simplest to use
+ * the linux virq as the hardware interrupt number.
+ */
+extern unsigned int irq_create_direct_mapping(struct irq_host *host);
 
 /**
  * irq_radix_revmap - Find a linux virq from a hw irq number.