Staging: sep: Fix PCI irq usage
authorAlan Cox <alan@linux.intel.com>
Fri, 7 Aug 2009 18:24:26 +0000 (19:24 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Sep 2009 19:02:14 +0000 (12:02 -0700)
Don't read the IRQ from the device, the device has no idea what is going on
in the full bus topology and remapping above PCI. Use the pdev->irq field.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/sep/sep_dev.h
drivers/staging/sep/sep_driver.c

index 27248eb..4828663 100644 (file)
@@ -54,9 +54,6 @@ struct sep_device {
        unsigned long resident_size;
        void *resident_addr;
 
-       /* device interrupt (as retrieved from PCI) */
-       int sep_irq;
-
        unsigned long rar_region_addr;
 
        /* start address of the access to the SEP registers from driver */
index af2d6c9..837b828 100644 (file)
@@ -2494,15 +2494,9 @@ static int __devinit sep_probe(struct pci_dev *pdev, const struct pci_device_id
        /* set the IMR register - open only GPR 2 */
        sep_write_reg(sep_dev, HW_HOST_IMR_REG_ADDR, (~(0x1 << 13)));
 
-       /* figure out our irq */
-       /* FIXME: */
-       error = pci_read_config_byte(pdev, PCI_INTERRUPT_LINE, (u8 *) & sep_dev->irq);
-
-       edbg("SEP Driver: my irq is %d\n", sep_dev->irq);
-
        edbg("SEP Driver: about to call request_irq\n");
        /* get the interrupt line */
-       error = request_irq(sep_dev->irq, sep_inthandler, IRQF_SHARED, "sep_driver", &sep_dev->reg_addr);
+       error = request_irq(pdev->irq, sep_inthandler, IRQF_SHARED, "sep_driver", &sep_dev->reg_addr);
        if (error)
                goto end_function;