X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/8c72b797b421258e17ad6f7afcbc2ab9105e8dc8..247c33e26da97e26cc6dde23aad675c8c63d2050:/target/linux/ar7-2.6/files/arch/mips/ar7/vlynq-pci.c?ds=sidebyside diff --git a/target/linux/ar7-2.6/files/arch/mips/ar7/vlynq-pci.c b/target/linux/ar7-2.6/files/arch/mips/ar7/vlynq-pci.c index eb32de031..eb11a3b00 100644 --- a/target/linux/ar7-2.6/files/arch/mips/ar7/vlynq-pci.c +++ b/target/linux/ar7-2.6/files/arch/mips/ar7/vlynq-pci.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #define VLYNQ_PCI_SLOTS 2 @@ -61,6 +62,7 @@ static struct vlynq_pci_config known_devices[] = { { .size = 0x0, .offset = 0x0 }, }, .irq = 0, .chip = 0x9066104c, + .irq_type = IRQ_TYPE_EDGE_RISING, .class = PCI_CLASS_NETWORK_OTHER, .num_regs = 5, .regs = { @@ -176,9 +178,11 @@ static int vlynq_config_read(struct pci_bus *bus, unsigned int devfn, int where, case PCI_INTERRUPT_LINE: case PCI_CARDBUS_CIS: case PCI_CAPABILITY_LIST: - case PCI_INTERRUPT_PIN: *val = 0; break; + case PCI_INTERRUPT_PIN: + *val = 1; + break; default: printk("%s: Read of unknown register 0x%x (size %d)\n", dev->dev.bus_id, where, size); @@ -313,6 +317,8 @@ static int vlynq_pci_probe(struct vlynq_device *dev) vlynq_set_local_mapping(dev, dev->mem_start, mapping); vlynq_set_remote_mapping(dev, 0, config->rx_mapping); + set_irq_type(vlynq_virq_to_irq(dev, config->irq), config->irq_type); + addr = (u32)ioremap_nocache(dev->mem_start, 0x10000); if (!addr) { printk(KERN_ERR "%s: failed to remap io memory\n",