From: Junkyeong Kim Date: Wed, 21 Feb 2018 10:52:23 +0000 (+0900) Subject: free allocated display buffers when deinit X-Git-Tag: accepted/tizen/unified/20180222.080249~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F91%2F170691%2F1;p=platform%2Fadaptation%2Fbroadcom%2Flibtdm-vc4.git free allocated display buffers when deinit Change-Id: Iec06bd226659fec6e08641e880570b610da9d5c5 Signed-off-by: Junkyeong Kim --- diff --git a/src/tdm_vc4.c b/src/tdm_vc4.c index 9402d5f..54de28b 100644 --- a/src/tdm_vc4.c +++ b/src/tdm_vc4.c @@ -212,6 +212,7 @@ tdm_vc4_deinit(tdm_backend_data *bdata) _tdm_vc4_udev_deinit(vc4_data); #endif + tdm_vc4_display_destroy_buffer_list(vc4_data); tdm_vc4_display_destroy_output_list(vc4_data); if (vc4_data->plane_res) diff --git a/src/tdm_vc4.h b/src/tdm_vc4.h index 13250a2..a083837 100644 --- a/src/tdm_vc4.h +++ b/src/tdm_vc4.h @@ -142,5 +142,6 @@ void tdm_vc4_display_update_output_status(tdm_vc4_data *vc4_data); tdm_error tdm_vc4_display_create_output_list(tdm_vc4_data *vc4_data); void tdm_vc4_display_destroy_output_list(tdm_vc4_data *vc4_data); tdm_error tdm_vc4_display_create_layer_list(tdm_vc4_data *vc4_data); +void tdm_vc4_display_destroy_buffer_list(tdm_vc4_data *vc4_data); #endif /* _TDM_VC4_H_ */ diff --git a/src/tdm_vc4_display.c b/src/tdm_vc4_display.c index bbb6772..609ea51 100644 --- a/src/tdm_vc4_display.c +++ b/src/tdm_vc4_display.c @@ -852,6 +852,17 @@ tdm_vc4_display_destroy_output_list(tdm_vc4_data *vc4_data) } void +tdm_vc4_display_destroy_buffer_list(tdm_vc4_data *vc4_data) +{ + tdm_vc4_display_buffer *b = NULL, *bb = NULL; + + LIST_FOR_EACH_ENTRY_SAFE(b, bb, &vc4_data->buffer_list, link) { + tdm_buffer_remove_destroy_handler(b->buffer, _tdm_vc4_display_cb_destroy_buffer, vc4_data); + _tdm_vc4_display_cb_destroy_buffer(b->buffer, vc4_data); + } +} + +void tdm_vc4_display_update_output_status(tdm_vc4_data *vc4_data) { tdm_vc4_output_data *output_data = NULL;