mirror of https://gitee.com/openkylin/linux.git
Merge remote-tracking branch 'lorenzo/pci/keystone' into next
* lorenzo/pci/keystone: PCI: keystone: Fix interrupt-controller-node lookup
This commit is contained in:
commit
278a26b6e8
|
@ -178,7 +178,7 @@ static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
|
|||
}
|
||||
|
||||
/* interrupt controller is in a child node */
|
||||
*np_temp = of_find_node_by_name(np_pcie, controller);
|
||||
*np_temp = of_get_child_by_name(np_pcie, controller);
|
||||
if (!(*np_temp)) {
|
||||
dev_err(dev, "Node for %s is absent\n", controller);
|
||||
return -EINVAL;
|
||||
|
@ -187,6 +187,7 @@ static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
|
|||
temp = of_irq_count(*np_temp);
|
||||
if (!temp) {
|
||||
dev_err(dev, "No IRQ entries in %s\n", controller);
|
||||
of_node_put(*np_temp);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -204,6 +205,8 @@ static int ks_pcie_get_irq_controller_info(struct keystone_pcie *ks_pcie,
|
|||
break;
|
||||
}
|
||||
|
||||
of_node_put(*np_temp);
|
||||
|
||||
if (temp) {
|
||||
*num_irqs = temp;
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue