diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-03-01 20:46:13 +0100 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 10:55:09 +0200 |
commit | a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4 (patch) | |
tree | 681ef99b1448ac2ee83ff70719af068fca4f81d1 /arch | |
parent | [SPARC64]: Minor cleanups to schizo pci controller driver. (diff) | |
download | linux-a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4.tar.xz linux-a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4.zip |
[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')
-rw-r--r-- | arch/sparc64/kernel/pci.c | 3 |
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 static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus) { struct pci_dev *dev; + struct pci_bus *child_bus; int err; 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) */ err = sysfs_create_file(&dev->dev.kobj, &dev_attr_obppath.attr); } + list_for_each_entry(child_bus, &bus->children, node) + pci_bus_register_of_sysfs(child_bus); } struct pci_bus * __init pci_scan_one_pbm(struct pci_pbm_info *pbm) |