diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2015-09-18 15:07:40 +0200 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2015-10-16 14:07:13 +0200 |
commit | 61c08240a103000b75dcf7ef2cf03d552aa91fa3 (patch) | |
tree | 0cf570c5c4806a04ecc78279e63c559d5964fb3a /drivers/of | |
parent | of/irq: Add support code for multi-parent version of "msi-parent" (diff) | |
download | linux-61c08240a103000b75dcf7ef2cf03d552aa91fa3.tar.xz linux-61c08240a103000b75dcf7ef2cf03d552aa91fa3.zip |
of/irq: Use of_msi_get_domain instead of open-coded "msi-parent" parsing
Now that we have a function that implements the complexity of the
"msi-parent" property parsing, switch to that.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/irq.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 62cfdc2c86ac..89ebc612293d 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -580,26 +580,6 @@ err: } /** - * of_msi_configure - Set the msi_domain field of a device - * @dev: device structure to associate with an MSI irq domain - * @np: device node for that device - */ -void of_msi_configure(struct device *dev, struct device_node *np) -{ - struct device_node *msi_np; - struct irq_domain *d; - - msi_np = of_parse_phandle(np, "msi-parent", 0); - if (!msi_np) - return; - - d = irq_find_matching_host(msi_np, DOMAIN_BUS_PLATFORM_MSI); - if (!d) - d = irq_find_host(msi_np); - dev_set_msi_domain(dev, d); -} - -/** * of_msi_map_rid - Map a MSI requester ID for a device. * @dev: device for which the mapping is to be done. * @msi_np: device node of the expected msi controller. @@ -741,3 +721,14 @@ struct irq_domain *of_msi_get_domain(struct device *dev, return NULL; } + +/** + * of_msi_configure - Set the msi_domain field of a device + * @dev: device structure to associate with an MSI irq domain + * @np: device node for that device + */ +void of_msi_configure(struct device *dev, struct device_node *np) +{ + dev_set_msi_domain(dev, + of_msi_get_domain(dev, np, DOMAIN_BUS_PLATFORM_MSI)); +} |