mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 14:14:24 +08:00
i40e: Remove circular header dependencies and fix headers
Similarly as for ice driver [1] there are also circular header
dependencies in i40e driver:
i40e.h -> i40e_virtchnl_pf.h -> i40e.h
Another issue is that i40e header files does not contain their own
dependencies on other header files (both private and standard) so their
inclusion in .c file require to add these deps in certain order to
that .c file to make it compilable.
Fix both issues by removal the mentioned circular dependency, by filling
i40e headers with their dependencies so they can be placed anywhere in
a source code. Additionally remove bunch of includes from i40e.h super
header file that are not necessary and include i40e.h only in .c files
that really require it.
[1] 649c87c6ff
("ice: remove circular header dependencies on ice.h")
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
5dfd37c37a
commit
56df345917
@ -4,47 +4,20 @@
|
||||
#ifndef _I40E_H_
|
||||
#define _I40E_H_
|
||||
|
||||
#include <net/tcp.h>
|
||||
#include <net/udp.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/iommu.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/hashtable.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/sctp.h>
|
||||
#include <linux/pkt_sched.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <net/checksum.h>
|
||||
#include <net/ip6_checksum.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/if_macvlan.h>
|
||||
#include <linux/if_bridge.h>
|
||||
#include <linux/clocksource.h>
|
||||
#include <linux/net_tstamp.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/ptp_clock_kernel.h>
|
||||
#include <net/pkt_cls.h>
|
||||
#include <net/pkt_sched.h>
|
||||
#include <net/tc_act/tc_gact.h>
|
||||
#include <net/tc_act/tc_mirred.h>
|
||||
#include <net/udp_tunnel.h>
|
||||
#include <net/xdp_sock.h>
|
||||
#include <linux/bitfield.h>
|
||||
#include "i40e_type.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include <linux/net/intel/i40e_client.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/avf/virtchnl.h>
|
||||
#include "i40e_virtchnl_pf.h"
|
||||
#include "i40e_txrx.h"
|
||||
#include <linux/net/intel/i40e_client.h>
|
||||
#include <net/pkt_cls.h>
|
||||
#include <net/udp_tunnel.h>
|
||||
#include "i40e_dcb.h"
|
||||
#include "i40e_debug.h"
|
||||
#include "i40e_io.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include "i40e_register.h"
|
||||
#include "i40e_txrx.h"
|
||||
|
||||
/* Useful i40e defaults */
|
||||
#define I40E_MAX_VEB 16
|
||||
|
@ -1,9 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include "i40e_type.h"
|
||||
#include <linux/delay.h>
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_register.h"
|
||||
#include "i40e_adminq.h"
|
||||
#include "i40e_prototype.h"
|
||||
|
||||
static void i40e_resume_aq(struct i40e_hw *hw);
|
||||
|
@ -4,6 +4,8 @@
|
||||
#ifndef _I40E_ADMINQ_CMD_H_
|
||||
#define _I40E_ADMINQ_CMD_H_
|
||||
|
||||
#include <linux/bits.h>
|
||||
|
||||
/* This header file defines the i40e Admin Queue commands and is shared between
|
||||
* i40e Firmware and Software.
|
||||
*
|
||||
|
@ -6,7 +6,6 @@
|
||||
#include <linux/net/intel/i40e_client.h>
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_prototype.h"
|
||||
|
||||
static LIST_HEAD(i40e_devices);
|
||||
static DEFINE_MUTEX(i40e_device_mutex);
|
||||
|
@ -1,11 +1,14 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2021 Intel Corporation. */
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_type.h"
|
||||
#include "i40e_adminq.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include <linux/avf/virtchnl.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/pci.h>
|
||||
#include "i40e_adminq_cmd.h"
|
||||
#include "i40e_devids.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include "i40e_register.h"
|
||||
|
||||
/**
|
||||
* i40e_set_mac_type - Sets MAC type
|
||||
|
@ -1,9 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2021 Intel Corporation. */
|
||||
|
||||
#include "i40e_adminq.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_dcb.h"
|
||||
#include "i40e_prototype.h"
|
||||
|
||||
/**
|
||||
* i40e_get_dcbx_status
|
||||
|
@ -2,8 +2,8 @@
|
||||
/* Copyright(c) 2013 - 2021 Intel Corporation. */
|
||||
|
||||
#ifdef CONFIG_I40E_DCB
|
||||
#include "i40e.h"
|
||||
#include <net/dcbnl.h>
|
||||
#include "i40e.h"
|
||||
|
||||
#define I40E_DCBNL_STATUS_SUCCESS 0
|
||||
#define I40E_DCBNL_STATUS_ERROR 1
|
||||
|
@ -1,9 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include <linux/firmware.h>
|
||||
#include "i40e.h"
|
||||
|
||||
#include <linux/firmware.h>
|
||||
|
||||
/**
|
||||
* i40e_ddp_profiles_eq - checks if DDP profiles are the equivalent
|
||||
|
@ -5,8 +5,9 @@
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/debugfs.h>
|
||||
|
||||
#include <linux/if_bridge.h>
|
||||
#include "i40e.h"
|
||||
#include "i40e_virtchnl_pf.h"
|
||||
|
||||
static struct dentry *i40e_dbg_root;
|
||||
|
||||
|
@ -4,7 +4,10 @@
|
||||
#ifndef _I40E_DIAG_H_
|
||||
#define _I40E_DIAG_H_
|
||||
|
||||
#include "i40e_type.h"
|
||||
#include "i40e_adminq_cmd.h"
|
||||
|
||||
/* forward-declare the HW struct for the compiler */
|
||||
struct i40e_hw;
|
||||
|
||||
enum i40e_lb_mode {
|
||||
I40E_LB_MODE_NONE = 0x0,
|
||||
|
@ -3,9 +3,10 @@
|
||||
|
||||
/* ethtool support for i40e */
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_devids.h"
|
||||
#include "i40e_diag.h"
|
||||
#include "i40e_txrx_common.h"
|
||||
#include "i40e_virtchnl_pf.h"
|
||||
|
||||
/* ethtool statistics helpers */
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_register.h"
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_debug.h"
|
||||
#include "i40e_hmc.h"
|
||||
#include "i40e_type.h"
|
||||
|
||||
|
@ -4,6 +4,10 @@
|
||||
#ifndef _I40E_HMC_H_
|
||||
#define _I40E_HMC_H_
|
||||
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_io.h"
|
||||
#include "i40e_register.h"
|
||||
|
||||
#define I40E_HMC_MAX_BP_COUNT 512
|
||||
|
||||
/* forward-declare the HW struct for the compiler */
|
||||
|
@ -1,12 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_register.h"
|
||||
#include "i40e_type.h"
|
||||
#include "i40e_hmc.h"
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_debug.h"
|
||||
#include "i40e_lan_hmc.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include "i40e_type.h"
|
||||
|
||||
/* lan specific interface functions */
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
#ifndef _I40E_LAN_HMC_H_
|
||||
#define _I40E_LAN_HMC_H_
|
||||
|
||||
#include "i40e_hmc.h"
|
||||
|
||||
/* forward-declare the HW struct for the compiler */
|
||||
struct i40e_hw;
|
||||
|
||||
|
@ -1,19 +1,22 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2021 Intel Corporation. */
|
||||
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/of_net.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/bpf.h>
|
||||
#include <generated/utsrelease.h>
|
||||
#include <linux/crash_dump.h>
|
||||
#include <linux/if_bridge.h>
|
||||
#include <linux/if_macvlan.h>
|
||||
#include <linux/module.h>
|
||||
#include <net/pkt_cls.h>
|
||||
#include <net/xdp_sock_drv.h>
|
||||
|
||||
/* Local includes */
|
||||
#include "i40e.h"
|
||||
#include "i40e_devids.h"
|
||||
#include "i40e_diag.h"
|
||||
#include "i40e_lan_hmc.h"
|
||||
#include "i40e_virtchnl_pf.h"
|
||||
#include "i40e_xsk.h"
|
||||
#include <net/udp_tunnel.h>
|
||||
#include <net/xdp_sock_drv.h>
|
||||
|
||||
/* All i40e tracepoints are defined by the include below, which
|
||||
* must be included exactly once across the whole kernel with
|
||||
* CREATE_TRACE_POINTS defined
|
||||
|
@ -1,6 +1,8 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_prototype.h"
|
||||
|
||||
/**
|
||||
|
@ -4,10 +4,9 @@
|
||||
#ifndef _I40E_PROTOTYPE_H_
|
||||
#define _I40E_PROTOTYPE_H_
|
||||
|
||||
#include "i40e_type.h"
|
||||
#include "i40e_alloc.h"
|
||||
#include "i40e_debug.h"
|
||||
#include <linux/avf/virtchnl.h>
|
||||
#include "i40e_debug.h"
|
||||
#include "i40e_type.h"
|
||||
|
||||
/* Prototypes for shared code functions that are not in
|
||||
* the standard function pointer structures. These are
|
||||
|
@ -1,9 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include "i40e.h"
|
||||
#include <linux/ptp_classify.h>
|
||||
#include <linux/posix-clock.h>
|
||||
#include "i40e.h"
|
||||
#include "i40e_devids.h"
|
||||
|
||||
/* The XL710 timesync is very much like Intel's 82599 design when it comes to
|
||||
* the fundamental clock design. However, the clock operations are much simpler
|
||||
|
@ -1,14 +1,13 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/bpf_trace.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/sctp.h>
|
||||
#include <net/mpls.h>
|
||||
#include <net/xdp.h>
|
||||
#include "i40e.h"
|
||||
#include "i40e_trace.h"
|
||||
#include "i40e_prototype.h"
|
||||
#include "i40e_txrx_common.h"
|
||||
#include "i40e_trace.h"
|
||||
#include "i40e_xsk.h"
|
||||
|
||||
#define I40E_TXD_CMD (I40E_TX_DESC_CMD_EOP | I40E_TX_DESC_CMD_RS)
|
||||
|
@ -5,6 +5,7 @@
|
||||
#define _I40E_TXRX_H_
|
||||
|
||||
#include <net/xdp.h>
|
||||
#include "i40e_type.h"
|
||||
|
||||
/* Interrupt Throttling and Rate Limiting Goodies */
|
||||
#define I40E_DEFAULT_IRQ_WORK 256
|
||||
|
@ -4,6 +4,8 @@
|
||||
#ifndef I40E_TXRX_COMMON_
|
||||
#define I40E_TXRX_COMMON_
|
||||
|
||||
#include "i40e.h"
|
||||
|
||||
int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
|
||||
void i40e_clean_programming_status(struct i40e_ring *rx_ring, u64 qword0_raw,
|
||||
u64 qword1);
|
||||
|
@ -4,14 +4,9 @@
|
||||
#ifndef _I40E_TYPE_H_
|
||||
#define _I40E_TYPE_H_
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include "i40e_io.h"
|
||||
#include "i40e_register.h"
|
||||
#include <uapi/linux/if_ether.h>
|
||||
#include "i40e_adminq.h"
|
||||
#include "i40e_hmc.h"
|
||||
#include "i40e_lan_hmc.h"
|
||||
#include "i40e_devids.h"
|
||||
|
||||
#define I40E_MAX_VSI_QP 16
|
||||
#define I40E_MAX_VF_VSI 4
|
||||
|
@ -2,6 +2,8 @@
|
||||
/* Copyright(c) 2013 - 2018 Intel Corporation. */
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_lan_hmc.h"
|
||||
#include "i40e_virtchnl_pf.h"
|
||||
|
||||
/*********************notification routines***********************/
|
||||
|
||||
|
@ -4,7 +4,9 @@
|
||||
#ifndef _I40E_VIRTCHNL_PF_H_
|
||||
#define _I40E_VIRTCHNL_PF_H_
|
||||
|
||||
#include "i40e.h"
|
||||
#include <linux/avf/virtchnl.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include "i40e_type.h"
|
||||
|
||||
#define I40E_MAX_VLANID 4095
|
||||
|
||||
|
@ -2,11 +2,7 @@
|
||||
/* Copyright(c) 2018 Intel Corporation. */
|
||||
|
||||
#include <linux/bpf_trace.h>
|
||||
#include <linux/stringify.h>
|
||||
#include <net/xdp_sock_drv.h>
|
||||
#include <net/xdp.h>
|
||||
|
||||
#include "i40e.h"
|
||||
#include "i40e_txrx_common.h"
|
||||
#include "i40e_xsk.h"
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
#ifndef _I40E_XSK_H_
|
||||
#define _I40E_XSK_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* This value should match the pragma in the loop_unrolled_for
|
||||
* macro. Why 4? It is strictly empirical. It seems to be a good
|
||||
* compromise between the advantage of having simultaneous outstanding
|
||||
@ -20,7 +22,9 @@
|
||||
#define loop_unrolled_for for
|
||||
#endif
|
||||
|
||||
struct i40e_ring;
|
||||
struct i40e_vsi;
|
||||
struct net_device;
|
||||
struct xsk_buff_pool;
|
||||
|
||||
int i40e_queue_pair_disable(struct i40e_vsi *vsi, int queue_pair);
|
||||
|
Loading…
Reference in New Issue
Block a user