@@ -648,23 +648,23 @@ static int graph_parse_node_multi(struct simple_util_priv *priv,
648
648
649
649
static int graph_parse_node_single (struct simple_util_priv * priv ,
650
650
enum graph_type gtype ,
651
- struct device_node * port ,
651
+ struct device_node * ep ,
652
652
struct link_info * li , int is_cpu )
653
653
{
654
- struct device_node * ep __free (device_node ) = of_graph_get_next_port_endpoint (port , NULL );
655
-
656
654
return __graph_parse_node (priv , gtype , ep , li , is_cpu , 0 );
657
655
}
658
656
659
657
static int graph_parse_node (struct simple_util_priv * priv ,
660
658
enum graph_type gtype ,
661
- struct device_node * port ,
659
+ struct device_node * ep ,
662
660
struct link_info * li , int is_cpu )
663
661
{
662
+ struct device_node * port __free (device_node ) = ep_to_port (ep );
663
+
664
664
if (graph_lnk_is_multi (port ))
665
665
return graph_parse_node_multi (priv , gtype , port , li , is_cpu );
666
666
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 );
668
668
}
669
669
670
670
static 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)
722
722
723
723
static void graph_link_init (struct simple_util_priv * priv ,
724
724
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 ,
727
727
struct link_info * li ,
728
728
int is_cpu_node )
729
729
{
730
730
struct snd_soc_dai_link * dai_link = simple_priv_to_link (priv , li -> link );
731
731
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 );
733
734
struct device_node * multi_cpu_port = NULL , * multi_codec_port = NULL ;
734
735
struct snd_soc_dai_link_component * dlc ;
735
736
unsigned int daifmt = 0 ;
@@ -739,25 +740,23 @@ static void graph_link_init(struct simple_util_priv *priv,
739
740
int multi_cpu_port_idx = 1 , multi_codec_port_idx = 1 ;
740
741
int i ;
741
742
742
- of_node_get (port_cpu );
743
743
if (graph_lnk_is_multi (port_cpu )) {
744
744
multi_cpu_port = port_cpu ;
745
745
ep_cpu = graph_get_next_multi_ep (& multi_cpu_port , multi_cpu_port_idx ++ );
746
746
of_node_put (port_cpu );
747
747
port_cpu = ep_to_port (ep_cpu );
748
748
} else {
749
- ep_cpu = of_graph_get_next_port_endpoint ( port_cpu , NULL );
749
+ of_node_get ( ep_cpu );
750
750
}
751
751
struct device_node * ports_cpu __free (device_node ) = port_to_ports (port_cpu );
752
752
753
- of_node_get (port_codec );
754
753
if (graph_lnk_is_multi (port_codec )) {
755
754
multi_codec_port = port_codec ;
756
755
ep_codec = graph_get_next_multi_ep (& multi_codec_port , multi_codec_port_idx ++ );
757
756
of_node_put (port_codec );
758
757
port_codec = ep_to_port (ep_codec );
759
758
} else {
760
- ep_codec = of_graph_get_next_port_endpoint ( port_codec , NULL );
759
+ of_node_get ( ep_codec );
761
760
}
762
761
struct device_node * ports_codec __free (device_node ) = port_to_ports (port_codec );
763
762
@@ -833,26 +832,26 @@ int audio_graph2_link_normal(struct simple_util_priv *priv,
833
832
{
834
833
struct device_node * cpu_port = lnk ;
835
834
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 );
837
836
int ret ;
838
837
839
838
/*
840
839
* call Codec first.
841
840
* see
842
841
* __graph_parse_node() :: DAI Naming
843
842
*/
844
- ret = graph_parse_node (priv , GRAPH_NORMAL , codec_port , li , 0 );
843
+ ret = graph_parse_node (priv , GRAPH_NORMAL , codec_ep , li , 0 );
845
844
if (ret < 0 )
846
845
return ret ;
847
846
848
847
/*
849
848
* call CPU, and set DAI Name
850
849
*/
851
- ret = graph_parse_node (priv , GRAPH_NORMAL , cpu_port , li , 1 );
850
+ ret = graph_parse_node (priv , GRAPH_NORMAL , cpu_ep , li , 1 );
852
851
if (ret < 0 )
853
852
return ret ;
854
853
855
- graph_link_init (priv , lnk , cpu_port , codec_port , li , 1 );
854
+ graph_link_init (priv , lnk , cpu_ep , codec_ep , li , 1 );
856
855
857
856
return ret ;
858
857
}
@@ -864,15 +863,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,
864
863
{
865
864
struct device_node * ep __free (device_node ) = of_graph_get_next_port_endpoint (lnk , NULL );
866
865
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 ;
869
868
struct snd_soc_dai_link * dai_link = simple_priv_to_link (priv , li -> link );
870
869
struct simple_dai_props * dai_props = simple_priv_to_props (priv , li -> link );
871
870
int is_cpu = graph_util_is_ports0 (lnk );
872
871
int ret ;
873
872
874
873
if (is_cpu ) {
875
- cpu_port = of_graph_get_remote_port ( ep ); /* rport */
874
+ cpu_ep = rep ;
876
875
877
876
/*
878
877
* dpcm {
@@ -901,12 +900,12 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,
901
900
dai_link -> dynamic = 1 ;
902
901
dai_link -> dpcm_merged_format = 1 ;
903
902
904
- ret = graph_parse_node (priv , GRAPH_DPCM , cpu_port , li , 1 );
903
+ ret = graph_parse_node (priv , GRAPH_DPCM , cpu_ep , li , 1 );
905
904
if (ret )
906
- goto err ;
905
+ return ret ;
907
906
908
907
} else {
909
- codec_port = of_graph_get_remote_port ( ep ); /* rport */
908
+ codec_ep = rep ;
910
909
911
910
/*
912
911
* dpcm {
@@ -937,18 +936,15 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv,
937
936
dai_link -> no_pcm = 1 ;
938
937
dai_link -> be_hw_params_fixup = simple_util_be_hw_params_fixup ;
939
938
940
- ret = graph_parse_node (priv , GRAPH_DPCM , codec_port , li , 0 );
939
+ ret = graph_parse_node (priv , GRAPH_DPCM , codec_ep , li , 0 );
941
940
if (ret < 0 )
942
- goto err ;
941
+ return ret ;
943
942
}
944
943
945
944
graph_parse_convert (ep , dai_props ); /* at node of <dpcm> */
946
945
graph_parse_convert (rep , dai_props ); /* at node of <CPU/Codec> */
947
946
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 );
952
948
953
949
return ret ;
954
950
}
@@ -1013,26 +1009,26 @@ int audio_graph2_link_c2c(struct simple_util_priv *priv,
1013
1009
struct device_node * ep0 __free (device_node ) = of_graph_get_next_port_endpoint (port0 , NULL );
1014
1010
struct device_node * ep1 __free (device_node ) = of_graph_get_next_port_endpoint (port1 , NULL );
1015
1011
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 );
1018
1014
1019
1015
/*
1020
1016
* call Codec first.
1021
1017
* see
1022
1018
* __graph_parse_node() :: DAI Naming
1023
1019
*/
1024
- ret = graph_parse_node (priv , GRAPH_C2C , codec1_port , li , 0 );
1020
+ ret = graph_parse_node (priv , GRAPH_C2C , codec1_ep , li , 0 );
1025
1021
if (ret < 0 )
1026
1022
return ret ;
1027
1023
1028
1024
/*
1029
1025
* call CPU, and set DAI Name
1030
1026
*/
1031
- ret = graph_parse_node (priv , GRAPH_C2C , codec0_port , li , 1 );
1027
+ ret = graph_parse_node (priv , GRAPH_C2C , codec0_ep , li , 1 );
1032
1028
if (ret < 0 )
1033
1029
return ret ;
1034
1030
1035
- graph_link_init (priv , lnk , codec0_port , codec1_port , li , 1 );
1031
+ graph_link_init (priv , lnk , codec0_ep , codec1_ep , li , 1 );
1036
1032
1037
1033
return ret ;
1038
1034
}
0 commit comments