[PATCH] PCI PHB unit id detection interface change
Olaf Hering
olh at suse.de
Thu Jun 17 22:55:03 EST 2004
On Thu, Jun 17, Olaf Hering wrote:
>
> On Fri, Jun 11, linas at austin.ibm.com wrote:
>
> > @@ -456,10 +493,7 @@ unsigned long __init find_and_init_phbs(
> > unsigned int *opprop;
> > struct device_node *root = of_find_node_by_path("/");
> >
> > - read_pci_config = rtas_token("read-pci-config");
> > - write_pci_config = rtas_token("write-pci-config");
> > - ibm_read_pci_config = rtas_token("ibm,read-pci-config");
> > - ibm_write_pci_config = rtas_token("ibm,write-pci-config");
> > + init_pci_config_tokens();
> >
> > if (naca->interrupt_controller == IC_OPEN_PIC) {
> > opprop = (unsigned int *)get_property(root,
>
> > @@ -709,24 +713,16 @@ void __init eeh_init(void)
> > }
> >
> > /* Enable EEH for all adapters. Note that eeh requires buid's */
> > + init_pci_config_tokens();
> > for (phb = of_find_node_by_name(NULL, "pci"); phb;
> > phb = of_find_node_by_name(phb, "pci")) {
>
> this is broken. You rely on EEH being available. all power3 users will
> have a problem now.
this one should work better.
--- ./arch/ppc64/kernel/eeh.c~ 2004-06-17 10:53:59.876818306 +0000
+++ ./arch/ppc64/kernel/eeh.c 2004-06-17 12:05:04.798698425 +0000
@@ -679,6 +679,8 @@ void __init eeh_init(void)
printk(KERN_WARNING "EEH: RTAS not found !\n");
return;
}
+
+ init_pci_config_tokens();
ibm_set_eeh_option = rtas_token("ibm,set-eeh-option");
ibm_set_slot_reset = rtas_token("ibm,set-slot-reset");
@@ -707,7 +709,6 @@ void __init eeh_init(void)
}
/* Enable EEH for all adapters. Note that eeh requires buid's */
- init_pci_config_tokens();
for (phb = of_find_node_by_name(NULL, "pci"); phb;
phb = of_find_node_by_name(phb, "pci")) {
unsigned long buid;
--
USB is for mice, FireWire is for men!
sUse lINUX ag, nÜRNBERG
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list