diff mbox series

Break include dependency cycle

Message ID 20240811112837.3323753-1-dds@aueb.gr
State Changes Requested
Headers show
Series Break include dependency cycle | expand

Commit Message

Diomidis Spinellis Aug. 11, 2024, 11:28 a.m. UTC
Header ixgbe_type.h includes ixgbe_mbx.h.  Also, header ixgbe_mbx.h
included ixgbe_type.h, thus introducing a circular dependency.
Removing the second include is OK, because its includers, ixgbe_mbx.c
and ixgbe_82599.c, include ixgbe.h, which includes ixgbe_type.h.

Signed-off-by: Diomidis Spinellis <dds@aueb.gr>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h | 2 --
 1 file changed, 2 deletions(-)

Comments

Tony Nguyen Aug. 15, 2024, 10:49 p.m. UTC | #1
On 8/11/2024 4:28 AM, Diomidis Spinellis wrote:

Hi Diomidis,

Thank you for the patch. Could you please include the driver name in the 
title.

i.e. ixgbe: Break include dependency cycle

and also specify the tree you are targeting; presumably '[PATCH iwl-next]'.

> Header ixgbe_type.h includes ixgbe_mbx.h.  Also, header ixgbe_mbx.h
> included ixgbe_type.h, thus introducing a circular dependency.
> Removing the second include is OK, because its includers, ixgbe_mbx.c
> and ixgbe_82599.c, include ixgbe.h, which includes ixgbe_type.h.

While this does resolve the dependency, the preference is to not rely on 
includes from other files to supplement the needed includes. It would be 
better for the headers to explicitly include what they need. Easier said 
than done unfortunately.

I believe for ixgbe_mbx.h, linux/types.h and a forward declaration of 
ixgbe_hw would suffice.

For ixgbe_type.h, it doesn't appear to need ixgbe_mbx.h; though we would 
need add the include to the other files that rely on the include. 
ixgbe_main.c, _sriov.c, _x540.c, and _x550.c are what I'm seeing.

Thanks,
Tony

> Signed-off-by: Diomidis Spinellis <dds@aueb.gr>
> ---
>   drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
> index bd205306934b..34bc042da4ed 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
> @@ -4,8 +4,6 @@
>   #ifndef _IXGBE_MBX_H_
>   #define _IXGBE_MBX_H_
>   
> -#include "ixgbe_type.h"
> -
>   #define IXGBE_VFMAILBOX_SIZE        16 /* 16 32 bit words - 64 bytes */
>   
>   #define IXGBE_VFMAILBOX             0x002FC
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
index bd205306934b..34bc042da4ed 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
@@ -4,8 +4,6 @@ 
 #ifndef _IXGBE_MBX_H_
 #define _IXGBE_MBX_H_
 
-#include "ixgbe_type.h"
-
 #define IXGBE_VFMAILBOX_SIZE        16 /* 16 32 bit words - 64 bytes */
 
 #define IXGBE_VFMAILBOX             0x002FC