Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit deac7fc1 authored by Marc Zyngier's avatar Marc Zyngier
Browse files

irqchip/gic-v3-its: Parse new version of msi-parent property



Now that 126b16e2 ("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: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
parent c8d17588
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -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;