Commit abd2363f authored by Grant Likely's avatar Grant Likely

irq_domain/mips: Allow irq_domain on MIPS

This patch makes IRQ_DOMAIN usable on MIPS.  It uses an ugly workaround
to preserve current behaviour so that MIPS has time to add irq_domain
registration to the irq controller drivers.  The workaround will be
removed in Linux v3.6
Signed-off-by: default avatarGrant Likely <>
Cc: Ralf Baechle <>
Cc: Rob Herring <>
Cc: Thomas Gleixner <>
parent b4e51854
......@@ -2327,6 +2327,7 @@ config USE_OF
bool "Flattened Device Tree support"
select OF
Include support for flattened device tree machine descriptions.
......@@ -11,15 +11,12 @@
#include <linux/linkage.h>
#include <linux/smp.h>
#include <linux/irqdomain.h>
#include <asm/mipsmtregs.h>
#include <irq.h>
static inline void irq_dispose_mapping(unsigned int virq)
#ifdef CONFIG_I8259
static inline int irq_canonicalize(int irq)
......@@ -60,20 +60,6 @@ void __init early_init_dt_setup_initrd_arch(unsigned long start,
* irq_create_of_mapping - Hook to resolve OF irq specifier into a Linux irq#
* Currently the mapping mechanism is trivial; simple flat hwirq numbers are
* mapped 1:1 onto Linux irq numbers. Cascaded irq controllers are not
* supported.
unsigned int irq_create_of_mapping(struct device_node *controller,
const u32 *intspec, unsigned int intsize)
return intspec[0];
void __init early_init_devtree(void *params)
/* Setup flat device-tree pointer */
......@@ -411,6 +411,18 @@ unsigned int irq_create_of_mapping(struct device_node *controller,
domain = controller ? irq_find_host(controller) : irq_default_domain;
if (!domain) {
* Workaround to avoid breaking interrupt controller drivers
* that don't yet register an irq_domain. This is temporary
* code. ~~~gcl, Feb 24, 2012
* Scheduled for removal in Linux v3.6. That should be enough
* time.
if (intsize > 0)
return intspec[0];
printk(KERN_WARNING "irq: no irq domain found for %s !\n",
return 0;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment