@@ -425,77 +425,6 @@ static int graph_for_each_link(struct asoc_simple_priv *priv,
425425 return ret ;
426426}
427427
428- static int graph_get_dais_count (struct asoc_simple_priv * priv ,
429- struct link_info * li );
430-
431- int audio_graph_parse_of (struct asoc_simple_priv * priv , struct device * dev )
432- {
433- struct snd_soc_card * card = simple_priv_to_card (priv );
434- struct link_info * li ;
435- int ret ;
436-
437- li = devm_kzalloc (dev , sizeof (* li ), GFP_KERNEL );
438- if (!li )
439- return - ENOMEM ;
440-
441- card -> owner = THIS_MODULE ;
442- card -> dev = dev ;
443-
444- ret = graph_get_dais_count (priv , li );
445- if (ret < 0 )
446- return ret ;
447-
448- if (!li -> link )
449- return - EINVAL ;
450-
451- ret = asoc_simple_init_priv (priv , li );
452- if (ret < 0 )
453- return ret ;
454-
455- priv -> pa_gpio = devm_gpiod_get_optional (dev , "pa" , GPIOD_OUT_LOW );
456- if (IS_ERR (priv -> pa_gpio )) {
457- ret = PTR_ERR (priv -> pa_gpio );
458- dev_err (dev , "failed to get amplifier gpio: %d\n" , ret );
459- return ret ;
460- }
461-
462- ret = asoc_simple_parse_widgets (card , NULL );
463- if (ret < 0 )
464- return ret ;
465-
466- ret = asoc_simple_parse_routing (card , NULL );
467- if (ret < 0 )
468- return ret ;
469-
470- memset (li , 0 , sizeof (* li ));
471- ret = graph_for_each_link (priv , li ,
472- graph_dai_link_of ,
473- graph_dai_link_of_dpcm );
474- if (ret < 0 )
475- goto err ;
476-
477- ret = asoc_simple_parse_card_name (card , NULL );
478- if (ret < 0 )
479- goto err ;
480-
481- snd_soc_card_set_drvdata (card , priv );
482-
483- asoc_simple_debug_info (priv );
484-
485- ret = devm_snd_soc_register_card (dev , card );
486- if (ret < 0 )
487- goto err ;
488-
489- devm_kfree (dev , li );
490- return 0 ;
491-
492- err :
493- asoc_simple_clean_reference (card );
494-
495- return dev_err_probe (dev , ret , "parse error\n" );
496- }
497- EXPORT_SYMBOL_GPL (audio_graph_parse_of );
498-
499428static int graph_count_noml (struct asoc_simple_priv * priv ,
500429 struct device_node * cpu_ep ,
501430 struct device_node * codec_ep ,
@@ -612,6 +541,74 @@ static int graph_get_dais_count(struct asoc_simple_priv *priv,
612541 graph_count_dpcm );
613542}
614543
544+ int audio_graph_parse_of (struct asoc_simple_priv * priv , struct device * dev )
545+ {
546+ struct snd_soc_card * card = simple_priv_to_card (priv );
547+ struct link_info * li ;
548+ int ret ;
549+
550+ li = devm_kzalloc (dev , sizeof (* li ), GFP_KERNEL );
551+ if (!li )
552+ return - ENOMEM ;
553+
554+ card -> owner = THIS_MODULE ;
555+ card -> dev = dev ;
556+
557+ ret = graph_get_dais_count (priv , li );
558+ if (ret < 0 )
559+ return ret ;
560+
561+ if (!li -> link )
562+ return - EINVAL ;
563+
564+ ret = asoc_simple_init_priv (priv , li );
565+ if (ret < 0 )
566+ return ret ;
567+
568+ priv -> pa_gpio = devm_gpiod_get_optional (dev , "pa" , GPIOD_OUT_LOW );
569+ if (IS_ERR (priv -> pa_gpio )) {
570+ ret = PTR_ERR (priv -> pa_gpio );
571+ dev_err (dev , "failed to get amplifier gpio: %d\n" , ret );
572+ return ret ;
573+ }
574+
575+ ret = asoc_simple_parse_widgets (card , NULL );
576+ if (ret < 0 )
577+ return ret ;
578+
579+ ret = asoc_simple_parse_routing (card , NULL );
580+ if (ret < 0 )
581+ return ret ;
582+
583+ memset (li , 0 , sizeof (* li ));
584+ ret = graph_for_each_link (priv , li ,
585+ graph_dai_link_of ,
586+ graph_dai_link_of_dpcm );
587+ if (ret < 0 )
588+ goto err ;
589+
590+ ret = asoc_simple_parse_card_name (card , NULL );
591+ if (ret < 0 )
592+ goto err ;
593+
594+ snd_soc_card_set_drvdata (card , priv );
595+
596+ asoc_simple_debug_info (priv );
597+
598+ ret = devm_snd_soc_register_card (dev , card );
599+ if (ret < 0 )
600+ goto err ;
601+
602+ devm_kfree (dev , li );
603+ return 0 ;
604+
605+ err :
606+ asoc_simple_clean_reference (card );
607+
608+ return dev_err_probe (dev , ret , "parse error\n" );
609+ }
610+ EXPORT_SYMBOL_GPL (audio_graph_parse_of );
611+
615612static int graph_probe (struct platform_device * pdev )
616613{
617614 struct asoc_simple_priv * priv ;
0 commit comments