diff mbox

[API-NEXT,v4,5/9] event: implement odp_event_free()

Message ID 1435770379-30000-6-git-send-email-zoltan.kiss@linaro.org
State Accepted
Commit e4ccaec097da27d60befbdb369d232755cbb7895
Headers show

Commit Message

Zoltan Kiss July 1, 2015, 5:06 p.m. UTC
Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
---
 platform/linux-generic/odp_event.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
diff mbox

Patch

diff --git a/platform/linux-generic/odp_event.c b/platform/linux-generic/odp_event.c
index d9e86a9..c50103c 100644
--- a/platform/linux-generic/odp_event.c
+++ b/platform/linux-generic/odp_event.c
@@ -6,11 +6,35 @@ 
 
 #include <odp/event.h>
 #include <odp/buffer.h>
+#include <odp/crypto.h>
+#include <odp/packet.h>
+#include <odp/timer.h>
 #include <odp/pool.h>
 #include <odp_buffer_internal.h>
 #include <odp_buffer_inlines.h>
+#include <odp_debug_internal.h>
 
 int odp_event_type(odp_event_t event)
 {
 	return _odp_buffer_event_type(odp_buffer_from_event(event));
 }
+
+void odp_event_free(odp_event_t event)
+{
+	switch (odp_event_type(event)) {
+	case ODP_EVENT_BUFFER:
+		odp_buffer_free(odp_buffer_from_event(event));
+		break;
+	case ODP_EVENT_PACKET:
+		odp_packet_free(odp_packet_from_event(event));
+		break;
+	case ODP_EVENT_TIMEOUT:
+		odp_timeout_free(odp_timeout_from_event(event));
+		break;
+	case ODP_EVENT_CRYPTO_COMPL:
+		odp_crypto_compl_free(odp_crypto_compl_from_event(event));
+		break;
+	default:
+		ODP_ABORT("Invalid event type: %d\n", odp_event_type(event));
+	}
+}