Lines Matching refs:child
338 static void pci_read_bridge_io(struct pci_bus *child) in pci_read_bridge_io() argument
340 struct pci_dev *dev = child->self; in pci_read_bridge_io()
354 res = child->resource[0]; in pci_read_bridge_io()
378 static void pci_read_bridge_mmio(struct pci_bus *child) in pci_read_bridge_mmio() argument
380 struct pci_dev *dev = child->self; in pci_read_bridge_mmio()
386 res = child->resource[1]; in pci_read_bridge_mmio()
400 static void pci_read_bridge_mmio_pref(struct pci_bus *child) in pci_read_bridge_mmio_pref() argument
402 struct pci_dev *dev = child->self; in pci_read_bridge_mmio_pref()
409 res = child->resource[2]; in pci_read_bridge_mmio_pref()
453 void pci_read_bridge_bases(struct pci_bus *child) in pci_read_bridge_bases() argument
455 struct pci_dev *dev = child->self; in pci_read_bridge_bases()
459 if (pci_is_root_bus(child)) /* It's a host bus, nothing to read */ in pci_read_bridge_bases()
463 &child->busn_res, in pci_read_bridge_bases()
466 pci_bus_remove_resources(child); in pci_read_bridge_bases()
468 child->resource[i] = &dev->resource[PCI_BRIDGE_RESOURCES+i]; in pci_read_bridge_bases()
470 pci_read_bridge_io(child); in pci_read_bridge_bases()
471 pci_read_bridge_mmio(child); in pci_read_bridge_bases()
472 pci_read_bridge_mmio_pref(child); in pci_read_bridge_bases()
475 pci_bus_for_each_resource(child->parent, res, i) { in pci_read_bridge_bases()
477 pci_bus_add_resource(child, res, in pci_read_bridge_bases()
670 struct pci_bus *child; in pci_alloc_child_bus() local
677 child = pci_alloc_bus(parent); in pci_alloc_child_bus()
678 if (!child) in pci_alloc_child_bus()
681 child->parent = parent; in pci_alloc_child_bus()
682 child->ops = parent->ops; in pci_alloc_child_bus()
683 child->msi = parent->msi; in pci_alloc_child_bus()
684 child->sysdata = parent->sysdata; in pci_alloc_child_bus()
685 child->bus_flags = parent->bus_flags; in pci_alloc_child_bus()
690 child->dev.class = &pcibus_class; in pci_alloc_child_bus()
691 dev_set_name(&child->dev, "%04x:%02x", pci_domain_nr(child), busnr); in pci_alloc_child_bus()
697 child->number = child->busn_res.start = busnr; in pci_alloc_child_bus()
698 child->primary = parent->busn_res.start; in pci_alloc_child_bus()
699 child->busn_res.end = 0xff; in pci_alloc_child_bus()
702 child->dev.parent = parent->bridge; in pci_alloc_child_bus()
706 child->self = bridge; in pci_alloc_child_bus()
707 child->bridge = get_device(&bridge->dev); in pci_alloc_child_bus()
708 child->dev.parent = child->bridge; in pci_alloc_child_bus()
709 pci_set_bus_of_node(child); in pci_alloc_child_bus()
710 pci_set_bus_speed(child); in pci_alloc_child_bus()
714 child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i]; in pci_alloc_child_bus()
715 child->resource[i]->name = child->name; in pci_alloc_child_bus()
717 bridge->subordinate = child; in pci_alloc_child_bus()
720 ret = device_register(&child->dev); in pci_alloc_child_bus()
723 pcibios_add_bus(child); in pci_alloc_child_bus()
726 pci_create_legacy_files(child); in pci_alloc_child_bus()
728 return child; in pci_alloc_child_bus()
734 struct pci_bus *child; in pci_add_new_bus() local
736 child = pci_alloc_child_bus(parent, dev, busnr); in pci_add_new_bus()
737 if (child) { in pci_add_new_bus()
739 list_add_tail(&child->node, &parent->children); in pci_add_new_bus()
742 return child; in pci_add_new_bus()
769 struct pci_bus *child; in pci_scan_bridge() local
822 child = pci_find_bus(pci_domain_nr(bus), secondary); in pci_scan_bridge()
823 if (!child) { in pci_scan_bridge()
824 child = pci_add_new_bus(bus, dev, secondary); in pci_scan_bridge()
825 if (!child) in pci_scan_bridge()
827 child->primary = primary; in pci_scan_bridge()
828 pci_bus_insert_busn_res(child, secondary, subordinate); in pci_scan_bridge()
829 child->bridge_ctl = bctl; in pci_scan_bridge()
832 cmax = pci_scan_child_bus(child); in pci_scan_bridge()
863 child = pci_find_bus(pci_domain_nr(bus), max+1); in pci_scan_bridge()
864 if (!child) { in pci_scan_bridge()
865 child = pci_add_new_bus(bus, dev, max+1); in pci_scan_bridge()
866 if (!child) in pci_scan_bridge()
868 pci_bus_insert_busn_res(child, max+1, 0xff); in pci_scan_bridge()
872 | ((unsigned int)(child->primary) << 0) in pci_scan_bridge()
873 | ((unsigned int)(child->busn_res.start) << 8) in pci_scan_bridge()
874 | ((unsigned int)(child->busn_res.end) << 16); in pci_scan_bridge()
891 child->bridge_ctl = bctl; in pci_scan_bridge()
892 max = pci_scan_child_bus(child); in pci_scan_bridge()
927 pci_bus_update_busn_res_end(child, max); in pci_scan_bridge()
931 sprintf(child->name, in pci_scan_bridge()
933 pci_domain_nr(bus), child->number); in pci_scan_bridge()
937 if ((child->busn_res.end > bus->busn_res.end) || in pci_scan_bridge()
938 (child->number > bus->busn_res.end) || in pci_scan_bridge()
939 (child->number < bus->number) || in pci_scan_bridge()
940 (child->busn_res.end < bus->number)) { in pci_scan_bridge()
941 dev_info(&child->dev, "%pR %s hidden behind%s bridge %s %pR\n", in pci_scan_bridge()
942 &child->busn_res, in pci_scan_bridge()
943 (bus->number > child->busn_res.end && in pci_scan_bridge()
944 bus->busn_res.end < child->number) ? in pci_scan_bridge()