[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