Lines Matching refs:child

340 static void pci_read_bridge_io(struct pci_bus *child)  in pci_read_bridge_io()  argument
342 struct pci_dev *dev = child->self; in pci_read_bridge_io()
356 res = child->resource[0]; in pci_read_bridge_io()
380 static void pci_read_bridge_mmio(struct pci_bus *child) in pci_read_bridge_mmio() argument
382 struct pci_dev *dev = child->self; in pci_read_bridge_mmio()
388 res = child->resource[1]; in pci_read_bridge_mmio()
402 static void pci_read_bridge_mmio_pref(struct pci_bus *child) in pci_read_bridge_mmio_pref() argument
404 struct pci_dev *dev = child->self; in pci_read_bridge_mmio_pref()
411 res = child->resource[2]; in pci_read_bridge_mmio_pref()
455 void pci_read_bridge_bases(struct pci_bus *child) in pci_read_bridge_bases() argument
457 struct pci_dev *dev = child->self; in pci_read_bridge_bases()
461 if (pci_is_root_bus(child)) /* It's a host bus, nothing to read */ in pci_read_bridge_bases()
465 &child->busn_res, in pci_read_bridge_bases()
468 pci_bus_remove_resources(child); in pci_read_bridge_bases()
470 child->resource[i] = &dev->resource[PCI_BRIDGE_RESOURCES+i]; in pci_read_bridge_bases()
472 pci_read_bridge_io(child); in pci_read_bridge_bases()
473 pci_read_bridge_mmio(child); in pci_read_bridge_bases()
474 pci_read_bridge_mmio_pref(child); in pci_read_bridge_bases()
477 pci_bus_for_each_resource(child->parent, res, i) { in pci_read_bridge_bases()
479 pci_bus_add_resource(child, res, in pci_read_bridge_bases()
706 struct pci_bus *child; in pci_alloc_child_bus() local
713 child = pci_alloc_bus(parent); in pci_alloc_child_bus()
714 if (!child) in pci_alloc_child_bus()
717 child->parent = parent; in pci_alloc_child_bus()
718 child->ops = parent->ops; in pci_alloc_child_bus()
719 child->msi = parent->msi; in pci_alloc_child_bus()
720 child->sysdata = parent->sysdata; in pci_alloc_child_bus()
721 child->bus_flags = parent->bus_flags; in pci_alloc_child_bus()
726 child->dev.class = &pcibus_class; in pci_alloc_child_bus()
727 dev_set_name(&child->dev, "%04x:%02x", pci_domain_nr(child), busnr); in pci_alloc_child_bus()
733 child->number = child->busn_res.start = busnr; in pci_alloc_child_bus()
734 child->primary = parent->busn_res.start; in pci_alloc_child_bus()
735 child->busn_res.end = 0xff; in pci_alloc_child_bus()
738 child->dev.parent = parent->bridge; in pci_alloc_child_bus()
742 child->self = bridge; in pci_alloc_child_bus()
743 child->bridge = get_device(&bridge->dev); in pci_alloc_child_bus()
744 child->dev.parent = child->bridge; in pci_alloc_child_bus()
745 pci_set_bus_of_node(child); in pci_alloc_child_bus()
746 pci_set_bus_speed(child); in pci_alloc_child_bus()
750 child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i]; in pci_alloc_child_bus()
751 child->resource[i]->name = child->name; in pci_alloc_child_bus()
753 bridge->subordinate = child; in pci_alloc_child_bus()
756 pci_set_bus_msi_domain(child); in pci_alloc_child_bus()
757 ret = device_register(&child->dev); in pci_alloc_child_bus()
760 pcibios_add_bus(child); in pci_alloc_child_bus()
763 pci_create_legacy_files(child); in pci_alloc_child_bus()
765 return child; in pci_alloc_child_bus()
771 struct pci_bus *child; in pci_add_new_bus() local
773 child = pci_alloc_child_bus(parent, dev, busnr); in pci_add_new_bus()
774 if (child) { in pci_add_new_bus()
776 list_add_tail(&child->node, &parent->children); in pci_add_new_bus()
779 return child; in pci_add_new_bus()
806 struct pci_bus *child; in pci_scan_bridge() local
859 child = pci_find_bus(pci_domain_nr(bus), secondary); in pci_scan_bridge()
860 if (!child) { in pci_scan_bridge()
861 child = pci_add_new_bus(bus, dev, secondary); in pci_scan_bridge()
862 if (!child) in pci_scan_bridge()
864 child->primary = primary; in pci_scan_bridge()
865 pci_bus_insert_busn_res(child, secondary, subordinate); in pci_scan_bridge()
866 child->bridge_ctl = bctl; in pci_scan_bridge()
869 cmax = pci_scan_child_bus(child); in pci_scan_bridge()
900 child = pci_find_bus(pci_domain_nr(bus), max+1); in pci_scan_bridge()
901 if (!child) { in pci_scan_bridge()
902 child = pci_add_new_bus(bus, dev, max+1); in pci_scan_bridge()
903 if (!child) in pci_scan_bridge()
905 pci_bus_insert_busn_res(child, max+1, 0xff); in pci_scan_bridge()
909 | ((unsigned int)(child->primary) << 0) in pci_scan_bridge()
910 | ((unsigned int)(child->busn_res.start) << 8) in pci_scan_bridge()
911 | ((unsigned int)(child->busn_res.end) << 16); in pci_scan_bridge()
928 child->bridge_ctl = bctl; in pci_scan_bridge()
929 max = pci_scan_child_bus(child); in pci_scan_bridge()
964 pci_bus_update_busn_res_end(child, max); in pci_scan_bridge()
968 sprintf(child->name, in pci_scan_bridge()
970 pci_domain_nr(bus), child->number); in pci_scan_bridge()
974 if ((child->busn_res.end > bus->busn_res.end) || in pci_scan_bridge()
975 (child->number > bus->busn_res.end) || in pci_scan_bridge()
976 (child->number < bus->number) || in pci_scan_bridge()
977 (child->busn_res.end < bus->number)) { in pci_scan_bridge()
978 dev_info(&child->dev, "%pR %s hidden behind%s bridge %s %pR\n", in pci_scan_bridge()
979 &child->busn_res, in pci_scan_bridge()
980 (bus->number > child->busn_res.end && in pci_scan_bridge()
981 bus->busn_res.end < child->number) ? in pci_scan_bridge()