3 Jun
2023
3 Jun
'23
8:27 p.m.
Tue, May 23, 2023 at 05:12:23PM +0200, Herve Codina kirjoitti:
An additional-devs subnode can be present in the simple-card top node. This subnode is used to declared some "virtual" additional devices.
Create related devices from this subnode and avoid this subnode presence to interfere with the already supported subnodes analysis.
...
+static int simple_populate_aux(struct asoc_simple_priv *priv) +{
- struct device *dev = simple_priv_to_dev(priv);
- struct device_node *node;
- struct device **ptr;
- int ret;
- node = of_get_child_by_name(dev->of_node, PREFIX "additional-devs");
- if (!node)
return 0;
- ptr = devres_alloc(simple_populate_aux_release, sizeof(*ptr), GFP_KERNEL);
- if (!ptr)
return -ENOMEM;
- ret = of_platform_populate(node, NULL, NULL, dev);
- if (ret) {
devres_free(ptr);
- } else {
*ptr = dev;
devres_add(dev, ptr);
- }
- return ret;
This can be well simplified by using devm_add_action_or_reset().
+}
--
With Best Regards,
Andy Shevchenko