Add more ar7 fixes by DerAgo. Fix vlnyq initialistion on fritzbox, add prom_printf...
[openwrt.git] / target / linux / ar7-2.6 / files / arch / mips / ar7 / vlynq-pci.c
index eb32de0..eb11a3b 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/pci.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/irq.h>
 #include <asm/ar7/vlynq.h>
 
 #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",
This page took 0.026168 seconds and 4 git commands to generate.