diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-03-01 11:46:13 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:55:09 -0700 |
commit | a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4 (patch) | |
tree | 681ef99b1448ac2ee83ff70719af068fca4f81d1 /arch | |
parent | bc606f3c917aa453fca62b76c8e9998b4171f4fa (diff) | |
download | op-kernel-dev-a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4.zip op-kernel-dev-a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4.tar.gz |
[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 ec0d12a..425e883 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) |