[COMMIT osv master] ena_com: adapt headers to work in C++ code

2 views
Skip to first unread message

Commit Bot

unread,
Jan 11, 2024, 12:43:05 PM1/11/24
to osv...@googlegroups.com, Waldemar Kozaczuk
From: Waldemar Kozaczuk <jwkoz...@gmail.com>
Committer: WALDEMAR KOZACZUK <jwkoz...@gmail.com>
Branch: master

ena_com: adapt headers to work in C++ code

Signed-off-by: Waldemar Kozaczuk <jwkoz...@gmail.com>

---
diff --git a/bsd/sys/contrib/ena_com/ena_com.h b/bsd/sys/contrib/ena_com/ena_com.h
--- a/bsd/sys/contrib/ena_com/ena_com.h
+++ b/bsd/sys/contrib/ena_com/ena_com.h
@@ -977,7 +977,8 @@ int ena_com_config_dev_mode(struct ena_com_dev *ena_dev,
*/
static inline struct ena_com_dev *ena_com_io_sq_to_ena_dev(struct ena_com_io_sq *io_sq)
{
- return container_of(io_sq, struct ena_com_dev, io_sq_queues[io_sq->qid]);
+ ena_com_io_sq *first = io_sq - io_sq->qid;
+ return reinterpret_cast<ena_com_dev *>(((uintptr_t)first - offsetof(ena_com_dev, io_sq_queues)));
}

/* ena_com_io_cq_to_ena_dev - Extract ena_com_dev using contained field io_cq.
@@ -987,7 +988,8 @@ static inline struct ena_com_dev *ena_com_io_sq_to_ena_dev(struct ena_com_io_sq
*/
static inline struct ena_com_dev *ena_com_io_cq_to_ena_dev(struct ena_com_io_cq *io_cq)
{
- return container_of(io_cq, struct ena_com_dev, io_cq_queues[io_cq->qid]);
+ ena_com_io_cq *first = io_cq - io_cq->qid;
+ return reinterpret_cast<ena_com_dev *>(((uintptr_t)first - offsetof(ena_com_dev, io_cq_queues)));
}

static inline bool ena_com_get_adaptive_moderation_enabled(struct ena_com_dev *ena_dev)
diff --git a/bsd/sys/contrib/ena_com/ena_eth_com.h b/bsd/sys/contrib/ena_com/ena_eth_com.h
--- a/bsd/sys/contrib/ena_com/ena_eth_com.h
+++ b/bsd/sys/contrib/ena_com/ena_eth_com.h
@@ -34,10 +34,11 @@
#ifndef ENA_ETH_COM_H_
#define ENA_ETH_COM_H_

+#include "ena_com.h"
+
#if defined(__cplusplus)
extern "C" {
#endif
-#include "ena_com.h"

/* head update threshold in units of (queue size / ENA_COMP_HEAD_THRESH) */
#define ENA_COMP_HEAD_THRESH 4
Reply all
Reply to author
Forward
0 new messages