diff --git a/drivers/of/property.c b/drivers/of/property.c index 923d6f88a99c..98c5042f352f 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1106,6 +1106,13 @@ static struct device_node *parse_interconnects(struct device_node *np, "#interconnect-cells"); } +static struct device_node *parse_iommus(struct device_node *np, + const char *prop_name, int index) +{ + return parse_prop_cells(np, prop_name, index, "iommus", + "#iommu-cells"); +} + static int strcmp_suffix(const char *str, const char *suffix) { unsigned int len, suffix_len; @@ -1151,6 +1158,7 @@ static const struct supplier_bindings bindings[] = { { .parse_prop = parse_clocks, }, { .parse_prop = parse_interconnects, }, { .parse_prop = parse_regulators, }, + { .parse_prop = parse_iommus, }, {}, };