#ifndef _E1000_IGB_HW_H_
#define _E1000_IGB_HW_H_
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/netdevice.h>
#include "e1000_regs.h"
#include "e1000_defines.h"
struct e1000_hw;
#define E1000_DEV_ID_82576 …
#define E1000_DEV_ID_82576_FIBER …
#define E1000_DEV_ID_82576_SERDES …
#define E1000_DEV_ID_82576_QUAD_COPPER …
#define E1000_DEV_ID_82576_QUAD_COPPER_ET2 …
#define E1000_DEV_ID_82576_NS …
#define E1000_DEV_ID_82576_NS_SERDES …
#define E1000_DEV_ID_82576_SERDES_QUAD …
#define E1000_DEV_ID_82575EB_COPPER …
#define E1000_DEV_ID_82575EB_FIBER_SERDES …
#define E1000_DEV_ID_82575GB_QUAD_COPPER …
#define E1000_DEV_ID_82580_COPPER …
#define E1000_DEV_ID_82580_FIBER …
#define E1000_DEV_ID_82580_SERDES …
#define E1000_DEV_ID_82580_SGMII …
#define E1000_DEV_ID_82580_COPPER_DUAL …
#define E1000_DEV_ID_82580_QUAD_FIBER …
#define E1000_DEV_ID_DH89XXCC_SGMII …
#define E1000_DEV_ID_DH89XXCC_SERDES …
#define E1000_DEV_ID_DH89XXCC_BACKPLANE …
#define E1000_DEV_ID_DH89XXCC_SFP …
#define E1000_DEV_ID_I350_COPPER …
#define E1000_DEV_ID_I350_FIBER …
#define E1000_DEV_ID_I350_SERDES …
#define E1000_DEV_ID_I350_SGMII …
#define E1000_DEV_ID_I210_COPPER …
#define E1000_DEV_ID_I210_FIBER …
#define E1000_DEV_ID_I210_SERDES …
#define E1000_DEV_ID_I210_SGMII …
#define E1000_DEV_ID_I210_COPPER_FLASHLESS …
#define E1000_DEV_ID_I210_SERDES_FLASHLESS …
#define E1000_DEV_ID_I211_COPPER …
#define E1000_DEV_ID_I354_BACKPLANE_1GBPS …
#define E1000_DEV_ID_I354_SGMII …
#define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS …
#define E1000_REVISION_2 …
#define E1000_REVISION_4 …
#define E1000_FUNC_0 …
#define E1000_FUNC_1 …
#define E1000_FUNC_2 …
#define E1000_FUNC_3 …
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN0 …
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN1 …
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN2 …
#define E1000_ALT_MAC_ADDRESS_OFFSET_LAN3 …
enum e1000_mac_type { … };
enum e1000_media_type { … };
enum e1000_nvm_type { … };
enum e1000_nvm_override { … };
enum e1000_phy_type { … };
enum e1000_bus_type { … };
enum e1000_bus_speed { … };
enum e1000_bus_width { … };
enum e1000_1000t_rx_status { … };
enum e1000_rev_polarity { … };
enum e1000_fc_mode { … };
struct e1000_hw_stats { … };
struct e1000_host_mng_dhcp_cookie { … };
struct e1000_host_command_header { … };
#define E1000_HI_MAX_DATA_LENGTH …
struct e1000_host_command_info { … };
struct e1000_host_mng_command_header { … };
#define E1000_HI_MAX_MNG_DATA_LENGTH …
struct e1000_host_mng_command_info { … };
#include "e1000_mac.h"
#include "e1000_phy.h"
#include "e1000_nvm.h"
#include "e1000_mbx.h"
struct e1000_mac_operations { … };
struct e1000_phy_operations { … };
struct e1000_nvm_operations { … };
#define E1000_MAX_SENSORS …
struct e1000_thermal_diode_data { … };
struct e1000_thermal_sensor_data { … };
struct e1000_info { … };
extern const struct e1000_info e1000_82575_info;
struct e1000_mac_info { … };
struct e1000_phy_info { … };
struct e1000_nvm_info { … };
struct e1000_bus_info { … };
struct e1000_fc_info { … };
struct e1000_mbx_operations { … };
struct e1000_mbx_stats { … };
struct e1000_mbx_info { … };
struct e1000_dev_spec_82575 { … };
struct e1000_hw { … };
struct net_device *igb_get_hw_dev(struct e1000_hw *hw);
#define hw_dbg(format, arg...) …
s32 igb_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value);
s32 igb_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value);
void igb_read_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value);
void igb_write_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value);
#endif