static int __init ls_add_pcie_port(struct ls_pcie *pcie,
struct platform_device *pdev)
{
- struct device *dev = &pdev->dev;
struct pcie_port *pp = &pcie->pp;
+ struct device *dev = pp->dev;
int ret;
- pp->dev = dev;
- pp->ops = pcie->drvdata->ops;
-
ret = dw_pcie_host_init(pp);
if (ret) {
dev_err(dev, "failed to initialize host\n");
struct device *dev = &pdev->dev;
const struct of_device_id *match;
struct ls_pcie *pcie;
+ struct pcie_port *pp;
struct resource *dbi_base;
int ret;
if (!pcie)
return -ENOMEM;
+ pp = &pcie->pp;
+ pp->dev = dev;
+ pp->ops = pcie->drvdata->ops;
+
dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
pcie->pp.dbi_base = devm_ioremap_resource(dev, dbi_base);
if (IS_ERR(pcie->pp.dbi_base)) {