* [PATCH] drivers: use common container_of macro
@ 2024-02-13 15:37 David Marchand
2024-02-13 16:57 ` Tyler Retzlaff
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: David Marchand @ 2024-02-13 15:37 UTC (permalink / raw)
To: dev; +Cc: Rahul Lakkireddy, Yuying Zhang, Rosen Xu
rte_common.h provides container_of if none is defined.
The drivers headers touched by this commit either already include
rte_common.h or use some other common macro defined in rte_common.h.
As a consequence, it seems safe to assume that container_of is always
available for includers of those headers.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
drivers/net/cxgbe/cxgbe_compat.h | 6 ------
drivers/net/i40e/i40e_rxtx.h | 5 -----
drivers/raw/ifpga/base/ifpga_compat.h | 5 -----
3 files changed, 16 deletions(-)
diff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h
index 0b02eb62a9..e74d476f6d 100644
--- a/drivers/net/cxgbe/cxgbe_compat.h
+++ b/drivers/net/cxgbe/cxgbe_compat.h
@@ -135,12 +135,6 @@ typedef uint64_t dma_addr_t;
*/
#define cxgbe_roundup(_p, _s) (((unsigned long)(_p) + (_s - 1)) & ~(_s - 1))
-#ifndef container_of
-#define container_of(ptr, type, member) ({ \
- typeof(((type *)0)->member)(*__mptr) = (ptr); \
- (type *)((char *)__mptr - offsetof(type, member)); })
-#endif
-
#define ARRAY_SIZE(arr) RTE_DIM(arr)
#define cpu_to_be16(o) rte_cpu_to_be_16(o)
diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
index b191f23e1f..a3a53ffce4 100644
--- a/drivers/net/i40e/i40e_rxtx.h
+++ b/drivers/net/i40e/i40e_rxtx.h
@@ -45,11 +45,6 @@
#define I40E_RX_DESC_EXT_STATUS_FLEXBL_MASK 0x03
#define I40E_RX_DESC_EXT_STATUS_FLEXBL_FLEX 0x01
-#undef container_of
-#define container_of(ptr, type, member) ({ \
- typeof(((type *)0)->member)(*__mptr) = (ptr); \
- (type *)((char *)__mptr - offsetof(type, member)); })
-
#define I40E_TD_CMD (I40E_TX_DESC_CMD_ICRC |\
I40E_TX_DESC_CMD_EOP)
diff --git a/drivers/raw/ifpga/base/ifpga_compat.h b/drivers/raw/ifpga/base/ifpga_compat.h
index cdeca70ca5..8a624d174f 100644
--- a/drivers/raw/ifpga/base/ifpga_compat.h
+++ b/drivers/raw/ifpga/base/ifpga_compat.h
@@ -7,11 +7,6 @@
#include "opae_osdep.h"
-#undef container_of
-#define container_of(ptr, type, member) ({ \
- typeof(((type *)0)->member)(*__mptr) = (ptr); \
- (type *)((char *)__mptr - offsetof(type, member)); })
-
#define IFPGA_PAGE_SHIFT 12
#define IFPGA_PAGE_SIZE (1 << IFPGA_PAGE_SHIFT)
#define IFPGA_PAGE_MASK (~(IFPGA_PAGE_SIZE - 1))
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drivers: use common container_of macro
2024-02-13 15:37 [PATCH] drivers: use common container_of macro David Marchand
@ 2024-02-13 16:57 ` Tyler Retzlaff
2024-02-14 2:18 ` fengchengwen
2024-02-14 12:20 ` David Marchand
2 siblings, 0 replies; 4+ messages in thread
From: Tyler Retzlaff @ 2024-02-13 16:57 UTC (permalink / raw)
To: David Marchand; +Cc: dev, Rahul Lakkireddy, Yuying Zhang, Rosen Xu
On Tue, Feb 13, 2024 at 04:37:41PM +0100, David Marchand wrote:
> rte_common.h provides container_of if none is defined.
>
> The drivers headers touched by this commit either already include
> rte_common.h or use some other common macro defined in rte_common.h.
> As a consequence, it seems safe to assume that container_of is always
> available for includers of those headers.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drivers: use common container_of macro
2024-02-13 15:37 [PATCH] drivers: use common container_of macro David Marchand
2024-02-13 16:57 ` Tyler Retzlaff
@ 2024-02-14 2:18 ` fengchengwen
2024-02-14 12:20 ` David Marchand
2 siblings, 0 replies; 4+ messages in thread
From: fengchengwen @ 2024-02-14 2:18 UTC (permalink / raw)
To: David Marchand, dev; +Cc: Rahul Lakkireddy, Yuying Zhang, Rosen Xu
[-- Attachment #1: Type: text/plain, Size: 2532 bytes --]
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
On 2024/2/13 23:37, David Marchand wrote:
> rte_common.h provides container_of if none is defined.
>
> The drivers headers touched by this commit either already include
> rte_common.h or use some other common macro defined in rte_common.h.
> As a consequence, it seems safe to assume that container_of is always
> available for includers of those headers.
>
> Signed-off-by: David Marchand<david.marchand@redhat.com>
> ---
> drivers/net/cxgbe/cxgbe_compat.h | 6 ------
> drivers/net/i40e/i40e_rxtx.h | 5 -----
> drivers/raw/ifpga/base/ifpga_compat.h | 5 -----
> 3 files changed, 16 deletions(-)
>
> diff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h
> index 0b02eb62a9..e74d476f6d 100644
> --- a/drivers/net/cxgbe/cxgbe_compat.h
> +++ b/drivers/net/cxgbe/cxgbe_compat.h
> @@ -135,12 +135,6 @@ typedef uint64_t dma_addr_t;
> */
> #define cxgbe_roundup(_p, _s) (((unsigned long)(_p) + (_s - 1)) & ~(_s - 1))
>
> -#ifndef container_of
> -#define container_of(ptr, type, member) ({ \
> - typeof(((type *)0)->member)(*__mptr) = (ptr); \
> - (type *)((char *)__mptr - offsetof(type, member)); })
> -#endif
> -
> #define ARRAY_SIZE(arr) RTE_DIM(arr)
>
> #define cpu_to_be16(o) rte_cpu_to_be_16(o)
> diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
> index b191f23e1f..a3a53ffce4 100644
> --- a/drivers/net/i40e/i40e_rxtx.h
> +++ b/drivers/net/i40e/i40e_rxtx.h
> @@ -45,11 +45,6 @@
> #define I40E_RX_DESC_EXT_STATUS_FLEXBL_MASK 0x03
> #define I40E_RX_DESC_EXT_STATUS_FLEXBL_FLEX 0x01
>
> -#undef container_of
> -#define container_of(ptr, type, member) ({ \
> - typeof(((type *)0)->member)(*__mptr) = (ptr); \
> - (type *)((char *)__mptr - offsetof(type, member)); })
> -
> #define I40E_TD_CMD (I40E_TX_DESC_CMD_ICRC |\
> I40E_TX_DESC_CMD_EOP)
>
> diff --git a/drivers/raw/ifpga/base/ifpga_compat.h b/drivers/raw/ifpga/base/ifpga_compat.h
> index cdeca70ca5..8a624d174f 100644
> --- a/drivers/raw/ifpga/base/ifpga_compat.h
> +++ b/drivers/raw/ifpga/base/ifpga_compat.h
> @@ -7,11 +7,6 @@
>
> #include "opae_osdep.h"
>
> -#undef container_of
> -#define container_of(ptr, type, member) ({ \
> - typeof(((type *)0)->member)(*__mptr) = (ptr); \
> - (type *)((char *)__mptr - offsetof(type, member)); })
> -
> #define IFPGA_PAGE_SHIFT 12
> #define IFPGA_PAGE_SIZE (1 << IFPGA_PAGE_SHIFT)
> #define IFPGA_PAGE_MASK (~(IFPGA_PAGE_SIZE - 1))
[-- Attachment #2: Type: text/html, Size: 3021 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drivers: use common container_of macro
2024-02-13 15:37 [PATCH] drivers: use common container_of macro David Marchand
2024-02-13 16:57 ` Tyler Retzlaff
2024-02-14 2:18 ` fengchengwen
@ 2024-02-14 12:20 ` David Marchand
2 siblings, 0 replies; 4+ messages in thread
From: David Marchand @ 2024-02-14 12:20 UTC (permalink / raw)
To: dev
Cc: Rahul Lakkireddy, Yuying Zhang, Rosen Xu, Tyler Retzlaff, Chengwen Feng
On Tue, Feb 13, 2024 at 4:38 PM David Marchand
<david.marchand@redhat.com> wrote:
>
> rte_common.h provides container_of if none is defined.
>
> The drivers headers touched by this commit either already include
> rte_common.h or use some other common macro defined in rte_common.h.
> As a consequence, it seems safe to assume that container_of is always
> available for includers of those headers.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
Applied, thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-02-14 12:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-13 15:37 [PATCH] drivers: use common container_of macro David Marchand
2024-02-13 16:57 ` Tyler Retzlaff
2024-02-14 2:18 ` fengchengwen
2024-02-14 12:20 ` David Marchand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).