PARISC: fix wrong assumption about bus->self
PATCH 1/1 PARISC: fix wrong assumption about bus->self
Kenji Kaneshige <[email protected]> posted a patch series to linux-pci to fix a wrong assumption about pci_bus->self==NULL for all PCI host bus controllers. While PARISC platforms to not behave this way, I prefer to have the code consistent across architectures. The following patch replaces pci_bus->self with pci_bus->parent when used as a test to check for "root bus controller".
---
Kyle, AFAIK, this isn't urgent for parisc and can wait for 2.6.30. Not unless you or jejb feel strongly it should go in at around the same time as the patches from Kenji-san go in.
drivers/parisc/dino.c +1 -1
@@ -587,7 +587,7 @@ dino_fixup_bus(struct pci_bus *bus) bus->resource[i+1 ] = &res[i]; } - }else if (bus->self) { + }else if (bus->parent) {int i;pci_read_bridge_bases (bus);
drivers/parisc/iosapic.c +4 -5
@@ -487,7 +487,7 @@ iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev) }/* Check if pcidev behind a PPB */ -if (NULL != pcidev->bus->self) { +if (pcidev->bus->parent) {/* Convert pcidev INTR_PIN into something we ** can lookup in the IRT. */
@@ -523,10 +523,9 @@ iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev)#endif /* PCI_BRIDGE_FUNCS */ /* -** Locate the host slot the PPB nearest the Host bus -** adapter. -*/ -while (NULL != p->parent->self) +* Locate the host slot of the PPB. +*/ +while (p->parent->parent) p = p->parent; intr_slot =PCI_SLOT (p->self->devfn);
drivers/parisc/lba_pci.c +2 -2
@@ -644,7 +644,7 @@ lba_fixup_bus(struct pci_bus *bus)** Properly Setup MMIO resources for this bus. ** pci_alloc_primary_bus() mangles this. */ -if (bus->self) { +if (bus->parent) {int i;/* PCI-PCI Bridge */ pci_read_bridge_bases (bus);
@@ -802,7 +802,7 @@ lba_fixup_bus(struct pci_bus *bus)** Can't fixup here anyway....garr... */ if (fbb_enable) { -if (bus->self) { +if (bus->parent) {u8 control;/* enable on PPB */ (void )pci_read_config_byte (bus->self,PCI_BRIDGE_CONTROL , &control);
Quoted 7 lines · Grant Grundler
Kenji Kaneshige <[email protected]> posted a patch series to linux-pci to fix a wrong assumption about pci_bus->self==NULL for all PCI host bus controllers. While PARISC platforms to not behave this way, I prefer to have the code consistent across architectures. The following patch replaces
pci_bus->selfwithpci_bus->parentwhen used as a test to check for "root bus controller".
Quoted 6 lines
Signed-off-by Grant Grundler <[email protected]>---
Kyle, AFAIK, this isn't urgent for parisc and can wait for 2.6.30. Not unless you or jejb feel strongly it should go in at around the same time as the patches from Kenji-san go in.
Looks fairly unlikely to introduce any issues, applied.
Thanks Grant.
cheers, Kyle
Quoted 67 lines
drivers/parisc/dino.c +1
-1@@ -587,7 +587,7 @@ dino_fixup_bus(struct pci_bus *bus) bus->resource[i+1 ] = &res[i]; } - }else if (bus->self) { + }else if (bus->parent) {int i;pci_read_bridge_bases (bus);drivers/parisc/iosapic.c +4
-5@@ -487,7 +487,7 @@ iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev) }/* Check if pcidev behind a PPB */ -if (NULL != pcidev->bus->self) { +if (pcidev->bus->parent) {/* Convert pcidev INTR_PIN into something we ** can lookup in the IRT. */ @@ -523,10 +523,9 @@ iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev)#endif /* PCI_BRIDGE_FUNCS */ /* -** Locate the host slot the PPB nearest the Host bus -** adapter. -*/ -while (NULL != p->parent->self) +* Locate the host slot of the PPB. +*/ +while (p->parent->parent) p = p->parent; intr_slot =PCI_SLOT (p->self->devfn);drivers/parisc/lba_pci.c +2
-3@@ -644,7 +644,7 @@ lba_fixup_bus(struct pci_bus *bus)** Properly Setup MMIO resources for this bus. ** pci_alloc_primary_bus() mangles this. */ -if (bus->self) { +if (bus->parent) {int i;/* PCI-PCI Bridge */ pci_read_bridge_bases (bus);@@ -802,7 +802,7 @@ lba_fixup_bus(struct pci_bus *bus)** Can't fixup here anyway....garr... */ if (fbb_enable) { -if (bus->self) { +if (bus->parent) {u8 control;/* enable on PPB */ (void )pci_read_config_byte (bus->self,PCI_BRIDGE_CONTROL , &control); --To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html