After upgrading to Doxygen 1.18.0, there are 2 kinds of errors:

- @ref func() for static function is broken because of parens
- @ref struct.member with anonymous struct/union is broken

Parentheses are removed from inline function references.
The second issue is more difficult and requires to degrade the doc
by providing a global link to the struct page for the fields.

The root causes of these issues can be found in these links:
        https://github.com/doxygen/doxygen/commit/e1bff01
        https://github.com/doxygen/doxygen/issues/12226

Cc: [email protected]

Signed-off-by: Thomas Monjalon <[email protected]>
---
 lib/eventdev/rte_eventdev.h       | 22 +++++++++++-----------
 lib/graph/rte_graph_feature_arc.h |  8 ++++----
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index 4e13a38d89..db730131f2 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -744,12 +744,12 @@ enum rte_event_dev_preschedule_type {
        RTE_EVENT_PRESCHEDULE_NONE,
        /**< Disable pre-schedule across the event device or on a given event 
port.
         * @ref rte_event_dev_config.preschedule_type
-        * @ref rte_event_port_preschedule_modify()
+        * @ref rte_event_port_preschedule_modify
         */
        RTE_EVENT_PRESCHEDULE,
        /**< Enable pre-schedule always across the event device or a given 
event port.
         * @ref rte_event_dev_config.preschedule_type
-        * @ref rte_event_port_preschedule_modify()
+        * @ref rte_event_port_preschedule_modify
         * @see RTE_EVENT_DEV_CAP_EVENT_PRESCHEDULE
         * @see RTE_EVENT_DEV_CAP_PER_PORT_PRESCHEDULE
         */
@@ -758,7 +758,7 @@ enum rte_event_dev_preschedule_type {
         * Delay issuing pre-schedule until there are no forward progress 
constraints with
         * the held flow contexts.
         * @ref rte_event_dev_config.preschedule_type
-        * @ref rte_event_port_preschedule_modify()
+        * @ref rte_event_port_preschedule_modify
         * @see RTE_EVENT_DEV_CAP_EVENT_PRESCHEDULE_ADAPTIVE
         * @see RTE_EVENT_DEV_CAP_PER_PORT_PRESCHEDULE
         */
@@ -1524,8 +1524,8 @@ struct __rte_aligned(16) rte_event_vector {
  *
  * NOTE:
  *   In restoring event order of forwarded events, the eventdev API guarantees 
that
- *   all events from the same flow (i.e. same @ref rte_event.flow_id,
- *   @ref rte_event.priority and @ref rte_event.queue_id) will be put in the 
original
+ *   all events from the same flow (i.e. same @ref rte_event "flow_id",
+ *   @ref rte_event "priority" and @ref rte_event "queue_id") will be put in 
the original
  *   order before being forwarded to the destination queue.
  *   Some eventdevs may implement stricter ordering to achieve this aim,
  *   for example, restoring the order across *all* flows dequeued from the 
same ORDERED
@@ -1537,8 +1537,8 @@ struct __rte_aligned(16) rte_event_vector {
 #define RTE_SCHED_TYPE_ATOMIC           1
 /**< Atomic scheduling
  *
- * Events from an atomic flow, identified by a combination of @ref 
rte_event.flow_id,
- * @ref rte_event.queue_id and @ref rte_event.priority, can be scheduled only 
to a
+ * Events from an atomic flow, identified by a combination of @ref rte_event 
"flow_id",
+ * @ref rte_event "queue_id" and @ref rte_event "priority", can be scheduled 
only to a
  * single port at a time. The port is guaranteed to have exclusive (atomic)
  * access to the associated flow context, which enables the user to avoid SW
  * synchronization. Atomic flows also maintain event ordering
@@ -1618,12 +1618,12 @@ struct __rte_aligned(16) rte_event_vector {
 
 /* Event enqueue operations */
 #define RTE_EVENT_OP_NEW                0
-/**< The @ref rte_event.op field must be set to this operation type to inject 
a new event,
+/**< The @ref rte_event "op" field must be set to this operation type to 
inject a new event,
  * i.e. one not previously dequeued, into the event device, to be scheduled
  * for processing.
  */
 #define RTE_EVENT_OP_FORWARD            1
-/**< The application must set the @ref rte_event.op field to this operation 
type to return a
+/**< The application must set the @ref rte_event "op" field to this operation 
type to return a
  * previously dequeued event to the event device to be scheduled for further 
processing.
  *
  * This event *must* be enqueued to the same port that the
@@ -1631,7 +1631,7 @@ struct __rte_aligned(16) rte_event_vector {
  *
  * The event's fields, including (but not limited to) flow_id, scheduling type,
  * destination queue, and event payload e.g. mbuf pointer, may all be updated 
as
- * desired by the application, but the @ref rte_event.impl_opaque field must
+ * desired by the application, but the @ref rte_event "impl_opaque" field must
  * be kept to the same value as was present when the event was dequeued.
  */
 #define RTE_EVENT_OP_RELEASE            2
@@ -1659,7 +1659,7 @@ struct __rte_aligned(16) rte_event_vector {
  * should be considered filled.
  *
  * Events with this operation type must only be enqueued to the same port that 
the
- * event to be released was dequeued from. The @ref rte_event.impl_opaque
+ * event to be released was dequeued from. The @ref rte_event "impl_opaque"
  * field in the release event must have the same value as that in the original 
dequeued event.
  *
  * If a dequeued event is re-enqueued with operation type of @ref 
RTE_EVENT_OP_RELEASE,
diff --git a/lib/graph/rte_graph_feature_arc.h 
b/lib/graph/rte_graph_feature_arc.h
index 14f24be831..aa6495c4ad 100644
--- a/lib/graph/rte_graph_feature_arc.h
+++ b/lib/graph/rte_graph_feature_arc.h
@@ -128,7 +128,7 @@ extern "C" {
  * (like VRF table for IP lookup or IPsec SA for inbound policy etc). A
  * reference of allocated resource can be passed from control plane to
  * dataplane via *app_cookie* argument in @ref rte_graph_feature_enable(). A
- * corresponding dataplane API @ref rte_graph_feature_data_app_cookie_get() can
+ * corresponding dataplane API @ref rte_graph_feature_data_app_cookie_get can
  * be used to retrieve same cookie in fast path.
  *
  * When a feature is disabled, resources allocated during feature enable can be
@@ -138,9 +138,9 @@ extern "C" {
  *
  * If current feature node is not consuming packet, it might want to send it to
  * next enabled feature. Depending upon current node is a:
- * - start_node (via @ref rte_graph_feature_data_first_feature_get())
+ * - start_node (via @ref rte_graph_feature_data_first_feature_get)
  * - feature nodes added between start_node and end_node (via @ref
- *   rte_graph_feature_data_next_feature_get())
+ *   rte_graph_feature_data_next_feature_get)
  * - end_feature_node (must not call any feature arc steering APIs) as from
  *   this node packet exits feature arc
  *
@@ -151,7 +151,7 @@ extern "C" {
  *
  * rte_mbuf carries [feature_data] into feature arc specific mbuf dynamic
  * field. See @ref rte_graph_feature_arc_mbuf_dynfields and @ref
- * rte_graph_feature_arc_mbuf_dynfields_get() for more details.
+ * rte_graph_feature_arc_mbuf_dynfields_get for more details.
  *
  * Fast path synchronization
  * -------------------------
-- 
2.55.0

Reply via email to