static int cygnus_ssp_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct device_node *child_node;
struct cygnus_audio *cygaud;
int err;
int node_count;
active_port_count = 0;
- for_each_available_child_of_node(pdev->dev.of_node, child_node) {
+ for_each_available_child_of_node_scoped(pdev->dev.of_node, child_node) {
err = parse_ssp_child_node(pdev, child_node, cygaud,
&cygnus_ssp_dai[active_port_count]);
/* negative is err, 0 is active and good, 1 is disabled */
- if (err < 0) {
- of_node_put(child_node);
+ if (err < 0)
return err;
- }
- else if (!err) {
+
+ if (!err) {
dev_dbg(dev, "Activating DAI: %s\n",
cygnus_ssp_dai[active_port_count].name);
active_port_count++;