mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 05:04:02 +02:00
PCI: dwc: Handle return value from endpoint .pre_init callback
Add return value handling for struct dw_pcie_ep_ops .pre_init callback. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Acked-by: Roy Zang <Roy.Zang@nxp.com> Link: https://patch.msgid.link/20260728012548.465139-3-marek.vasut+renesas@mailbox.org
This commit is contained in:
parent
face365457
commit
c1366b72ad
|
|
@ -1538,8 +1538,11 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (ep->ops->pre_init)
|
||||
ep->ops->pre_init(ep);
|
||||
if (ep->ops->pre_init) {
|
||||
ret = ep->ops->pre_init(ep);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = pci_epc_mem_init(epc, ep->phys_base, ep->addr_size,
|
||||
ep->page_size);
|
||||
|
|
|
|||
|
|
@ -474,7 +474,7 @@ struct dw_pcie_rp {
|
|||
};
|
||||
|
||||
struct dw_pcie_ep_ops {
|
||||
void (*pre_init)(struct dw_pcie_ep *ep);
|
||||
int (*pre_init)(struct dw_pcie_ep *ep);
|
||||
int (*init)(struct dw_pcie_ep *ep);
|
||||
int (*raise_irq)(struct dw_pcie_ep *ep, u8 func_no,
|
||||
unsigned int type, u16 interrupt_num);
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ static void rcar_gen4_remove_dw_pcie_rp(struct rcar_gen4_pcie *rcar)
|
|||
}
|
||||
|
||||
/* Endpoint mode */
|
||||
static void rcar_gen4_pcie_ep_pre_init(struct dw_pcie_ep *ep)
|
||||
static int rcar_gen4_pcie_ep_pre_init(struct dw_pcie_ep *ep)
|
||||
{
|
||||
struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
|
||||
struct rcar_gen4_pcie *rcar = to_rcar_gen4_pcie(dw);
|
||||
|
|
@ -381,9 +381,11 @@ static void rcar_gen4_pcie_ep_pre_init(struct dw_pcie_ep *ep)
|
|||
|
||||
ret = rcar_gen4_pcie_common_init(rcar);
|
||||
if (ret)
|
||||
return;
|
||||
return ret;
|
||||
|
||||
writel(PCIEDMAINTSTSEN_INIT, rcar->base + PCIEDMAINTSTSEN);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void rcar_gen4_pcie_ep_deinit(struct rcar_gen4_pcie *rcar)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user