Lines Matching refs:child
397 static void pci_read_bridge_io(struct pci_bus *child) in pci_read_bridge_io() argument
399 struct pci_dev *dev = child->self; in pci_read_bridge_io()
413 res = child->resource[0]; in pci_read_bridge_io()
437 static void pci_read_bridge_mmio(struct pci_bus *child) in pci_read_bridge_mmio() argument
439 struct pci_dev *dev = child->self; in pci_read_bridge_mmio()
445 res = child->resource[1]; in pci_read_bridge_mmio()
459 static void pci_read_bridge_mmio_pref(struct pci_bus *child) in pci_read_bridge_mmio_pref() argument
461 struct pci_dev *dev = child->self; in pci_read_bridge_mmio_pref()
468 res = child->resource[2]; in pci_read_bridge_mmio_pref()
512 void pci_read_bridge_bases(struct pci_bus *child) in pci_read_bridge_bases() argument
514 struct pci_dev *dev = child->self; in pci_read_bridge_bases()
518 if (pci_is_root_bus(child)) /* It's a host bus, nothing to read */ in pci_read_bridge_bases()
522 &child->busn_res, in pci_read_bridge_bases()
525 pci_bus_remove_resources(child); in pci_read_bridge_bases()
527 child->resource[i] = &dev->resource[PCI_BRIDGE_RESOURCES+i]; in pci_read_bridge_bases()
529 pci_read_bridge_io(child); in pci_read_bridge_bases()
530 pci_read_bridge_mmio(child); in pci_read_bridge_bases()
531 pci_read_bridge_mmio_pref(child); in pci_read_bridge_bases()
534 pci_bus_for_each_resource(child->parent, res, i) { in pci_read_bridge_bases()
536 pci_bus_add_resource(child, res, in pci_read_bridge_bases()
984 struct pci_bus *child; in pci_alloc_child_bus() local
989 child = pci_alloc_bus(parent); in pci_alloc_child_bus()
990 if (!child) in pci_alloc_child_bus()
993 child->parent = parent; in pci_alloc_child_bus()
994 child->ops = parent->ops; in pci_alloc_child_bus()
995 child->msi = parent->msi; in pci_alloc_child_bus()
996 child->sysdata = parent->sysdata; in pci_alloc_child_bus()
997 child->bus_flags = parent->bus_flags; in pci_alloc_child_bus()
1003 child->dev.class = &pcibus_class; in pci_alloc_child_bus()
1004 dev_set_name(&child->dev, "%04x:%02x", pci_domain_nr(child), busnr); in pci_alloc_child_bus()
1007 child->number = child->busn_res.start = busnr; in pci_alloc_child_bus()
1008 child->primary = parent->busn_res.start; in pci_alloc_child_bus()
1009 child->busn_res.end = 0xff; in pci_alloc_child_bus()
1012 child->dev.parent = parent->bridge; in pci_alloc_child_bus()
1016 child->self = bridge; in pci_alloc_child_bus()
1017 child->bridge = get_device(&bridge->dev); in pci_alloc_child_bus()
1018 child->dev.parent = child->bridge; in pci_alloc_child_bus()
1019 pci_set_bus_of_node(child); in pci_alloc_child_bus()
1020 pci_set_bus_speed(child); in pci_alloc_child_bus()
1028 child->bus_flags |= PCI_BUS_FLAGS_NO_EXTCFG; in pci_alloc_child_bus()
1029 pci_info(child, "extended config space not accessible\n"); in pci_alloc_child_bus()
1034 child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i]; in pci_alloc_child_bus()
1035 child->resource[i]->name = child->name; in pci_alloc_child_bus()
1037 bridge->subordinate = child; in pci_alloc_child_bus()
1040 pci_set_bus_msi_domain(child); in pci_alloc_child_bus()
1041 ret = device_register(&child->dev); in pci_alloc_child_bus()
1044 pcibios_add_bus(child); in pci_alloc_child_bus()
1046 if (child->ops->add_bus) { in pci_alloc_child_bus()
1047 ret = child->ops->add_bus(child); in pci_alloc_child_bus()
1049 dev_err(&child->dev, "failed to add bus: %d\n", ret); in pci_alloc_child_bus()
1053 pci_create_legacy_files(child); in pci_alloc_child_bus()
1055 return child; in pci_alloc_child_bus()
1061 struct pci_bus *child; in pci_add_new_bus() local
1063 child = pci_alloc_child_bus(parent, dev, busnr); in pci_add_new_bus()
1064 if (child) { in pci_add_new_bus()
1066 list_add_tail(&child->node, &parent->children); in pci_add_new_bus()
1069 return child; in pci_add_new_bus()
1150 struct pci_bus *child; in pci_scan_bridge_extend() local
1215 child = pci_find_bus(pci_domain_nr(bus), secondary); in pci_scan_bridge_extend()
1216 if (!child) { in pci_scan_bridge_extend()
1217 child = pci_add_new_bus(bus, dev, secondary); in pci_scan_bridge_extend()
1218 if (!child) in pci_scan_bridge_extend()
1220 child->primary = primary; in pci_scan_bridge_extend()
1221 pci_bus_insert_busn_res(child, secondary, subordinate); in pci_scan_bridge_extend()
1222 child->bridge_ctl = bctl; in pci_scan_bridge_extend()
1225 cmax = pci_scan_child_bus(child); in pci_scan_bridge_extend()
1270 child = pci_find_bus(pci_domain_nr(bus), next_busnr); in pci_scan_bridge_extend()
1271 if (!child) { in pci_scan_bridge_extend()
1272 child = pci_add_new_bus(bus, dev, next_busnr); in pci_scan_bridge_extend()
1273 if (!child) in pci_scan_bridge_extend()
1275 pci_bus_insert_busn_res(child, next_busnr, in pci_scan_bridge_extend()
1283 | ((unsigned int)(child->primary) << 0) in pci_scan_bridge_extend()
1284 | ((unsigned int)(child->busn_res.start) << 8) in pci_scan_bridge_extend()
1285 | ((unsigned int)(child->busn_res.end) << 16); in pci_scan_bridge_extend()
1300 child->bridge_ctl = bctl; in pci_scan_bridge_extend()
1301 max = pci_scan_child_bus_extend(child, available_buses); in pci_scan_bridge_extend()
1343 pci_bus_update_busn_res_end(child, max); in pci_scan_bridge_extend()
1347 sprintf(child->name, in pci_scan_bridge_extend()
1349 pci_domain_nr(bus), child->number); in pci_scan_bridge_extend()
1353 if ((child->busn_res.end > bus->busn_res.end) || in pci_scan_bridge_extend()
1354 (child->number > bus->busn_res.end) || in pci_scan_bridge_extend()
1355 (child->number < bus->number) || in pci_scan_bridge_extend()
1356 (child->busn_res.end < bus->number)) { in pci_scan_bridge_extend()
1358 &child->busn_res); in pci_scan_bridge_extend()
2933 struct pci_bus *bus, *child; in pci_host_probe() local
2955 list_for_each_entry(child, &bus->children, node) in pci_host_probe()
2956 pcie_bus_configure_settings(child); in pci_host_probe()