summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2009-08-07 19:24:26 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-15 12:02:14 -0700
commit6343cefdc8174f2d00abf8201ecd17d354e5ddf7 (patch)
treebf6cf151447554b3876534a50e752748e677cb7d
parent904290c0b7b48e757b3dc9451f4b014f42c25098 (diff)
Staging: sep: Fix PCI irq usage
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>
-rw-r--r--drivers/staging/sep/sep_dev.h3
-rw-r--r--drivers/staging/sep/sep_driver.c8
2 files changed, 1 insertions, 10 deletions
diff --git a/drivers/staging/sep/sep_dev.h b/drivers/staging/sep/sep_dev.h
index 27248eb956a9..48286639e6c9 100644
--- a/drivers/staging/sep/sep_dev.h
+++ b/drivers/staging/sep/sep_dev.h
@@ -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 */
diff --git a/drivers/staging/sep/sep_driver.c b/drivers/staging/sep/sep_driver.c
index af2d6c929ce7..837b82884a82 100644
--- a/drivers/staging/sep/sep_driver.c
+++ b/drivers/staging/sep/sep_driver.c
@@ -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;