Simplify advk_pcie_init_irq_domain() function. Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> Reviewed-by: Marek Behún <kabel@xxxxxxxxxx> --- drivers/pci/controller/pci-aardvark.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index c50421af9d06..366d7480bc1b 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1013,7 +1013,6 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) struct device_node *node = dev->of_node; struct device_node *pcie_intc_node; struct irq_chip *irq_chip; - int ret = 0; pcie_intc_node = of_get_next_child(node, NULL); if (!pcie_intc_node) { @@ -1029,15 +1028,15 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) pcie->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, &advk_pcie_irq_domain_ops, pcie); + + of_node_put(pcie_intc_node); + if (!pcie->irq_domain) { dev_err(dev, "Failed to get a INTx IRQ domain\n"); - ret = -ENOMEM; - goto out_put_node; + return -ENOMEM; } -out_put_node: - of_node_put(pcie_intc_node); - return ret; + return 0; } static void advk_pcie_remove_irq_domain(struct advk_pcie *pcie) -- 2.20.1