aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-03-01 14:46:13 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 04:55:09 -0400
commita378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4 (patch)
tree681ef99b1448ac2ee83ff70719af068fca4f81d1 /arch/sparc64/kernel/pci.c
parentbc606f3c917aa453fca62b76c8e9998b4171f4fa (diff)
[SPARC64]: Fix obppath pci device sysfs creation.
Need to traverse recursively down child busses else we only get the file created under devices at the top-level. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/pci.c')
-rw-r--r--arch/sparc64/kernel/pci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index ec0d12a48c2b..425e883e7e3b 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -585,6 +585,7 @@ static DEVICE_ATTR(obppath, S_IRUSR | S_IRGRP | S_IROTH, show_pciobppath_attr, N
585static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus) 585static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus)
586{ 586{
587 struct pci_dev *dev; 587 struct pci_dev *dev;
588 struct pci_bus *child_bus;
588 int err; 589 int err;
589 590
590 list_for_each_entry(dev, &bus->devices, bus_list) { 591 list_for_each_entry(dev, &bus->devices, bus_list) {
@@ -597,6 +598,8 @@ static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus)
597 */ 598 */
598 err = sysfs_create_file(&dev->dev.kobj, &dev_attr_obppath.attr); 599 err = sysfs_create_file(&dev->dev.kobj, &dev_attr_obppath.attr);
599 } 600 }
601 list_for_each_entry(child_bus, &bus->children, node)
602 pci_bus_register_of_sysfs(child_bus);
600} 603}
601 604
602struct pci_bus * __init pci_scan_one_pbm(struct pci_pbm_info *pbm) 605struct pci_bus * __init pci_scan_one_pbm(struct pci_pbm_info *pbm)