[07/28] ASoC: soc-core: don't check widget for snd_soc_dapm_new_controls()
diff mbox series

Message ID 87r25z2ihd.wl-kuninori.morimoto.gx@renesas.com
State New
Headers show
Series
  • ASoC: cleanup patches for soc-core
Related show

Commit Message

Kuninori Morimoto Aug. 6, 2019, 1:28 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

snd_soc_dapm_new_controls() registers controls by using
for(... i < num; ...). It means if widget was NULL, num should be zero.
Thus, we don't need to check about widget pointer.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/soc-core.c | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

Comments

Ranjani Sridharan Aug. 6, 2019, 4:35 a.m. UTC | #1
On Tue, 2019-08-06 at 10:28 +0900, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> snd_soc_dapm_new_controls() registers controls by using
> for(... i < num; ...). It means if widget was NULL, num should be
> zero.
> Thus, we don't need to check about widget pointer.
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> ---
>  sound/soc/soc-core.c | 22 +++++++++-------------
>  1 file changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 6347d65..bdd6a2e 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1264,16 +1264,14 @@ static int soc_probe_component(struct
> snd_soc_card *card,
>  
>  	soc_init_component_debugfs(component);
>  
> -	if (component->driver->dapm_widgets) {
> -		ret = snd_soc_dapm_new_controls(dapm,
> +	ret = snd_soc_dapm_new_controls(dapm,
>  					component->driver-
> >dapm_widgets,
>  					component->driver-
> >num_dapm_widgets);
>  
> -		if (ret != 0) {
> -			dev_err(component->dev,
> -				"Failed to create new controls %d\n",
> ret);
> -			goto err_probe;
> -		}
> +	if (ret != 0) {
> +		dev_err(component->dev,
> +			"Failed to create new controls %d\n", ret);
> +		goto err_probe;
>  	}
>  
>  	for_each_component_dais(component, dai) {
> @@ -1989,13 +1987,11 @@ static int snd_soc_instantiate_card(struct
> snd_soc_card *card)
>  	INIT_WORK(&card->deferred_resume_work, soc_resume_deferred);
>  #endif
>  
> -	if (card->dapm_widgets)
> -		snd_soc_dapm_new_controls(&card->dapm, card-
> >dapm_widgets,
> -					  card->num_dapm_widgets);
> +	snd_soc_dapm_new_controls(&card->dapm, card->dapm_widgets,
> +				  card->num_dapm_widgets);
Should the return value be checked here?
>  
> -	if (card->of_dapm_widgets)
> -		snd_soc_dapm_new_controls(&card->dapm, card-
> >of_dapm_widgets,
> -					  card->num_of_dapm_widgets);
> +	snd_soc_dapm_new_controls(&card->dapm, card->of_dapm_widgets,
> +				  card->num_of_dapm_widgets);
and here?

Thanks,
Ranjani
Mark Brown Aug. 6, 2019, 6:07 p.m. UTC | #2
On Mon, Aug 05, 2019 at 09:35:58PM -0700, Ranjani Sridharan wrote:
> On Tue, 2019-08-06 at 10:28 +0900, Kuninori Morimoto wrote:

> > -	if (card->dapm_widgets)
> > -		snd_soc_dapm_new_controls(&card->dapm, card-
> > >dapm_widgets,
> > -					  card->num_dapm_widgets);
> > +	snd_soc_dapm_new_controls(&card->dapm, card->dapm_widgets,
> > +				  card->num_dapm_widgets);

> Should the return value be checked here?

Preexisting bug but yes.

Patch
diff mbox series

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 6347d65..bdd6a2e 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1264,16 +1264,14 @@  static int soc_probe_component(struct snd_soc_card *card,
 
 	soc_init_component_debugfs(component);
 
-	if (component->driver->dapm_widgets) {
-		ret = snd_soc_dapm_new_controls(dapm,
+	ret = snd_soc_dapm_new_controls(dapm,
 					component->driver->dapm_widgets,
 					component->driver->num_dapm_widgets);
 
-		if (ret != 0) {
-			dev_err(component->dev,
-				"Failed to create new controls %d\n", ret);
-			goto err_probe;
-		}
+	if (ret != 0) {
+		dev_err(component->dev,
+			"Failed to create new controls %d\n", ret);
+		goto err_probe;
 	}
 
 	for_each_component_dais(component, dai) {
@@ -1989,13 +1987,11 @@  static int snd_soc_instantiate_card(struct snd_soc_card *card)
 	INIT_WORK(&card->deferred_resume_work, soc_resume_deferred);
 #endif
 
-	if (card->dapm_widgets)
-		snd_soc_dapm_new_controls(&card->dapm, card->dapm_widgets,
-					  card->num_dapm_widgets);
+	snd_soc_dapm_new_controls(&card->dapm, card->dapm_widgets,
+				  card->num_dapm_widgets);
 
-	if (card->of_dapm_widgets)
-		snd_soc_dapm_new_controls(&card->dapm, card->of_dapm_widgets,
-					  card->num_of_dapm_widgets);
+	snd_soc_dapm_new_controls(&card->dapm, card->of_dapm_widgets,
+				  card->num_of_dapm_widgets);
 
 	/* initialise the sound card only once */
 	if (card->probe) {