irqchip/gic-v3-its: Parse new version of msi-parent property
Now that 126b16e2ad
("Docs: dt: add generic MSI bindings")
has made it into the tree, the time has come to get rid of the
old hack, and to parse msi-parent in its full glory.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
This commit is contained in:
parent
c8d175883e
commit
deac7fc1c8
|
@ -29,13 +29,25 @@ static int its_pmsi_prepare(struct irq_domain *domain, struct device *dev,
|
|||
{
|
||||
struct msi_domain_info *msi_info;
|
||||
u32 dev_id;
|
||||
int ret;
|
||||
int ret, index = 0;
|
||||
|
||||
msi_info = msi_get_domain_info(domain->parent);
|
||||
|
||||
/* Suck the DeviceID out of the msi-parent property */
|
||||
ret = of_property_read_u32_index(dev->of_node, "msi-parent",
|
||||
1, &dev_id);
|
||||
do {
|
||||
struct of_phandle_args args;
|
||||
|
||||
ret = of_parse_phandle_with_args(dev->of_node,
|
||||
"msi-parent", "#msi-cells",
|
||||
index, &args);
|
||||
if (args.np == irq_domain_get_of_node(domain)) {
|
||||
if (WARN_ON(args.args_count != 1))
|
||||
return -EINVAL;
|
||||
dev_id = args.args[0];
|
||||
break;
|
||||
}
|
||||
} while (!ret);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
Loading…
Reference in New Issue