Lines Matching refs:pdev

54 static void of_pci_set_address(struct pci_dev *pdev, u32 *prop, u64 addr,
57 prop[0] = FIELD_PREP(OF_PCI_ADDR_FIELD_BUS, pdev->bus->number) |
58 FIELD_PREP(OF_PCI_ADDR_FIELD_DEV, PCI_SLOT(pdev->devfn)) |
59 FIELD_PREP(OF_PCI_ADDR_FIELD_FUNC, PCI_FUNC(pdev->devfn));
90 static int of_pci_prop_bus_range(struct pci_dev *pdev,
94 u32 bus_range[] = { pdev->subordinate->busn_res.start,
95 pdev->subordinate->busn_res.end };
101 static int of_pci_prop_ranges(struct pci_dev *pdev, struct of_changeset *ocs,
110 if (pci_is_bridge(pdev)) {
112 res = &pdev->resource[PCI_BRIDGE_RESOURCES];
115 res = &pdev->resource[PCI_STD_RESOURCES];
130 of_pci_set_address(pdev, rp[i].parent_addr, val64, 0, flags,
132 if (pci_is_bridge(pdev)) {
157 static int of_pci_prop_reg(struct pci_dev *pdev, struct of_changeset *ocs,
163 of_pci_set_address(pdev, reg.phys_addr, 0, 0, 0, true);
169 static int of_pci_prop_interrupts(struct pci_dev *pdev,
176 ret = pci_read_config_byte(pdev, PCI_INTERRUPT_PIN, &pin);
186 static int of_pci_prop_intr_map(struct pci_dev *pdev, struct of_changeset *ocs,
199 pnode = pci_device_to_OF_node(pdev->bus->self);
201 pnode = pci_bus_to_OF_node(pdev->bus);
204 pci_err(pdev, "failed to get parent device node");
208 laddr[0] = cpu_to_be32((pdev->bus->number << 16) | (pdev->devfn << 8));
217 pci_dbg(pdev, "parse irq %d failed, ret %d", pin, ret);
224 list_for_each_entry(child, &pdev->subordinate->devices, bus_list) {
243 list_for_each_entry(child, &pdev->subordinate->devices, bus_list) {
293 static int of_pci_prop_compatible(struct pci_dev *pdev,
301 kasprintf(GFP_KERNEL, "pci%x,%x", pdev->vendor, pdev->device);
303 kasprintf(GFP_KERNEL, "pciclass,%06x", pdev->class);
305 kasprintf(GFP_KERNEL, "pciclass,%04x", pdev->class >> 8);
315 int of_pci_add_properties(struct pci_dev *pdev, struct of_changeset *ocs,
324 if (pci_is_bridge(pdev)) {
330 ret = of_pci_prop_bus_range(pdev, ocs, np);
334 ret = of_pci_prop_intr_map(pdev, ocs, np);
339 ret = of_pci_prop_ranges(pdev, ocs, np);
353 ret = of_pci_prop_reg(pdev, ocs, np);
357 ret = of_pci_prop_compatible(pdev, ocs, np);
361 ret = of_pci_prop_interrupts(pdev, ocs, np);