.../mediatek/common/mtk-soundcard-driver.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-)
Using for_each_available_child_of_node_scoped() allows us to get rid of
of_node_put() calls from early returns or breaks in the loop. It also
fixes issues with missing of_node_put() calls.
Switch to for_each_available_child_of_node_scoped() in parse_dai_link_info().
Also drop the braces around if blocks now that the inner block is just
one statement.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Dropped unused variable
---
.../mediatek/common/mtk-soundcard-driver.c | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/sound/soc/mediatek/common/mtk-soundcard-driver.c b/sound/soc/mediatek/common/mtk-soundcard-driver.c
index 95a083939f3e..a2a30a87a359 100644
--- a/sound/soc/mediatek/common/mtk-soundcard-driver.c
+++ b/sound/soc/mediatek/common/mtk-soundcard-driver.c
@@ -89,40 +89,31 @@ static int set_dailink_daifmt(struct snd_soc_card *card,
int parse_dai_link_info(struct snd_soc_card *card)
{
struct device *dev = card->dev;
- struct device_node *sub_node;
struct snd_soc_dai_link *dai_link;
const char *dai_link_name;
int ret, i;
/* Loop over all the dai link sub nodes */
- for_each_available_child_of_node(dev->of_node, sub_node) {
+ for_each_available_child_of_node_scoped(dev->of_node, sub_node) {
if (of_property_read_string(sub_node, "link-name",
- &dai_link_name)) {
- of_node_put(sub_node);
+ &dai_link_name))
return -EINVAL;
- }
for_each_card_prelinks(card, i, dai_link) {
if (!strcmp(dai_link_name, dai_link->name))
break;
}
- if (i >= card->num_links) {
- of_node_put(sub_node);
+ if (i >= card->num_links)
return -EINVAL;
- }
ret = set_card_codec_info(card, sub_node, dai_link);
- if (ret < 0) {
- of_node_put(sub_node);
+ if (ret < 0)
return ret;
- }
ret = set_dailink_daifmt(card, sub_node, dai_link);
- if (ret < 0) {
- of_node_put(sub_node);
+ if (ret < 0)
return ret;
- }
}
return 0;
--
2.51.0.261.g7ce5a0a67e-goog
On Mon, 25 Aug 2025 23:11:09 +0800, Chen-Yu Tsai wrote: > Using for_each_available_child_of_node_scoped() allows us to get rid of > of_node_put() calls from early returns or breaks in the loop. It also > fixes issues with missing of_node_put() calls. > > Switch to for_each_available_child_of_node_scoped() in parse_dai_link_info(). > Also drop the braces around if blocks now that the inner block is just > one statement. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: mediatek: common: Switch to for_each_available_child_of_node_scoped() commit: b088b6189a4066b97cef459afd312fd168a76dea All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
On Mon, Aug 25, 2025 at 11:55 PM Chen-Yu Tsai <wenst@chromium.org> wrote: > > Using for_each_available_child_of_node_scoped() allows us to get rid of > of_node_put() calls from early returns or breaks in the loop. It also > fixes issues with missing of_node_put() calls. > > Switch to for_each_available_child_of_node_scoped() in parse_dai_link_info(). > Also drop the braces around if blocks now that the inner block is just > one statement. > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > --- > Changes since v1: > - Dropped unused variable > --- > .../mediatek/common/mtk-soundcard-driver.c | 19 +++++-------------- > 1 file changed, 5 insertions(+), 14 deletions(-) Reviewed-by: Fei Shao <fshao@chromium.org>
© 2016 - 2025 Red Hat, Inc.