mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 15:41:39 +00:00
Revert "[POWERPC] Don't get PCI IRQ from OF for devices with no IRQ"
This reverts commit 41550c5128
.
Quoth Ben Herrenschmidt:
"Please revert this one for now. It seems to break G5s :( Looks like
PCI cells inside Apple IO ASICs don't have a PCI_INTERRUPT_LINE set.
I need to figure out a better fix."
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
0bae89ec8b
commit
e24bb60e11
@ -914,17 +914,6 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq)
|
|||||||
u8 pin;
|
u8 pin;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* We need to first check if the PCI device has a PCI interrupt at all
|
|
||||||
* since we have cases where the device-node might expose non-PCI
|
|
||||||
* interrupts, but the device has no PCI interrupt to it
|
|
||||||
*/
|
|
||||||
rc = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin);
|
|
||||||
if (rc != 0)
|
|
||||||
return rc;
|
|
||||||
/* No pin, exit */
|
|
||||||
if (pin == 0)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
/* Check if we have a device node, if yes, fallback to standard OF
|
/* Check if we have a device node, if yes, fallback to standard OF
|
||||||
* parsing
|
* parsing
|
||||||
*/
|
*/
|
||||||
@ -936,6 +925,12 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq)
|
|||||||
* interrupt spec. we assume #interrupt-cells is 1, which is standard
|
* interrupt spec. we assume #interrupt-cells is 1, which is standard
|
||||||
* for PCI. If you do different, then don't use that routine.
|
* for PCI. If you do different, then don't use that routine.
|
||||||
*/
|
*/
|
||||||
|
rc = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin);
|
||||||
|
if (rc != 0)
|
||||||
|
return rc;
|
||||||
|
/* No pin, exit */
|
||||||
|
if (pin == 0)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
/* Now we walk up the PCI tree */
|
/* Now we walk up the PCI tree */
|
||||||
lspec = pin;
|
lspec = pin;
|
||||||
|
Loading…
Reference in New Issue
Block a user