|
@@ -386,15 +386,18 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep)
|
|
|
return -ENOMEM;
|
|
|
ep->outbound_addr = addr;
|
|
|
|
|
|
- if (ep->ops->ep_init)
|
|
|
- ep->ops->ep_init(ep);
|
|
|
-
|
|
|
epc = devm_pci_epc_create(dev, &epc_ops);
|
|
|
if (IS_ERR(epc)) {
|
|
|
dev_err(dev, "Failed to create epc device\n");
|
|
|
return PTR_ERR(epc);
|
|
|
}
|
|
|
|
|
|
+ ep->epc = epc;
|
|
|
+ epc_set_drvdata(epc, ep);
|
|
|
+
|
|
|
+ if (ep->ops->ep_init)
|
|
|
+ ep->ops->ep_init(ep);
|
|
|
+
|
|
|
ret = of_property_read_u8(np, "max-functions", &epc->max_functions);
|
|
|
if (ret < 0)
|
|
|
epc->max_functions = 1;
|
|
@@ -413,11 +416,6 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep)
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
- epc->features = EPC_FEATURE_NO_LINKUP_NOTIFIER;
|
|
|
- EPC_FEATURE_SET_BAR(epc->features, BAR_0);
|
|
|
-
|
|
|
- ep->epc = epc;
|
|
|
- epc_set_drvdata(epc, ep);
|
|
|
dw_pcie_setup(pci);
|
|
|
|
|
|
return 0;
|