@@ -648,23 +648,23 @@ static int graph_parse_node_multi(struct simple_util_priv *priv,
648648
649649static int graph_parse_node_single (struct simple_util_priv * priv ,
650650 enum graph_type gtype ,
651- struct device_node * port ,
651+ struct device_node * ep ,
652652 struct link_info * li , int is_cpu )
653653{
654- struct device_node * ep __free (device_node ) = of_graph_get_next_port_endpoint (port , NULL );
655-
656654 return __graph_parse_node (priv , gtype , ep , li , is_cpu , 0 );
657655}
658656
659657static int graph_parse_node (struct simple_util_priv * priv ,
660658 enum graph_type gtype ,
661- struct device_node * port ,
659+ struct device_node * ep ,
662660 struct link_info * li , int is_cpu )
663661{
662+ struct device_node * port __free (device_node ) = ep_to_port (ep );
663+
664664 if (graph_lnk_is_multi (port ))
665665 return graph_parse_node_multi (priv , gtype , port , li , is_cpu );
666666 else
667- return graph_parse_node_single (priv , gtype , port , li , is_cpu );
667+ return graph_parse_node_single (priv , gtype , ep , li , is_cpu );
668668}
669669
670670static void graph_parse_daifmt (struct device_node * node , unsigned int * daifmt )
@@ -722,14 +722,15 @@ static unsigned int graph_parse_bitframe(struct device_node *ep)
722722
723723static void graph_link_init (struct simple_util_priv * priv ,
724724 struct device_node * lnk ,
725- struct device_node * port_cpu ,
726- struct device_node * port_codec ,
725+ struct device_node * ep_cpu ,
726+ struct device_node * ep_codec ,
727727 struct link_info * li ,
728728 int is_cpu_node )
729729{
730730 struct snd_soc_dai_link * dai_link = simple_priv_to_link (priv , li -> link );
731731 struct simple_dai_props * dai_props = simple_priv_to_props (priv , li -> link );
732- struct device_node * ep_cpu , * ep_codec ;
732+ struct device_node * port_cpu = ep_to_port (ep_cpu );
733+ struct device_node * port_codec = ep_to_port (ep_codec );
733734 struct device_node * multi_cpu_port = NULL , * multi_codec_port = NULL ;
734735 struct snd_soc_dai_link_component * dlc ;
735736 unsigned int daifmt = 0 ;
@@ -739,25 +740,23 @@ static void graph_link_init(struct simple_util_priv *priv,
739740 int multi_cpu_port_idx = 1 , multi_codec_port_idx = 1 ;
740741 int i ;
741742
742- of_node_get (port_cpu );
743743 if (graph_lnk_is_multi (port_cpu )) {
744744 multi_cpu_port = port_cpu ;
745745 ep_cpu = graph_get_next_multi_ep (& multi_cpu_port , multi_cpu_port_idx ++ );
746746 of_node_put (port_cpu );
747747 port_cpu = ep_to_port (ep_cpu );
748748 } else {
749- ep_cpu = of_graph_get_next_port_endpoint ( port_cpu , NULL );
749+ of_node_get ( ep_cpu );
750750 }
751751 struct device_node * ports_cpu __free (device_node ) = port_to_ports (port_cpu );
752752
753- of_node_get (port_codec );
754753 if (graph_lnk_is_multi (port_codec )) {
755754 multi_codec_port = port_codec ;
756755 ep_codec = graph_get_next_multi_ep (& multi_codec_port , multi_codec_port_idx ++ );
757756 of_node_put (port_codec );
758757 port_codec = ep_to_port (ep_codec );
759758 } else {
760- ep_codec = of_graph_get_next_port_endpoint ( port_codec , NULL );
759+ of_node_get ( ep_codec );
761760 }
762761 struct device_node * ports_codec __free (device_node ) = port_to_ports (port_codec );
763762
@@ -833,26 +832,26 @@ int audio_graph2_link_normal(struct simple_util_priv *priv,
833832{
834833 struct device_node * cpu_port = lnk ;
835834 struct device_node * cpu_ep __free (device_node ) = of_graph_get_next_port_endpoint (cpu_port , NULL );
836- struct device_node * codec_port __free (device_node ) = of_graph_get_remote_port (cpu_ep );
835+ struct device_node * codec_ep __free (device_node ) = of_graph_get_remote_endpoint (cpu_ep );
837836 int ret ;
838837
839838 /*
840839 * call Codec first.
841840 * see
842841 * __graph_parse_node() :: DAI Naming
843842 */
844- ret = graph_parse_node (priv , GRAPH_NORMAL , codec_port , li , 0 );
843+ ret = graph_parse_node (priv , GRAPH_NORMAL , codec_ep , li , 0 );
845844 if (ret < 0 )
846845 return ret ;
847846
848847 /*
849848 * call CPU, and set DAI Name
850849 */
851- ret = graph_parse_node (priv , GRAPH_NORMAL , cpu_port , li , 1 );
850+ ret = graph_parse_node (priv , GRAPH_NORMAL , cpu_ep , li , 1 );
852851 if (ret < 0 )
853852 return ret ;
854853
855- graph_link_init (priv , lnk , cpu_port , codec_port , li , 1 );
854+ graph_link_init (priv , lnk , cpu_ep , codec_ep , li , 1 );
856855
857856 return ret ;
858857}
@@ -864,15 +863,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,
864863{
865864 struct device_node * ep __free (device_node ) = of_graph_get_next_port_endpoint (lnk , NULL );
866865 struct device_node * rep __free (device_node ) = of_graph_get_remote_endpoint (ep );
867- struct device_node * cpu_port = NULL ;
868- struct device_node * codec_port = NULL ;
866+ struct device_node * cpu_ep = NULL ;
867+ struct device_node * codec_ep = NULL ;
869868 struct snd_soc_dai_link * dai_link = simple_priv_to_link (priv , li -> link );
870869 struct simple_dai_props * dai_props = simple_priv_to_props (priv , li -> link );
871870 int is_cpu = graph_util_is_ports0 (lnk );
872871 int ret ;
873872
874873 if (is_cpu ) {
875- cpu_port = of_graph_get_remote_port ( ep ); /* rport */
874+ cpu_ep = rep ;
876875
877876 /*
878877 * dpcm {
@@ -901,12 +900,12 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,
901900 dai_link -> dynamic = 1 ;
902901 dai_link -> dpcm_merged_format = 1 ;
903902
904- ret = graph_parse_node (priv , GRAPH_DPCM , cpu_port , li , 1 );
903+ ret = graph_parse_node (priv , GRAPH_DPCM , cpu_ep , li , 1 );
905904 if (ret )
906- goto err ;
905+ return ret ;
907906
908907 } else {
909- codec_port = of_graph_get_remote_port ( ep ); /* rport */
908+ codec_ep = rep ;
910909
911910 /*
912911 * dpcm {
@@ -937,18 +936,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,
937936 dai_link -> no_pcm = 1 ;
938937 dai_link -> be_hw_params_fixup = simple_util_be_hw_params_fixup ;
939938
940- ret = graph_parse_node (priv , GRAPH_DPCM , codec_port , li , 0 );
939+ ret = graph_parse_node (priv , GRAPH_DPCM , codec_ep , li , 0 );
941940 if (ret < 0 )
942- goto err ;
941+ return ret ;
943942 }
944943
945944 graph_parse_convert (ep , dai_props ); /* at node of <dpcm> */
946945 graph_parse_convert (rep , dai_props ); /* at node of <CPU/Codec> */
947946
948- graph_link_init (priv , lnk , cpu_port , codec_port , li , is_cpu );
949- err :
950- of_node_put (cpu_port );
951- of_node_put (codec_port );
947+ graph_link_init (priv , lnk , cpu_ep , codec_ep , li , is_cpu );
952948
953949 return ret ;
954950}
@@ -1013,26 +1009,26 @@ int audio_graph2_link_c2c(struct simple_util_priv *priv,
10131009 struct device_node * ep0 __free (device_node ) = of_graph_get_next_port_endpoint (port0 , NULL );
10141010 struct device_node * ep1 __free (device_node ) = of_graph_get_next_port_endpoint (port1 , NULL );
10151011
1016- struct device_node * codec0_port __free (device_node ) = of_graph_get_remote_port (ep0 );
1017- struct device_node * codec1_port __free (device_node ) = of_graph_get_remote_port (ep1 );
1012+ struct device_node * codec0_ep __free (device_node ) = of_graph_get_remote_endpoint (ep0 );
1013+ struct device_node * codec1_ep __free (device_node ) = of_graph_get_remote_endpoint (ep1 );
10181014
10191015 /*
10201016 * call Codec first.
10211017 * see
10221018 * __graph_parse_node() :: DAI Naming
10231019 */
1024- ret = graph_parse_node (priv , GRAPH_C2C , codec1_port , li , 0 );
1020+ ret = graph_parse_node (priv , GRAPH_C2C , codec1_ep , li , 0 );
10251021 if (ret < 0 )
10261022 return ret ;
10271023
10281024 /*
10291025 * call CPU, and set DAI Name
10301026 */
1031- ret = graph_parse_node (priv , GRAPH_C2C , codec0_port , li , 1 );
1027+ ret = graph_parse_node (priv , GRAPH_C2C , codec0_ep , li , 1 );
10321028 if (ret < 0 )
10331029 return ret ;
10341030
1035- graph_link_init (priv , lnk , codec0_port , codec1_port , li , 1 );
1031+ graph_link_init (priv , lnk , codec0_ep , codec1_ep , li , 1 );
10361032
10371033 return ret ;
10381034}
0 commit comments