Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e5852f3 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] EV64120: Fix PCI interrupt allocation.

parent 4a4cf779
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ obj-$(CONFIG_DDB5477) += fixup-ddb5477.o pci-ddb5477.o ops-ddb5477.o
obj-$(CONFIG_LASAT)		+= pci-lasat.o
obj-$(CONFIG_MIPS_ATLAS)	+= fixup-atlas.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_AU1550)	+= fixup-au1000.o ops-au1000.o
obj-$(CONFIG_SOC_PNX8550)	+= fixup-pnx8550.o ops-pnx8550.o

arch/mips/pci/fixup-ev64120.c

deleted100644 → 0
+0 −34
Original line number Diff line number Diff line
#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 −0
Original line number Diff line number Diff line
#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;
}