cns3xxx: fix shared PCI interrupt mapping
This patch originally failed to combine INTA/B/C/D onto a single ARM CPU interrupt. Instead, it mapped INTA/B/C and excluded D. This patch corrects the issue by mapping all four interrupts to the single ARM CPU interrupt. The original intent of the patch still holds as the newer PCB take advantage of isolated interrupts. This fix only applies to older PCB's that do not route INTA/B/C/D to unique external ARM CPU interrupts. Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> SVN-Revision: 42830
This commit is contained in:
parent
0563e0225e
commit
736419452b
1 changed files with 2 additions and 5 deletions
|
@ -30,7 +30,7 @@
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/serial_core.h>
|
#include <linux/serial_core.h>
|
||||||
@@ -869,12 +870,45 @@ static int laguna_register_gpio(struct g
|
@@ -869,12 +870,42 @@ static int laguna_register_gpio(struct g
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,10 +70,7 @@
|
||||||
+ }
|
+ }
|
||||||
+ printk("laguna: using shared PCI interrupts: irq%d\n",
|
+ printk("laguna: using shared PCI interrupts: irq%d\n",
|
||||||
+ IRQ_CNS3XXX_PCIE0_DEVICE);
|
+ IRQ_CNS3XXX_PCIE0_DEVICE);
|
||||||
+ irqs[0] = IRQ_CNS3XXX_PCIE0_DEVICE;
|
+ return cns3xxx_pcie_init(NULL, NULL);
|
||||||
+ irqs[1] = IRQ_CNS3XXX_PCIE0_DEVICE;
|
|
||||||
+ irqs[2] = IRQ_CNS3XXX_PCIE0_DEVICE;
|
|
||||||
+ return cns3xxx_pcie_init(irqs, NULL);
|
|
||||||
}
|
}
|
||||||
subsys_initcall(laguna_pcie_init);
|
subsys_initcall(laguna_pcie_init);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue