[PATCH 442/641] Staging: sep: Fix PCI irq usage
Greg Kroah-Hartman
gregkh at suse.de
Tue Sep 15 19:11:13 UTC 2009
From: Alan Cox <alan at linux.intel.com>
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 at linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
---
drivers/staging/sep/sep_dev.h | 3 ---
drivers/staging/sep/sep_driver.c | 8 +-------
2 files changed, 1 insertions(+), 10 deletions(-)
diff --git a/drivers/staging/sep/sep_dev.h b/drivers/staging/sep/sep_dev.h
index 27248eb..4828663 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 af2d6c9..837b828 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;
--
1.6.4.2
More information about the devel
mailing list