From: Bjorn Helgaas Date: Tue, 21 Feb 2017 21:14:18 +0000 (-0600) Subject: Merge branch 'pci/host-hisi' into next X-Git-Tag: v4.11-rc1~92^2~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d9520971589b008faa8df31aa2bb3d1e4f1c4534;p=karo-tx-linux.git Merge branch 'pci/host-hisi' into next * pci/host-hisi: PCI: generic: Call pci_fixup_irqs() only on ARM PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports PCI: hisi: Rename config space accessors to remove "acpi" PCI: hisi: Add DT almost-ECAM support for Hip06/Hip07 host controllers PCI: hisi: Use of_device_get_match_data() to simplify probe Conflicts: drivers/pci/dwc/pcie-hisi.c --- d9520971589b008faa8df31aa2bb3d1e4f1c4534 diff --cc drivers/pci/dwc/pcie-hisi.c index 386467a4f00f,02a4d66ca7ae..e3e4fedd9f68 --- a/drivers/pci/dwc/pcie-hisi.c +++ b/drivers/pci/dwc/pcie-hisi.c @@@ -136,10 -138,10 +138,10 @@@ struct pcie_soc_ops }; struct hisi_pcie { - struct pcie_port pp; /* pp.dbi_base is DT rc_dbi */ + struct dw_pcie *pci; struct regmap *subctrl; u32 port_id; - struct pcie_soc_ops *soc_ops; + const struct pcie_soc_ops *soc_ops; }; /* HipXX PCIe host only supports 32-bit config access */ @@@ -263,9 -259,8 +265,8 @@@ static const struct dw_pcie_ops dw_pcie static int hisi_pcie_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct dw_pcie *pci; struct hisi_pcie *hisi_pcie; - const struct of_device_id *match; - struct pcie_port *pp; struct resource *reg; struct device_driver *driver; int ret; @@@ -274,20 -269,14 +275,19 @@@ if (!hisi_pcie) return -ENOMEM; - pp = &hisi_pcie->pp; - pp->dev = dev; + pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL); + if (!pci) + return -ENOMEM; + + pci->dev = dev; + pci->ops = &dw_pcie_ops; + driver = dev->driver; - match = of_match_device(driver->of_match_table, dev); - hisi_pcie->soc_ops = (struct pcie_soc_ops *) match->data; + hisi_pcie->soc_ops = of_device_get_match_data(dev); hisi_pcie->subctrl = - syscon_regmap_lookup_by_compatible("hisilicon,pcie-sas-subctrl"); + syscon_regmap_lookup_by_compatible("hisilicon,pcie-sas-subctrl"); if (IS_ERR(hisi_pcie->subctrl)) { dev_err(dev, "cannot get subctrl base\n"); return PTR_ERR(hisi_pcie->subctrl);