[2/7] eventdev: fix header build with C++

Message ID 20220204174209.440207-3-bruce.richardson@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Verify C++ compatibility of public headers |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Bruce Richardson Feb. 4, 2022, 5:42 p.m. UTC
  The eventdev headers had issues when used from C++

* Missing closing "}" for the extern "C" block
* No automatic casting to/from void *

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/eventdev/rte_event_timer_adapter.h | 3 +++
 lib/eventdev/rte_eventdev.h            | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob Feb. 7, 2022, 9:40 a.m. UTC | #1
On Fri, Feb 4, 2022 at 11:12 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> The eventdev headers had issues when used from C++
>
> * Missing closing "}" for the extern "C" block
> * No automatic casting to/from void *
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Acked-by: Jerin Jacob <jerinj@marvell.com>


> ---
>  lib/eventdev/rte_event_timer_adapter.h | 3 +++
>  lib/eventdev/rte_eventdev.h            | 2 +-
>  2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/lib/eventdev/rte_event_timer_adapter.h b/lib/eventdev/rte_event_timer_adapter.h
> index 1551741820..1fe4dd8e8f 100644
> --- a/lib/eventdev/rte_event_timer_adapter.h
> +++ b/lib/eventdev/rte_event_timer_adapter.h
> @@ -678,4 +678,7 @@ rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
>         return adapter->cancel_burst(adapter, evtims, nb_evtims);
>  }
>
> +#ifdef __cplusplus
> +}
> +#endif
>  #endif /* __RTE_EVENT_TIMER_ADAPTER_H__ */
> diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
> index eef47d8acc..25fb7c89dd 100644
> --- a/lib/eventdev/rte_eventdev.h
> +++ b/lib/eventdev/rte_eventdev.h
> @@ -1805,7 +1805,7 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
>                 return 0;
>         }
>  #endif
> -       rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, fn);
> +       rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, (void *)fn);
>         /*
>          * Allow zero cost non burst mode routine invocation if application
>          * requests nb_events as const one
> --
> 2.32.0
>
  

Patch

diff --git a/lib/eventdev/rte_event_timer_adapter.h b/lib/eventdev/rte_event_timer_adapter.h
index 1551741820..1fe4dd8e8f 100644
--- a/lib/eventdev/rte_event_timer_adapter.h
+++ b/lib/eventdev/rte_event_timer_adapter.h
@@ -678,4 +678,7 @@  rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
 	return adapter->cancel_burst(adapter, evtims, nb_evtims);
 }
 
+#ifdef __cplusplus
+}
+#endif
 #endif /* __RTE_EVENT_TIMER_ADAPTER_H__ */
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index eef47d8acc..25fb7c89dd 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -1805,7 +1805,7 @@  __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
 		return 0;
 	}
 #endif
-	rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, fn);
+	rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, (void *)fn);
 	/*
 	 * Allow zero cost non burst mode routine invocation if application
 	 * requests nb_events as const one