Lines Matching +full:pci +full:- +full:host +full:- +full:ecam +full:- +full:generic
1 // SPDX-License-Identifier: GPL-2.0
3 * Generic PCI host driver common code
15 #include <linux/pci-ecam.h>
31 err = of_address_to_resource(dev->of_node, 0, &cfgres); in gen_pci_init()
37 bus = resource_list_first_type(&bridge->windows, IORESOURCE_BUS); in gen_pci_init()
39 return ERR_PTR(-ENODEV); in gen_pci_init()
41 cfg = pci_ecam_create(dev, &cfgres, bus->res, ops); in gen_pci_init()
54 struct device *dev = &pdev->dev; in pci_host_common_probe()
59 ops = of_device_get_match_data(&pdev->dev); in pci_host_common_probe()
61 return -ENODEV; in pci_host_common_probe()
65 return -ENOMEM; in pci_host_common_probe()
76 bridge->sysdata = cfg; in pci_host_common_probe()
77 bridge->ops = (struct pci_ops *)&ops->pci_ops; in pci_host_common_probe()
78 bridge->enable_device = ops->enable_device; in pci_host_common_probe()
79 bridge->disable_device = ops->disable_device; in pci_host_common_probe()
80 bridge->msi_domain = true; in pci_host_common_probe()
91 pci_stop_root_bus(bridge->bus); in pci_host_common_remove()
92 pci_remove_root_bus(bridge->bus); in pci_host_common_remove()
97 MODULE_DESCRIPTION("Generic PCI host common driver");