diff mbox

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

Message ID 1433505231-28843-6-git-send-email-zoltan.kiss@linaro.org
State New
Headers show

Commit Message

Zoltan Kiss June 5, 2015, 11:53 a.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 17f4f43..e93dfca 100644
--- a/platform/linux-generic/odp_event.c
+++ b/platform/linux-generic/odp_event.c
@@ -6,8 +6,12 @@ 
 
 #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_debug_internal.h>
 
 int odp_event_type(odp_event_t event)
 {
@@ -17,3 +21,23 @@  int odp_event_type(odp_event_t event)
 
 	return _odp_buffer_type(buf);
 }
+
+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));
+	}
+}