mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 11:06:41 -05:00
PCI: Switch to irq_domain_create_linear()
irq_domain_add_linear() is going away as being obsolete now. Switch to the preferred irq_domain_create_linear(). That differs in the first parameter: It takes more generic struct fwnode_handle instead of struct device_node. Therefore, of_fwnode_handle() is added around the parameter. Note some of the users can likely use dev->fwnode directly instead of indirect of_fwnode_handle(dev->of_node). But dev->fwnode is not guaranteed to be set for all, so this has to be investigated on case to case basis (by people who can actually test with the HW). [ tglx: Fix up subject prefix and convert the new instance in dwc/pcie-amd-mdb.c ] Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250319092951.37667-30-jirislaby@kernel.org
This commit is contained in:
committed by
Thomas Gleixner
parent
e9bf225644
commit
4b5e1d9715
@@ -359,8 +359,8 @@ static int dra7xx_pcie_init_irq_domain(struct dw_pcie_rp *pp)
|
||||
|
||||
irq_set_chained_handler_and_data(pp->irq, dra7xx_pcie_msi_irq_handler,
|
||||
pp);
|
||||
dra7xx->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops, pp);
|
||||
dra7xx->irq_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node),
|
||||
PCI_NUM_INTX, &intx_domain_ops, pp);
|
||||
of_node_put(pcie_intc_node);
|
||||
if (!dra7xx->irq_domain) {
|
||||
dev_err(dev, "Failed to get a INTx IRQ domain\n");
|
||||
|
||||
@@ -761,7 +761,7 @@ static int ks_pcie_config_intx_irq(struct keystone_pcie *ks_pcie)
|
||||
ks_pcie);
|
||||
}
|
||||
|
||||
intx_irq_domain = irq_domain_add_linear(intc_np, PCI_NUM_INTX,
|
||||
intx_irq_domain = irq_domain_create_linear(of_fwnode_handle(intc_np), PCI_NUM_INTX,
|
||||
&ks_pcie_intx_irq_domain_ops, NULL);
|
||||
if (!intx_irq_domain) {
|
||||
dev_err(dev, "Failed to add irq domain for INTX irqs\n");
|
||||
|
||||
@@ -290,8 +290,8 @@ static int amd_mdb_pcie_init_irq_domains(struct amd_mdb_pcie *pcie,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
pcie->mdb_domain = irq_domain_add_linear(pcie_intc_node, 32,
|
||||
&event_domain_ops, pcie);
|
||||
pcie->mdb_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), 32,
|
||||
&event_domain_ops, pcie);
|
||||
if (!pcie->mdb_domain) {
|
||||
err = -ENOMEM;
|
||||
dev_err(dev, "Failed to add MDB domain\n");
|
||||
@@ -300,8 +300,8 @@ static int amd_mdb_pcie_init_irq_domains(struct amd_mdb_pcie *pcie,
|
||||
|
||||
irq_domain_update_bus_token(pcie->mdb_domain, DOMAIN_BUS_NEXUS);
|
||||
|
||||
pcie->intx_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&amd_intx_domain_ops, pcie);
|
||||
pcie->intx_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node),
|
||||
PCI_NUM_INTX, &amd_intx_domain_ops, pcie);
|
||||
if (!pcie->intx_domain) {
|
||||
err = -ENOMEM;
|
||||
dev_err(dev, "Failed to add INTx domain\n");
|
||||
|
||||
@@ -144,8 +144,8 @@ static int rockchip_pcie_init_irq_domain(struct rockchip_pcie *rockchip)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rockchip->irq_domain = irq_domain_add_linear(intc, PCI_NUM_INTX,
|
||||
&intx_domain_ops, rockchip);
|
||||
rockchip->irq_domain = irq_domain_create_linear(of_fwnode_handle(intc), PCI_NUM_INTX,
|
||||
&intx_domain_ops, rockchip);
|
||||
of_node_put(intc);
|
||||
if (!rockchip->irq_domain) {
|
||||
dev_err(dev, "failed to get a INTx IRQ domain\n");
|
||||
|
||||
@@ -279,7 +279,7 @@ static int uniphier_pcie_config_intx_irq(struct dw_pcie_rp *pp)
|
||||
goto out_put_node;
|
||||
}
|
||||
|
||||
pcie->intx_irq_domain = irq_domain_add_linear(np_intc, PCI_NUM_INTX,
|
||||
pcie->intx_irq_domain = irq_domain_create_linear(of_fwnode_handle(np_intc), PCI_NUM_INTX,
|
||||
&uniphier_intx_domain_ops, pp);
|
||||
if (!pcie->intx_irq_domain) {
|
||||
dev_err(pci->dev, "Failed to get INTx domain\n");
|
||||
|
||||
@@ -439,8 +439,8 @@ static int mobiveil_allocate_msi_domains(struct mobiveil_pcie *pcie)
|
||||
struct mobiveil_msi *msi = &pcie->rp.msi;
|
||||
|
||||
mutex_init(&msi->lock);
|
||||
msi->dev_domain = irq_domain_add_linear(NULL, msi->num_of_vectors,
|
||||
&msi_domain_ops, pcie);
|
||||
msi->dev_domain = irq_domain_create_linear(NULL, msi->num_of_vectors,
|
||||
&msi_domain_ops, pcie);
|
||||
if (!msi->dev_domain) {
|
||||
dev_err(dev, "failed to create IRQ domain\n");
|
||||
return -ENOMEM;
|
||||
@@ -461,12 +461,11 @@ static int mobiveil_allocate_msi_domains(struct mobiveil_pcie *pcie)
|
||||
static int mobiveil_pcie_init_irq_domain(struct mobiveil_pcie *pcie)
|
||||
{
|
||||
struct device *dev = &pcie->pdev->dev;
|
||||
struct device_node *node = dev->of_node;
|
||||
struct mobiveil_root_port *rp = &pcie->rp;
|
||||
|
||||
/* setup INTx */
|
||||
rp->intx_domain = irq_domain_add_linear(node, PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
rp->intx_domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
|
||||
if (!rp->intx_domain) {
|
||||
dev_err(dev, "Failed to get a INTx IRQ domain\n");
|
||||
|
||||
@@ -1456,9 +1456,8 @@ static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
|
||||
raw_spin_lock_init(&pcie->msi_irq_lock);
|
||||
mutex_init(&pcie->msi_used_lock);
|
||||
|
||||
pcie->msi_inner_domain =
|
||||
irq_domain_add_linear(NULL, MSI_IRQ_NUM,
|
||||
&advk_msi_domain_ops, pcie);
|
||||
pcie->msi_inner_domain = irq_domain_create_linear(NULL, MSI_IRQ_NUM,
|
||||
&advk_msi_domain_ops, pcie);
|
||||
if (!pcie->msi_inner_domain)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -1508,9 +1507,8 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie)
|
||||
irq_chip->irq_mask = advk_pcie_irq_mask;
|
||||
irq_chip->irq_unmask = advk_pcie_irq_unmask;
|
||||
|
||||
pcie->irq_domain =
|
||||
irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&advk_pcie_irq_domain_ops, pcie);
|
||||
pcie->irq_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), PCI_NUM_INTX,
|
||||
&advk_pcie_irq_domain_ops, pcie);
|
||||
if (!pcie->irq_domain) {
|
||||
dev_err(dev, "Failed to get a INTx IRQ domain\n");
|
||||
ret = -ENOMEM;
|
||||
@@ -1549,9 +1547,7 @@ static const struct irq_domain_ops advk_pcie_rp_irq_domain_ops = {
|
||||
|
||||
static int advk_pcie_init_rp_irq_domain(struct advk_pcie *pcie)
|
||||
{
|
||||
pcie->rp_irq_domain = irq_domain_add_linear(NULL, 1,
|
||||
&advk_pcie_rp_irq_domain_ops,
|
||||
pcie);
|
||||
pcie->rp_irq_domain = irq_domain_create_linear(NULL, 1, &advk_pcie_rp_irq_domain_ops, pcie);
|
||||
if (!pcie->rp_irq_domain) {
|
||||
dev_err(&pcie->pdev->dev, "Failed to add Root Port IRQ domain\n");
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -345,8 +345,8 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p)
|
||||
return irq ?: -EINVAL;
|
||||
}
|
||||
|
||||
p->irqdomain = irq_domain_add_linear(intc, PCI_NUM_INTX,
|
||||
&faraday_pci_irqdomain_ops, p);
|
||||
p->irqdomain = irq_domain_create_linear(of_fwnode_handle(intc), PCI_NUM_INTX,
|
||||
&faraday_pci_irqdomain_ops, p);
|
||||
of_node_put(intc);
|
||||
if (!p->irqdomain) {
|
||||
dev_err(p->dev, "failed to create Gemini PCI IRQ domain\n");
|
||||
|
||||
@@ -1078,9 +1078,9 @@ static int mvebu_pcie_init_irq_domain(struct mvebu_pcie_port *port)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
port->intx_irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&mvebu_pcie_intx_irq_domain_ops,
|
||||
port);
|
||||
port->intx_irq_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node),
|
||||
PCI_NUM_INTX,
|
||||
&mvebu_pcie_intx_irq_domain_ops, port);
|
||||
of_node_put(pcie_intc_node);
|
||||
if (!port->intx_irq_domain) {
|
||||
dev_err(dev, "Failed to get INTx IRQ domain for %s\n", port->name);
|
||||
|
||||
@@ -166,7 +166,7 @@ static int altera_allocate_domains(struct altera_msi *msi)
|
||||
{
|
||||
struct fwnode_handle *fwnode = of_fwnode_handle(msi->pdev->dev.of_node);
|
||||
|
||||
msi->inner_domain = irq_domain_add_linear(NULL, msi->num_of_vectors,
|
||||
msi->inner_domain = irq_domain_create_linear(NULL, msi->num_of_vectors,
|
||||
&msi_domain_ops, msi);
|
||||
if (!msi->inner_domain) {
|
||||
dev_err(&msi->pdev->dev, "failed to create IRQ domain\n");
|
||||
|
||||
@@ -855,7 +855,7 @@ static int altera_pcie_init_irq_domain(struct altera_pcie *pcie)
|
||||
struct device_node *node = dev->of_node;
|
||||
|
||||
/* Setup INTx */
|
||||
pcie->irq_domain = irq_domain_add_linear(node, PCI_NUM_INTX,
|
||||
pcie->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
if (!pcie->irq_domain) {
|
||||
dev_err(dev, "Failed to get a INTx IRQ domain\n");
|
||||
|
||||
@@ -584,7 +584,7 @@ static int brcm_allocate_domains(struct brcm_msi *msi)
|
||||
struct fwnode_handle *fwnode = of_fwnode_handle(msi->np);
|
||||
struct device *dev = msi->dev;
|
||||
|
||||
msi->inner_domain = irq_domain_add_linear(NULL, msi->nr, &msi_domain_ops, msi);
|
||||
msi->inner_domain = irq_domain_create_linear(NULL, msi->nr, &msi_domain_ops, msi);
|
||||
if (!msi->inner_domain) {
|
||||
dev_err(dev, "failed to create IRQ domain\n");
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -446,8 +446,8 @@ static void iproc_msi_disable(struct iproc_msi *msi)
|
||||
static int iproc_msi_alloc_domains(struct device_node *node,
|
||||
struct iproc_msi *msi)
|
||||
{
|
||||
msi->inner_domain = irq_domain_add_linear(NULL, msi->nr_msi_vecs,
|
||||
&msi_domain_ops, msi);
|
||||
msi->inner_domain = irq_domain_create_linear(NULL, msi->nr_msi_vecs,
|
||||
&msi_domain_ops, msi);
|
||||
if (!msi->inner_domain)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
@@ -745,8 +745,8 @@ static int mtk_pcie_init_irq_domains(struct mtk_gen3_pcie *pcie)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
pcie->intx_domain = irq_domain_add_linear(intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
pcie->intx_domain = irq_domain_create_linear(of_fwnode_handle(intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
if (!pcie->intx_domain) {
|
||||
dev_err(dev, "failed to create INTx IRQ domain\n");
|
||||
ret = -ENODEV;
|
||||
@@ -756,8 +756,9 @@ static int mtk_pcie_init_irq_domains(struct mtk_gen3_pcie *pcie)
|
||||
/* Setup MSI */
|
||||
mutex_init(&pcie->lock);
|
||||
|
||||
pcie->msi_bottom_domain = irq_domain_add_linear(node, PCIE_MSI_IRQS_NUM,
|
||||
&mtk_msi_bottom_domain_ops, pcie);
|
||||
pcie->msi_bottom_domain = irq_domain_create_linear(of_fwnode_handle(node),
|
||||
PCIE_MSI_IRQS_NUM,
|
||||
&mtk_msi_bottom_domain_ops, pcie);
|
||||
if (!pcie->msi_bottom_domain) {
|
||||
dev_err(dev, "failed to create MSI bottom domain\n");
|
||||
ret = -ENODEV;
|
||||
|
||||
@@ -569,8 +569,8 @@ static int mtk_pcie_init_irq_domain(struct mtk_pcie_port *port,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
port->irq_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
of_node_put(pcie_intc_node);
|
||||
if (!port->irq_domain) {
|
||||
dev_err(dev, "failed to get INTx IRQ domain\n");
|
||||
|
||||
@@ -693,8 +693,8 @@ static int rockchip_pcie_init_irq_domain(struct rockchip_pcie *rockchip)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
rockchip->irq_domain = irq_domain_add_linear(intc, PCI_NUM_INTX,
|
||||
&intx_domain_ops, rockchip);
|
||||
rockchip->irq_domain = irq_domain_create_linear(of_fwnode_handle(intc), PCI_NUM_INTX,
|
||||
&intx_domain_ops, rockchip);
|
||||
of_node_put(intc);
|
||||
if (!rockchip->irq_domain) {
|
||||
dev_err(dev, "failed to get a INTx IRQ domain\n");
|
||||
|
||||
@@ -395,17 +395,15 @@ static int xilinx_cpm_pcie_init_irq_domain(struct xilinx_cpm_pcie *port)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
port->cpm_domain = irq_domain_add_linear(pcie_intc_node, 32,
|
||||
&event_domain_ops,
|
||||
port);
|
||||
port->cpm_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), 32,
|
||||
&event_domain_ops, port);
|
||||
if (!port->cpm_domain)
|
||||
goto out;
|
||||
|
||||
irq_domain_update_bus_token(port->cpm_domain, DOMAIN_BUS_NEXUS);
|
||||
|
||||
port->intx_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops,
|
||||
port);
|
||||
port->intx_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
if (!port->intx_domain)
|
||||
goto out;
|
||||
|
||||
|
||||
@@ -472,8 +472,8 @@ static int xilinx_pl_dma_pcie_init_msi_irq_domain(struct pl_dma_pcie *port)
|
||||
int size = BITS_TO_LONGS(XILINX_NUM_MSI_IRQS) * sizeof(long);
|
||||
struct fwnode_handle *fwnode = of_fwnode_handle(port->dev->of_node);
|
||||
|
||||
msi->dev_domain = irq_domain_add_linear(NULL, XILINX_NUM_MSI_IRQS,
|
||||
&dev_msi_domain_ops, port);
|
||||
msi->dev_domain = irq_domain_create_linear(NULL, XILINX_NUM_MSI_IRQS,
|
||||
&dev_msi_domain_ops, port);
|
||||
if (!msi->dev_domain)
|
||||
goto out;
|
||||
|
||||
@@ -585,15 +585,15 @@ static int xilinx_pl_dma_pcie_init_irq_domain(struct pl_dma_pcie *port)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
port->pldma_domain = irq_domain_add_linear(pcie_intc_node, 32,
|
||||
&event_domain_ops, port);
|
||||
port->pldma_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), 32,
|
||||
&event_domain_ops, port);
|
||||
if (!port->pldma_domain)
|
||||
return -ENOMEM;
|
||||
|
||||
irq_domain_update_bus_token(port->pldma_domain, DOMAIN_BUS_NEXUS);
|
||||
|
||||
port->intx_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
port->intx_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
if (!port->intx_domain) {
|
||||
dev_err(dev, "Failed to get a INTx IRQ domain\n");
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -498,8 +498,7 @@ static int nwl_pcie_init_msi_irq_domain(struct nwl_pcie *pcie)
|
||||
struct fwnode_handle *fwnode = of_fwnode_handle(dev->of_node);
|
||||
struct nwl_msi *msi = &pcie->msi;
|
||||
|
||||
msi->dev_domain = irq_domain_add_linear(NULL, INT_PCI_MSI_NR,
|
||||
&dev_msi_domain_ops, pcie);
|
||||
msi->dev_domain = irq_domain_create_linear(NULL, INT_PCI_MSI_NR, &dev_msi_domain_ops, pcie);
|
||||
if (!msi->dev_domain) {
|
||||
dev_err(dev, "failed to create dev IRQ domain\n");
|
||||
return -ENOMEM;
|
||||
@@ -582,10 +581,8 @@ static int nwl_pcie_init_irq_domain(struct nwl_pcie *pcie)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
pcie->intx_irq_domain = irq_domain_add_linear(intc_node,
|
||||
PCI_NUM_INTX,
|
||||
&intx_domain_ops,
|
||||
pcie);
|
||||
pcie->intx_irq_domain = irq_domain_create_linear(of_fwnode_handle(intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
of_node_put(intc_node);
|
||||
if (!pcie->intx_irq_domain) {
|
||||
dev_err(dev, "failed to create IRQ domain\n");
|
||||
|
||||
@@ -461,9 +461,8 @@ static int xilinx_pcie_init_irq_domain(struct xilinx_pcie *pcie)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
pcie->leg_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops,
|
||||
pcie);
|
||||
pcie->leg_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, pcie);
|
||||
of_node_put(pcie_intc_node);
|
||||
if (!pcie->leg_domain) {
|
||||
dev_err(dev, "Failed to get a INTx IRQ domain\n");
|
||||
|
||||
@@ -155,8 +155,7 @@ static int plda_allocate_msi_domains(struct plda_pcie_rp *port)
|
||||
|
||||
mutex_init(&port->msi.lock);
|
||||
|
||||
msi->dev_domain = irq_domain_add_linear(NULL, msi->num_vectors,
|
||||
&msi_domain_ops, port);
|
||||
msi->dev_domain = irq_domain_create_linear(NULL, msi->num_vectors, &msi_domain_ops, port);
|
||||
if (!msi->dev_domain) {
|
||||
dev_err(dev, "failed to create IRQ domain\n");
|
||||
return -ENOMEM;
|
||||
@@ -393,10 +392,9 @@ static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
port->event_domain = irq_domain_add_linear(pcie_intc_node,
|
||||
port->num_events,
|
||||
&plda_event_domain_ops,
|
||||
port);
|
||||
port->event_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node),
|
||||
port->num_events, &plda_event_domain_ops,
|
||||
port);
|
||||
if (!port->event_domain) {
|
||||
dev_err(dev, "failed to get event domain\n");
|
||||
of_node_put(pcie_intc_node);
|
||||
@@ -405,8 +403,8 @@ static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
|
||||
|
||||
irq_domain_update_bus_token(port->event_domain, DOMAIN_BUS_NEXUS);
|
||||
|
||||
port->intx_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
port->intx_domain = irq_domain_create_linear(of_fwnode_handle(pcie_intc_node), PCI_NUM_INTX,
|
||||
&intx_domain_ops, port);
|
||||
if (!port->intx_domain) {
|
||||
dev_err(dev, "failed to get an INTx IRQ domain\n");
|
||||
of_node_put(pcie_intc_node);
|
||||
|
||||
Reference in New Issue
Block a user