[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>
This commit is contained in:
David S. Miller
2007-03-01 11:46:13 -08:00
parent bc606f3c91
commit a378fd0ee8

View File

@@ -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) static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus)
{ {
struct pci_dev *dev; struct pci_dev *dev;
struct pci_bus *child_bus;
int err; int err;
list_for_each_entry(dev, &bus->devices, bus_list) { 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); 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) struct pci_bus * __init pci_scan_one_pbm(struct pci_pbm_info *pbm)