Commit 6343cefd authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman

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: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 904290c0
...@@ -54,9 +54,6 @@ struct sep_device { ...@@ -54,9 +54,6 @@ struct sep_device {
unsigned long resident_size; unsigned long resident_size;
void *resident_addr; void *resident_addr;
/* device interrupt (as retrieved from PCI) */
int sep_irq;
unsigned long rar_region_addr; unsigned long rar_region_addr;
/* start address of the access to the SEP registers from driver */ /* start address of the access to the SEP registers from driver */
......
...@@ -2494,15 +2494,9 @@ static int __devinit sep_probe(struct pci_dev *pdev, const struct pci_device_id ...@@ -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 */ /* set the IMR register - open only GPR 2 */
sep_write_reg(sep_dev, HW_HOST_IMR_REG_ADDR, (~(0x1 << 13))); 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"); edbg("SEP Driver: about to call request_irq\n");
/* get the interrupt line */ /* 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) if (error)
goto end_function; goto end_function;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment