Re: [PATCH 1/3] PCI:hisi: Add DT almost ECAM support for HiSilicon Hip06/Hip07 host controllers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bjorn

Many thanks for your review.

e( 2017/2/4 5:00, Bjorn Helgaas ei:
On Fri, Feb 03, 2017 at 02:40:42PM -0600, Bjorn Helgaas wrote:
On Thu, Jan 12, 2017 at 02:28:22PM +0800, Dongdong Liu wrote:
The PCIe controller in Hip06/Hip07 SoCs is not completely
ECAM-compliant. It is non-ECAM only for the RC bus config space; for
any other bus underneath the root bus it does support ECAM access.
This is to add the almost ECAM support in DT way.

Signed-off-by: Dongdong Liu <liudongdong3@xxxxxxxxxx>
Reviewed-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx>
Reviewed-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx>

Applied to pci/host-hisi for v4.11, thanks!

Oops, I take this back, see below.

@@ -262,17 +264,23 @@ static int hisi_pcie_probe(struct platform_device *pdev)
 	const struct of_device_id *match;
 	struct resource *reg;
 	struct device_driver *driver;
+	struct pci_ecam_ops *ops;
 	int ret;

+	driver = dev->driver;
+	match = of_match_device(driver->of_match_table, dev);
+	if (!strcmp(match->compatible, "hisilicon,pcie-almost-ecam")) {
+		ops = (struct pci_ecam_ops *)match->data;
+		return pci_host_common_probe(pdev, ops);
+	}

Please make this a separate probe function() with a separate struct
platform_driver.

That way you won't have to strcmp() for "hisilicon,pcie-almost-ecam",
and you can use of_device_get_match_data() to get "ops", so you won't
need to use of_match_device() at all.

Good catch, will fix.

Thanks,
Dongdong





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux