mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 11:13:58 +08:00
[MIPS] EV64120: Fix PCI interrupt allocation.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
4a4cf77923
commit
4e5852f31a
@ -26,7 +26,7 @@ obj-$(CONFIG_DDB5477) += fixup-ddb5477.o pci-ddb5477.o ops-ddb5477.o
|
|||||||
obj-$(CONFIG_LASAT) += pci-lasat.o
|
obj-$(CONFIG_LASAT) += pci-lasat.o
|
||||||
obj-$(CONFIG_MIPS_ATLAS) += fixup-atlas.o
|
obj-$(CONFIG_MIPS_ATLAS) += fixup-atlas.o
|
||||||
obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o
|
obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o
|
||||||
obj-$(CONFIG_MIPS_EV64120) += fixup-ev64120.o
|
obj-$(CONFIG_MIPS_EV64120) += pci-ev64120.o
|
||||||
obj-$(CONFIG_SOC_AU1500) += fixup-au1000.o ops-au1000.o
|
obj-$(CONFIG_SOC_AU1500) += fixup-au1000.o ops-au1000.o
|
||||||
obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o
|
obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o
|
||||||
obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o
|
obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
#include <linux/pci.h>
|
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
int pci_range_ck(unsigned char bus, unsigned char dev)
|
|
||||||
{
|
|
||||||
if (((bus == 0) || (bus == 1)) && (dev >= 6) && (dev <= 8))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* After detecting all agents over the PCI , this function is called
|
|
||||||
* in order to give an interrupt number for each PCI device starting
|
|
||||||
* from IRQ 20. It does also enables master for each device.
|
|
||||||
*/
|
|
||||||
void __devinit pcibios_fixup_bus(struct pci_bus *bus)
|
|
||||||
{
|
|
||||||
unsigned int irq = 20;
|
|
||||||
struct pci_bus *current_bus = bus;
|
|
||||||
struct pci_dev *dev;
|
|
||||||
struct list_head *devices_link;
|
|
||||||
|
|
||||||
list_for_each(devices_link, &(current_bus->devices)) {
|
|
||||||
dev = pci_dev_b(devices_link);
|
|
||||||
if (dev != NULL) {
|
|
||||||
dev->irq = irq++;
|
|
||||||
|
|
||||||
/* Assign an interrupt number for the device */
|
|
||||||
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
|
|
||||||
pcibios_set_master(dev);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
21
arch/mips/pci/pci-ev64120.c
Normal file
21
arch/mips/pci/pci-ev64120.c
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include <linux/pci.h>
|
||||||
|
|
||||||
|
int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||||
|
{
|
||||||
|
int irq;
|
||||||
|
|
||||||
|
if (!pin)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
irq = allocate_irqno();
|
||||||
|
if (irq < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return irq;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Do platform specific device initialization at pci_enable_device() time */
|
||||||
|
int pcibios_plat_dev_init(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user