@@ -230,7 +230,7 @@ int module_adapter_prepare(struct comp_dev *dev)
230230 /* Get period_bytes first on prepare(). At this point it is guaranteed that the stream
231231 * parameter from sink buffer is settled, and still prior to all references to period_bytes.
232232 */
233- sink = list_first_item ( & dev -> bsink_list , struct comp_buffer , source_list );
233+ sink = comp_dev_get_first_data_consumer ( dev );
234234
235235 mod -> period_bytes = audio_stream_period_bytes (& sink -> stream , dev -> frames );
236236 comp_dbg (dev , "module_adapter_prepare(): got period_bytes = %u" , mod -> period_bytes );
@@ -621,17 +621,14 @@ static void module_adapter_process_output(struct comp_dev *dev)
621621
622622 /* copy from all output local buffers to sink buffers */
623623 i = 0 ;
624- list_for_item (blist , & dev -> bsink_list ) {
625- struct list_item * _blist ;
624+ comp_dev_for_each_consumer (dev , sink ) {
626625 int j = 0 ;
627626
628- list_for_item (_blist , & mod -> raw_data_buffers_list ) {
627+ list_for_item (blist , & mod -> raw_data_buffers_list ) {
629628 if (i == j ) {
630629 struct comp_buffer * source ;
631630
632- sink = container_of (blist , struct comp_buffer , source_list );
633- source = container_of (_blist , struct comp_buffer , buffers_list );
634-
631+ source = container_of (blist , struct comp_buffer , buffers_list );
635632 module_copy_samples (dev , source , sink ,
636633 mod -> output_buffers [i ].size );
637634
@@ -756,7 +753,7 @@ static int module_adapter_audio_stream_copy_1to1(struct comp_dev *dev)
756753 /* Note: Source buffer state is not checked to enable mixout to generate zero
757754 * PCM codes when source is not active.
758755 */
759- if (mod -> sink_comp_buffer -> sink -> state == dev -> state )
756+ if (comp_buffer_get_sink_state ( mod -> sink_comp_buffer ) == dev -> state )
760757 num_output_buffers = 1 ;
761758
762759 ret = module_process_legacy (mod , mod -> input_buffers , 1 ,
@@ -783,10 +780,11 @@ static int module_adapter_audio_stream_type_copy(struct comp_dev *dev)
783780{
784781 struct comp_buffer * sources [PLATFORM_MAX_STREAMS ];
785782 struct comp_buffer * sinks [PLATFORM_MAX_STREAMS ];
783+ struct comp_buffer * sink ;
784+ struct comp_buffer * source ;
786785 struct processing_module * mod = comp_mod (dev );
787- struct list_item * blist ;
788786 uint32_t num_input_buffers , num_output_buffers ;
789- int ret , i = 0 ;
787+ int ret , i ;
790788
791789 /* handle special case of HOST/DAI type components */
792790 if (dev -> ipc_config .type == SOF_COMP_HOST || dev -> ipc_config .type == SOF_COMP_DAI )
@@ -796,25 +794,18 @@ static int module_adapter_audio_stream_type_copy(struct comp_dev *dev)
796794 return module_adapter_audio_stream_copy_1to1 (dev );
797795
798796 /* acquire all sink and source buffers */
799- list_for_item (blist , & dev -> bsink_list ) {
800- struct comp_buffer * sink ;
801-
802- sink = container_of (blist , struct comp_buffer , source_list );
797+ i = 0 ;
798+ comp_dev_for_each_consumer (dev , sink )
803799 sinks [i ++ ] = sink ;
804- }
805800 num_output_buffers = i ;
806801 if (num_output_buffers > mod -> max_sinks ) {
807802 comp_err (dev , "Invalid number of sinks %d\n" , num_output_buffers );
808803 return - EINVAL ;
809804 }
810805
811806 i = 0 ;
812- list_for_item (blist , & dev -> bsource_list ) {
813- struct comp_buffer * source ;
814-
815- source = container_of (blist , struct comp_buffer , sink_list );
807+ comp_dev_for_each_producer (dev , source )
816808 sources [i ++ ] = source ;
817- }
818809 num_input_buffers = i ;
819810 if (num_input_buffers > mod -> max_sources ) {
820811 comp_err (dev , "Invalid number of sources %d\n" , num_input_buffers );
@@ -824,11 +815,11 @@ static int module_adapter_audio_stream_type_copy(struct comp_dev *dev)
824815 /* setup active input/output buffers for processing */
825816 if (num_output_buffers == 1 ) {
826817 module_single_sink_setup (dev , sources , sinks );
827- if (sinks [0 ]-> sink -> state != dev -> state )
818+ if (comp_buffer_get_sink_state ( sinks [0 ]) != dev -> state )
828819 num_output_buffers = 0 ;
829820 } else if (num_input_buffers == 1 ) {
830821 module_single_source_setup (dev , sources , sinks );
831- if (sources [0 ]-> source -> state != dev -> state ) {
822+ if (comp_buffer_get_source_state ( sources [0 ]) != dev -> state ) {
832823 num_input_buffers = 0 ;
833824 }
834825 } else {
@@ -910,15 +901,13 @@ static int module_adapter_copy_ring_buffers(struct comp_dev *dev)
910901 * This is an adapter, to be removed when pipeline2.0 is ready
911902 */
912903 struct processing_module * mod = comp_mod (dev );
913- struct list_item * blist ;
904+ struct comp_buffer * buffer ;
914905 int err ;
915906
916- list_for_item ( blist , & dev -> bsource_list ) {
907+ comp_dev_for_each_producer ( dev , buffer ) {
917908 /* input - we need to copy data from audio_stream (as source)
918909 * to ring_buffer (as sink)
919910 */
920- struct comp_buffer * buffer =
921- container_of (blist , struct comp_buffer , sink_list );
922911 err = audio_buffer_sync_secondary_buffer (& buffer -> audio_buffer , UINT_MAX );
923912
924913 if (err ) {
@@ -930,7 +919,7 @@ static int module_adapter_copy_ring_buffers(struct comp_dev *dev)
930919 if (mod -> dp_startup_delay )
931920 return 0 ;
932921
933- list_for_item ( blist , & dev -> bsink_list ) {
922+ comp_dev_for_each_consumer ( dev , buffer ) {
934923 /* output - we need to copy data from ring_buffer (as source)
935924 * to audio_stream (as sink)
936925 *
@@ -943,8 +932,6 @@ static int module_adapter_copy_ring_buffers(struct comp_dev *dev)
943932 *
944933 * FIX: copy only the following module's IBS in each LL cycle
945934 */
946- struct comp_buffer * buffer =
947- container_of (blist , struct comp_buffer , source_list );
948935 struct sof_source * following_mod_data_source =
949936 audio_buffer_get_source (& buffer -> audio_buffer );
950937
@@ -1021,14 +1008,12 @@ static int module_adapter_raw_data_type_copy(struct comp_dev *dev)
10211008 }
10221009
10231010 /* copy source samples into input buffer */
1024- list_for_item ( blist , & dev -> bsource_list ) {
1011+ comp_dev_for_each_producer ( dev , source ) {
10251012 uint32_t bytes_to_process ;
10261013 int frames , source_frame_bytes ;
10271014
1028- source = container_of (blist , struct comp_buffer , sink_list );
1029-
10301015 /* check if the source dev is in the same state as the dev */
1031- if (! source -> source || source -> source -> state != dev -> state )
1016+ if (comp_buffer_get_source_state ( source ) != dev -> state )
10321017 continue ;
10331018
10341019 frames = MIN (min_free_frames ,
@@ -1061,10 +1046,7 @@ static int module_adapter_raw_data_type_copy(struct comp_dev *dev)
10611046
10621047 i = 0 ;
10631048 /* consume from all input buffers */
1064- list_for_item (blist , & dev -> bsource_list ) {
1065-
1066- source = container_of (blist , struct comp_buffer , sink_list );
1067-
1049+ comp_dev_for_each_producer (dev , source ) {
10681050 comp_update_buffer_consume (source , mod -> input_buffers [i ].consumed );
10691051
10701052 bzero ((__sparse_force void * )mod -> input_buffers [i ].data , size );
0 commit comments