[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191127094844.GA21122@infradead.org>
Date: Wed, 27 Nov 2019 01:48:44 -0800
From: Christoph Hellwig <hch@...radead.org>
To: Vidya Sagar <vidyas@...dia.com>
Cc: jingoohan1@...il.com, gustavo.pimentel@...opsys.com,
lorenzo.pieralisi@....com, andrew.murray@....com,
bhelgaas@...gle.com, kishon@...com, thierry.reding@...il.com,
Jisheng.Zhang@...aptics.com, jonathanh@...dia.com,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
kthota@...dia.com, mmaddireddy@...dia.com, sagar.tv@...il.com
Subject: Re: [PATCH 1/4] PCI: dwc: Add new feature to skip core initialization
On Wed, Nov 13, 2019 at 02:38:48PM +0530, Vidya Sagar wrote:
> + if (ep->ops->get_features) {
> + epc_features = ep->ops->get_features(ep);
> + if (epc_features->skip_core_init)
> + return 0;
> }
>
> + return dw_pcie_ep_init_complete(ep);
This calling convention is strange. Just split the early part of
dw_pcie_ep_init into an dw_pcie_ep_early and either add a tiny
wrapper like:
int dw_pcie_ep_init(struct dw_pcie_ep *ep)
{
int error;
error = dw_pcie_ep_init_early(ep);
if (error)
return error;
return dw_pcie_ep_init_late(ep);
}
or just open code that in the few callers. That keeps the calling
conventions much simpler and avoids relying on a callback and flag.
Powered by blists - more mailing lists