diff options
Diffstat (limited to 'drivers/of/property.c')
-rw-r--r-- | drivers/of/property.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/of/property.c b/drivers/of/property.c index e851c57a15b0..b4916dcc9e72 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1204,6 +1204,8 @@ DEFINE_SIMPLE_PROP(mboxes, "mboxes", "#mbox-cells") DEFINE_SIMPLE_PROP(io_channels, "io-channel", "#io-channel-cells") DEFINE_SIMPLE_PROP(interrupt_parent, "interrupt-parent", NULL) DEFINE_SIMPLE_PROP(dmas, "dmas", "#dma-cells") +DEFINE_SIMPLE_PROP(power_domains, "power-domains", "#power-domain-cells") +DEFINE_SIMPLE_PROP(hwlocks, "hwlocks", "#hwlock-cells") DEFINE_SUFFIX_PROP(regulators, "-supply", NULL) DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells") DEFINE_SUFFIX_PROP(gpios, "-gpios", "#gpio-cells") @@ -1226,6 +1228,8 @@ static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_io_channels, }, { .parse_prop = parse_interrupt_parent, }, { .parse_prop = parse_dmas, }, + { .parse_prop = parse_power_domains, }, + { .parse_prop = parse_hwlocks, }, { .parse_prop = parse_regulators, }, { .parse_prop = parse_gpio, }, { .parse_prop = parse_gpios, }, @@ -1262,7 +1266,7 @@ static int of_link_property(struct device *dev, struct device_node *con_np, u32 dl_flags; if (dev->of_node == con_np) - dl_flags = DL_FLAG_AUTOPROBE_CONSUMER; + dl_flags = fw_devlink_get_flags(); else dl_flags = DL_FLAG_SYNC_STATE_ONLY; @@ -1299,15 +1303,9 @@ static int of_link_to_suppliers(struct device *dev, return ret; } -static bool of_devlink; -core_param(of_devlink, of_devlink, bool, 0); - static int of_fwnode_add_links(const struct fwnode_handle *fwnode, struct device *dev) { - if (!of_devlink) - return 0; - if (unlikely(!is_of_node(fwnode))) return 0; |