[dpdk-dev] [PATCH v3] drivers/net: add generic ethdev macro to get PCI device

Andrew Rybchenko arybchenko at solarflare.com
Mon May 15 12:54:03 CEST 2017


On 05/15/2017 01:24 PM, Ferruh Yigit wrote:
> Instead of many PMD define their own macro, define a generic one in
> ethdev and use that in PMDs.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> Acked-by: Allain Legacy <allain.legacy at windriver.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu at intel.com>

Acked-by: Andrew Rybchenko <arybchenko at solarflare.com>

> ---
>
> v3:
> * rebased on top of latest next-net, there were updates in ixgbe and
> virtio
>
> v2:
> * Convert RTE_DEV_TO_PCI(eth_dev->device) to RTE_ETH_DEV_TO_PCI(eth_dev)
> ---
>   drivers/net/ark/ark_ethdev.c            |  4 ++--
>   drivers/net/ark/ark_ethdev.h            |  4 ----
>   drivers/net/avp/avp_ethdev.c            | 27 ++++++++++------------
>   drivers/net/bnx2x/bnx2x_ethdev.c        |  4 ++--
>   drivers/net/bnxt/bnxt_ethdev.c          |  6 ++---
>   drivers/net/bonding/rte_eth_bond_args.c |  2 +-
>   drivers/net/cxgbe/cxgbe_ethdev.c        |  4 ++--
>   drivers/net/e1000/e1000_ethdev.h        |  2 --
>   drivers/net/e1000/em_ethdev.c           | 15 ++++++-------
>   drivers/net/e1000/igb_ethdev.c          | 28 +++++++++++------------
>   drivers/net/e1000/igb_pf.c              |  2 +-
>   drivers/net/ena/ena_ethdev.c            |  4 ++--
>   drivers/net/enic/enic_ethdev.c          |  4 ++--
>   drivers/net/fm10k/fm10k_ethdev.c        | 16 ++++++-------
>   drivers/net/i40e/i40e_ethdev.c          | 30 ++++++++++++-------------
>   drivers/net/i40e/i40e_ethdev.h          |  3 ---
>   drivers/net/i40e/i40e_ethdev_vf.c       | 20 ++++++++---------
>   drivers/net/ixgbe/ixgbe_ethdev.c        | 40 ++++++++++++++++-----------------
>   drivers/net/ixgbe/ixgbe_ethdev.h        |  3 ---
>   drivers/net/ixgbe/ixgbe_pf.c            |  2 +-
>   drivers/net/ixgbe/rte_pmd_ixgbe.c       | 20 ++++++++---------
>   drivers/net/liquidio/lio_ethdev.c       |  2 +-
>   drivers/net/mlx4/mlx4.c                 |  2 +-
>   drivers/net/mlx5/mlx5_ethdev.c          |  2 +-
>   drivers/net/nfp/nfp_net.c               | 16 ++++++-------
>   drivers/net/qede/qede_ethdev.c          |  6 ++---
>   drivers/net/sfc/sfc.c                   |  4 ++--
>   drivers/net/sfc/sfc.h                   |  3 ---
>   drivers/net/sfc/sfc_debug.h             |  3 ++-
>   drivers/net/sfc/sfc_ethdev.c            |  4 ++--
>   drivers/net/sfc/sfc_intr.c              | 10 ++++-----
>   drivers/net/sfc/sfc_log.h               |  3 ++-
>   drivers/net/sfc/sfc_rx.c                |  2 +-
>   drivers/net/sfc/sfc_tx.c                |  2 +-
>   drivers/net/szedata2/rte_eth_szedata2.c |  6 ++---
>   drivers/net/thunderx/nicvf_ethdev.c     |  6 ++---
>   drivers/net/virtio/virtio_ethdev.c      | 11 +++++----
>   drivers/net/vmxnet3/vmxnet3_ethdev.c    |  4 ++--
>   lib/librte_ether/rte_ethdev.h           |  2 ++
>   39 files changed, 156 insertions(+), 172 deletions(-)
>
> diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
> index 995c93d..5c45038 100644
> --- a/drivers/net/ark/ark_ethdev.c
> +++ b/drivers/net/ark/ark_ethdev.c
> @@ -278,7 +278,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
>   	ret = check_for_ext(ark);
>   	if (ret)
>   		return ret;
> -	pci_dev = ARK_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	rte_eth_copy_pci_info(dev, pci_dev);
>   
>   	/* Use dummy function until setup */
> @@ -751,7 +751,7 @@ eth_ark_dev_info_get(struct rte_eth_dev *dev,
>   				ETH_LINK_SPEED_40G |
>   				ETH_LINK_SPEED_50G |
>   				ETH_LINK_SPEED_100G);
> -	dev_info->pci_dev = ARK_DEV_TO_PCI(dev);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   }
>   
>   static int
> diff --git a/drivers/net/ark/ark_ethdev.h b/drivers/net/ark/ark_ethdev.h
> index 9f8d32f..df5547b 100644
> --- a/drivers/net/ark/ark_ethdev.h
> +++ b/drivers/net/ark/ark_ethdev.h
> @@ -34,8 +34,4 @@
>   #ifndef _ARK_ETHDEV_H_
>   #define _ARK_ETHDEV_H_
>   
> -#define ARK_DEV_TO_PCI(eth_dev)			\
> -	RTE_DEV_TO_PCI((eth_dev)->device)
> -
> -
>   #endif
> diff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c
> index b08dbaa..3554645 100644
> --- a/drivers/net/avp/avp_ethdev.c
> +++ b/drivers/net/avp/avp_ethdev.c
> @@ -112,9 +112,6 @@ static void avp_dev_stats_get(struct rte_eth_dev *dev,
>   static void avp_dev_stats_reset(struct rte_eth_dev *dev);
>   
>   
> -#define AVP_DEV_TO_PCI(eth_dev) RTE_DEV_TO_PCI((eth_dev)->device)
> -
> -
>   #define AVP_MAX_RX_BURST 64
>   #define AVP_MAX_TX_BURST 64
>   #define AVP_MAX_MAC_ADDRS 1
> @@ -392,7 +389,7 @@ static void *
>   avp_dev_translate_address(struct rte_eth_dev *eth_dev,
>   			  phys_addr_t host_phys_addr)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_mem_resource *resource;
>   	struct rte_avp_memmap_info *info;
>   	struct rte_avp_memmap *map;
> @@ -445,7 +442,7 @@ avp_dev_version_check(uint32_t version)
>   static int
>   avp_dev_check_regions(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_avp_memmap_info *memmap;
>   	struct rte_avp_device_info *info;
>   	struct rte_mem_resource *resource;
> @@ -581,7 +578,7 @@ _avp_set_rx_queue_mappings(struct rte_eth_dev *eth_dev, uint16_t rx_queue_id)
>   static void
>   _avp_set_queue_counts(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct avp_dev *avp = AVP_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
>   	struct rte_avp_device_info *host_info;
>   	void *addr;
> @@ -641,7 +638,7 @@ avp_dev_attach(struct rte_eth_dev *eth_dev)
>   	 * re-run the device create utility which will parse the new host info
>   	 * and setup the AVP device queue pointers.
>   	 */
> -	ret = avp_dev_create(AVP_DEV_TO_PCI(eth_dev), eth_dev);
> +	ret = avp_dev_create(RTE_ETH_DEV_TO_PCI(eth_dev), eth_dev);
>   	if (ret < 0) {
>   		PMD_DRV_LOG(ERR, "Failed to re-create AVP device, ret=%d\n",
>   			    ret);
> @@ -695,7 +692,7 @@ static void
>   avp_dev_interrupt_handler(void *data)
>   {
>   	struct rte_eth_dev *eth_dev = data;
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	void *registers = pci_dev->mem_resource[RTE_AVP_PCI_MMIO_BAR].addr;
>   	uint32_t status, value;
>   	int ret;
> @@ -754,7 +751,7 @@ avp_dev_interrupt_handler(void *data)
>   static int
>   avp_dev_enable_interrupts(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	void *registers = pci_dev->mem_resource[RTE_AVP_PCI_MMIO_BAR].addr;
>   	int ret;
>   
> @@ -779,7 +776,7 @@ avp_dev_enable_interrupts(struct rte_eth_dev *eth_dev)
>   static int
>   avp_dev_disable_interrupts(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	void *registers = pci_dev->mem_resource[RTE_AVP_PCI_MMIO_BAR].addr;
>   	int ret;
>   
> @@ -804,7 +801,7 @@ avp_dev_disable_interrupts(struct rte_eth_dev *eth_dev)
>   static int
>   avp_dev_setup_interrupts(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	int ret;
>   
>   	/* register a callback handler with UIO for interrupt notifications */
> @@ -824,7 +821,7 @@ avp_dev_setup_interrupts(struct rte_eth_dev *eth_dev)
>   static int
>   avp_dev_migration_pending(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	void *registers = pci_dev->mem_resource[RTE_AVP_PCI_MMIO_BAR].addr;
>   	uint32_t value;
>   
> @@ -985,7 +982,7 @@ eth_avp_dev_init(struct rte_eth_dev *eth_dev)
>   	struct rte_pci_device *pci_dev;
>   	int ret;
>   
> -	pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	eth_dev->dev_ops = &avp_eth_dev_ops;
>   	eth_dev->rx_pkt_burst = &avp_recv_pkts;
>   	eth_dev->tx_pkt_burst = &avp_xmit_pkts;
> @@ -2010,7 +2007,7 @@ avp_dev_tx_queue_release(void *tx_queue)
>   static int
>   avp_dev_configure(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = AVP_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct avp_dev *avp = AVP_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
>   	struct rte_avp_device_info *host_info;
>   	struct rte_avp_device_config config;
> @@ -2206,7 +2203,7 @@ avp_dev_info_get(struct rte_eth_dev *eth_dev,
>   	struct avp_dev *avp = AVP_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
>   
>   	dev_info->driver_name = "rte_avp_pmd";
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	dev_info->max_rx_queues = avp->max_rx_queues;
>   	dev_info->max_tx_queues = avp->max_tx_queues;
>   	dev_info->min_rx_bufsize = AVP_MIN_RX_BUFSIZE;
> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
> index 90cbb6c..b26e280 100644
> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
> @@ -442,7 +442,7 @@ static void
>   bnx2x_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   {
>   	struct bnx2x_softc *sc = dev->data->dev_private;
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->max_rx_queues  = sc->max_rx_queues;
>   	dev_info->max_tx_queues  = sc->max_tx_queues;
>   	dev_info->min_rx_bufsize = BNX2X_MIN_RX_BUF_SIZE;
> @@ -531,7 +531,7 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	eth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops : &bnx2x_eth_dev_ops;
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	rte_eth_copy_pci_info(eth_dev, pci_dev);
>   
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index e659c57..c230394 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -338,7 +338,7 @@ static void bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
>   	struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private;
>   	uint16_t max_vnics, i, j, vpool, vrxq;
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	/* MAC Specifics */
>   	dev_info->max_mac_addrs = MAX_NUM_MAC_ADDR;
> @@ -1049,7 +1049,7 @@ static bool bnxt_vf_pciid(uint16_t id)
>   static int bnxt_init_board(struct rte_eth_dev *eth_dev)
>   {
>   	struct bnxt *bp = eth_dev->data->dev_private;
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	int rc;
>   
>   	/* enable device (incl. PCI PM wakeup), and bus-mastering */
> @@ -1085,7 +1085,7 @@ static int bnxt_dev_uninit(struct rte_eth_dev *eth_dev);
>   static int
>   bnxt_dev_init(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	static int version_printed;
>   	struct bnxt *bp;
>   	int rc;
> diff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c
> index 3155fca..dc468d2 100644
> --- a/drivers/net/bonding/rte_eth_bond_args.c
> +++ b/drivers/net/bonding/rte_eth_bond_args.c
> @@ -69,7 +69,7 @@ find_port_id_by_pci_addr(const struct rte_pci_addr *pci_addr)
>   		    rte_eth_devices[i].data->kdrv == RTE_KDRV_NONE)
>   			continue;
>   
> -		pci_dev = RTE_DEV_TO_PCI(rte_eth_devices[i].device);
> +		pci_dev = RTE_ETH_DEV_TO_PCI(&rte_eth_devices[i]);
>   		eth_pci_addr = &pci_dev->addr;
>   
>   		if (pci_addr->bus == eth_pci_addr->bus &&
> diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
> index 34fed84..2e2f2cf 100644
> --- a/drivers/net/cxgbe/cxgbe_ethdev.c
> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
> @@ -148,7 +148,7 @@ static void cxgbe_dev_info_get(struct rte_eth_dev *eth_dev,
>   		.nb_align = 1,
>   	};
>   
> -	device_info->pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	device_info->pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	device_info->min_rx_bufsize = CXGBE_MIN_RX_BUFSIZE;
>   	device_info->max_rx_pktlen = CXGBE_MAX_RX_PKTLEN;
> @@ -1008,7 +1008,7 @@ static int eth_cxgbe_dev_init(struct rte_eth_dev *eth_dev)
>   	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
>   		return 0;
>   
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	snprintf(name, sizeof(name), "cxgbeadapter%d", eth_dev->data->port_id);
>   	adapter = rte_zmalloc(name, sizeof(*adapter), 0);
> diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h
> index 8352d0a..4979895 100644
> --- a/drivers/net/e1000/e1000_ethdev.h
> +++ b/drivers/net/e1000/e1000_ethdev.h
> @@ -291,8 +291,6 @@ struct e1000_adapter {
>   #define E1000_DEV_PRIVATE_TO_FILTER_INFO(adapter) \
>   	(&((struct e1000_adapter *)adapter)->filter)
>   
> -#define E1000_DEV_TO_PCI(eth_dev) \
> -	RTE_DEV_TO_PCI((eth_dev)->device)
>   /*
>    * RX/TX IGB function prototypes
>    */
> diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
> index 57eb017..132de6e 100644
> --- a/drivers/net/e1000/em_ethdev.c
> +++ b/drivers/net/e1000/em_ethdev.c
> @@ -316,7 +316,7 @@ eth_em_dev_is_ich8(struct e1000_hw *hw)
>   static int
>   eth_em_dev_init(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct e1000_adapter *adapter =
>   		E1000_DEV_PRIVATE(eth_dev->data->dev_private);
> @@ -390,7 +390,7 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
>   static int
>   eth_em_dev_uninit(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct e1000_adapter *adapter =
>   		E1000_DEV_PRIVATE(eth_dev->data->dev_private);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
> @@ -593,8 +593,7 @@ eth_em_start(struct rte_eth_dev *dev)
>   		E1000_DEV_PRIVATE(dev->data->dev_private);
>   	struct e1000_hw *hw =
>   		E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev =
> -		E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	int ret, mask;
>   	uint32_t intr_vector = 0;
> @@ -777,7 +776,7 @@ eth_em_stop(struct rte_eth_dev *dev)
>   {
>   	struct rte_eth_link link;
>   	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	em_rxq_intr_disable(hw);
> @@ -1041,7 +1040,7 @@ static int
>   eth_em_rx_queue_intr_enable(struct rte_eth_dev *dev, __rte_unused uint16_t queue_id)
>   {
>   	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	em_rxq_intr_enable(hw);
> @@ -1091,7 +1090,7 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   {
>   	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->min_rx_bufsize = 256; /* See BSIZE field of RCTL register. */
>   	dev_info->max_rx_pktlen = em_get_max_pktlen(hw);
>   	dev_info->max_mac_addrs = hw->mac.rar_entry_count;
> @@ -1598,7 +1597,7 @@ static int
>   eth_em_interrupt_action(struct rte_eth_dev *dev,
>   			struct rte_intr_handle *intr_handle)
>   {
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct e1000_hw *hw =
>   		E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct e1000_interrupt *intr =
> diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
> index 707b8e9..0040170 100644
> --- a/drivers/net/e1000/igb_ethdev.c
> +++ b/drivers/net/e1000/igb_ethdev.c
> @@ -760,7 +760,7 @@ static int
>   eth_igb_dev_init(struct rte_eth_dev *eth_dev)
>   {
>   	int error = 0;
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct e1000_hw *hw =
>   		E1000_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
>   	struct e1000_vfta * shadow_vfta =
> @@ -936,7 +936,7 @@ eth_igb_dev_uninit(struct rte_eth_dev *eth_dev)
>   		return -EPERM;
>   
>   	hw = E1000_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
> -	pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	intr_handle = &pci_dev->intr_handle;
>   
>   	if (adapter->stopped == 0)
> @@ -994,7 +994,7 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
>   		return 0;
>   	}
>   
> -	pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	rte_eth_copy_pci_info(eth_dev, pci_dev);
>   	eth_dev->data->dev_flags |= RTE_ETH_DEV_DETACHABLE;
>   
> @@ -1071,7 +1071,7 @@ eth_igbvf_dev_uninit(struct rte_eth_dev *eth_dev)
>   {
>   	struct e1000_adapter *adapter =
>   		E1000_DEV_PRIVATE(eth_dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	PMD_INIT_FUNC_TRACE();
>   
> @@ -1252,7 +1252,7 @@ eth_igb_start(struct rte_eth_dev *dev)
>   		E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct e1000_adapter *adapter =
>   		E1000_DEV_PRIVATE(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	int ret, mask;
>   	uint32_t intr_vector = 0;
> @@ -1461,7 +1461,7 @@ eth_igb_stop(struct rte_eth_dev *dev)
>   	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct e1000_filter_info *filter_info =
>   		E1000_DEV_PRIVATE_TO_FILTER_INFO(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_eth_link link;
>   	struct e1000_flex_filter *p_flex;
>   	struct e1000_5tuple_filter *p_5tuple, *p_5tuple_next;
> @@ -1566,7 +1566,7 @@ eth_igb_close(struct rte_eth_dev *dev)
>   	struct e1000_adapter *adapter =
>   		E1000_DEV_PRIVATE(dev->data->dev_private);
>   	struct rte_eth_link link;
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	eth_igb_stop(dev);
> @@ -2152,7 +2152,7 @@ eth_igb_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   {
>   	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->min_rx_bufsize = 256; /* See BSIZE field of RCTL register. */
>   	dev_info->max_rx_pktlen  = 0x3FFF; /* See RLPML register. */
>   	dev_info->max_mac_addrs = hw->mac.rar_entry_count;
> @@ -2281,7 +2281,7 @@ eth_igbvf_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   {
>   	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->min_rx_bufsize = 256; /* See BSIZE field of RCTL register. */
>   	dev_info->max_rx_pktlen  = 0x3FFF; /* See RLPML register. */
>   	dev_info->max_mac_addrs = hw->mac.rar_entry_count;
> @@ -2813,7 +2813,7 @@ eth_igb_interrupt_action(struct rte_eth_dev *dev,
>   		E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct e1000_interrupt *intr =
>   		E1000_DEV_PRIVATE_TO_INTR(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	uint32_t tctl, rctl;
>   	struct rte_eth_link link;
>   	int ret;
> @@ -3229,7 +3229,7 @@ igbvf_dev_start(struct rte_eth_dev *dev)
>   		E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct e1000_adapter *adapter =
>   		E1000_DEV_PRIVATE(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	int ret;
>   	uint32_t intr_vector = 0;
> @@ -3285,7 +3285,7 @@ igbvf_dev_start(struct rte_eth_dev *dev)
>   static void
>   igbvf_dev_stop(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	PMD_INIT_FUNC_TRACE();
> @@ -5271,7 +5271,7 @@ eth_igb_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
>   	struct e1000_hw *hw =
>   		E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t mask = 1 << queue_id;
>   	uint32_t regval;
> @@ -5344,7 +5344,7 @@ eth_igb_configure_msix_intr(struct rte_eth_dev *dev)
>   	uint32_t vec = E1000_MISC_VEC_ID;
>   	uint32_t base = E1000_MISC_VEC_ID;
>   	uint32_t misc_shift = 0;
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	/* won't configure msix register if no mapping is done
> diff --git a/drivers/net/e1000/igb_pf.c b/drivers/net/e1000/igb_pf.c
> index 923c78a..6809d30 100644
> --- a/drivers/net/e1000/igb_pf.c
> +++ b/drivers/net/e1000/igb_pf.c
> @@ -57,7 +57,7 @@
>   static inline uint16_t
>   dev_num_vf(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = E1000_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	return pci_dev->max_vfs;
>   }
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index c30c703..e7af041 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -1289,7 +1289,7 @@ static int eth_ena_dev_init(struct rte_eth_dev *eth_dev)
>   	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
>   		return 0;
>   
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	adapter->pdev = pci_dev;
>   
>   	PMD_INIT_LOG(INFO, "Initializing %x:%x:%x.%d",
> @@ -1451,7 +1451,7 @@ static void ena_infos_get(struct rte_eth_dev *dev,
>   	ena_dev = &adapter->ena_dev;
>   	ena_assert_msg(ena_dev != NULL, "Uninitialized device");
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	dev_info->speed_capa =
>   			ETH_LINK_SPEED_1G   |
> diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
> index 372bae7..8e16a71 100644
> --- a/drivers/net/enic/enic_ethdev.c
> +++ b/drivers/net/enic/enic_ethdev.c
> @@ -455,7 +455,7 @@ static void enicpmd_dev_info_get(struct rte_eth_dev *eth_dev,
>   	struct enic *enic = pmd_priv(eth_dev);
>   
>   	ENICPMD_FUNC_TRACE();
> -	device_info->pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	device_info->pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	/* Scattered Rx uses two receive queues per rx queue exposed to dpdk */
>   	device_info->max_rx_queues = enic->conf_rq_count / 2;
>   	device_info->max_tx_queues = enic->conf_wq_count;
> @@ -619,7 +619,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
>   	eth_dev->rx_pkt_burst = &enic_recv_pkts;
>   	eth_dev->tx_pkt_burst = &enic_xmit_pkts;
>   
> -	pdev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pdev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	rte_eth_copy_pci_info(eth_dev, pdev);
>   	enic->pdev = pdev;
>   	addr = &pdev->addr;
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
> index 1982359..396f02b 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -712,7 +712,7 @@ fm10k_dev_rx_init(struct rte_eth_dev *dev)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct fm10k_macvlan_filter_info *macvlan;
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pdev->intr_handle;
>   	int i, ret;
>   	struct fm10k_rx_queue *rxq;
> @@ -1173,7 +1173,7 @@ static void
>   fm10k_dev_stop(struct rte_eth_dev *dev)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pdev->intr_handle;
>   	int i;
>   
> @@ -1393,7 +1393,7 @@ fm10k_dev_infos_get(struct rte_eth_dev *dev,
>   	struct rte_eth_dev_info *dev_info)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	PMD_INIT_FUNC_TRACE();
>   
> @@ -2345,7 +2345,7 @@ static int
>   fm10k_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	/* Enable ITR */
>   	if (hw->mac.type == fm10k_mac_pf)
> @@ -2362,7 +2362,7 @@ static int
>   fm10k_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	/* Disable ITR */
>   	if (hw->mac.type == fm10k_mac_pf)
> @@ -2378,7 +2378,7 @@ static int
>   fm10k_dev_rxq_interrupt_setup(struct rte_eth_dev *dev)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pdev->intr_handle;
>   	uint32_t intr_vector, vec;
>   	uint16_t queue_id;
> @@ -2882,7 +2882,7 @@ static int
>   eth_fm10k_dev_init(struct rte_eth_dev *dev)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pdev->intr_handle;
>   	int diag, i;
>   	struct fm10k_macvlan_filter_info *macvlan;
> @@ -3069,7 +3069,7 @@ static int
>   eth_fm10k_dev_uninit(struct rte_eth_dev *dev)
>   {
>   	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pdev->intr_handle;
>   	PMD_INIT_FUNC_TRACE();
>   
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 4c49673..d57a7af 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -879,7 +879,7 @@ is_floating_veb_supported(struct rte_devargs *devargs)
>   static void
>   config_floating_veb(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
> @@ -1061,7 +1061,7 @@ eth_i40e_dev_init(struct rte_eth_dev *dev)
>   		return 0;
>   	}
>   	i40e_set_default_ptype_table(dev);
> -	pci_dev = I40E_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	intr_handle = &pci_dev->intr_handle;
>   
>   	rte_eth_copy_pci_info(dev, pci_dev);
> @@ -1414,7 +1414,7 @@ eth_i40e_dev_uninit(struct rte_eth_dev *dev)
>   
>   	pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
>   	hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	pci_dev = I40E_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	intr_handle = &pci_dev->intr_handle;
>   
>   	if (hw->adapter_stopped == 0)
> @@ -1547,7 +1547,7 @@ void
>   i40e_vsi_queues_unbind_intr(struct i40e_vsi *vsi)
>   {
>   	struct rte_eth_dev *dev = vsi->adapter->eth_dev;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_VSI_TO_HW(vsi);
>   	uint16_t msix_vect = vsi->msix_intr;
> @@ -1661,7 +1661,7 @@ void
>   i40e_vsi_queues_bind_intr(struct i40e_vsi *vsi)
>   {
>   	struct rte_eth_dev *dev = vsi->adapter->eth_dev;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_VSI_TO_HW(vsi);
>   	uint16_t msix_vect = vsi->msix_intr;
> @@ -1733,7 +1733,7 @@ static void
>   i40e_vsi_enable_queues_intr(struct i40e_vsi *vsi)
>   {
>   	struct rte_eth_dev *dev = vsi->adapter->eth_dev;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_VSI_TO_HW(vsi);
>   	uint16_t interval = i40e_calc_itr_interval(\
> @@ -1765,7 +1765,7 @@ static void
>   i40e_vsi_disable_queues_intr(struct i40e_vsi *vsi)
>   {
>   	struct rte_eth_dev *dev = vsi->adapter->eth_dev;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_VSI_TO_HW(vsi);
>   	uint16_t msix_intr, i;
> @@ -1892,7 +1892,7 @@ i40e_dev_start(struct rte_eth_dev *dev)
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct i40e_vsi *main_vsi = pf->main_vsi;
>   	int ret, i;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t intr_vector = 0;
>   	struct i40e_vsi *vsi;
> @@ -2040,7 +2040,7 @@ i40e_dev_stop(struct rte_eth_dev *dev)
>   	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
>   	struct i40e_vsi *main_vsi = pf->main_vsi;
>   	struct i40e_mirror_rule *p_mirror;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	int i;
>   
> @@ -2092,7 +2092,7 @@ i40e_dev_close(struct rte_eth_dev *dev)
>   {
>   	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t reg;
>   	int i;
> @@ -2849,7 +2849,7 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct i40e_vsi *vsi = pf->main_vsi;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	dev_info->pci_dev = pci_dev;
>   	dev_info->max_rx_queues = vsi->nb_qps;
> @@ -3768,7 +3768,7 @@ i40e_pf_parameter_init(struct rte_eth_dev *dev)
>   {
>   	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_PF_TO_HW(pf);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	uint16_t qp_count = 0, vsi_count = 0;
>   
>   	if (pci_dev->max_vfs && !hw->func_caps.sr_iov_1_1) {
> @@ -8988,7 +8988,7 @@ i40e_dev_filter_ctrl(struct rte_eth_dev *dev,
>   static void
>   i40e_enable_extended_tag(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	uint32_t buf = 0;
>   	int ret;
>   
> @@ -10436,7 +10436,7 @@ i40e_dev_get_dcb_info(struct rte_eth_dev *dev,
>   static int
>   i40e_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	uint16_t interval =
> @@ -10470,7 +10470,7 @@ i40e_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   static int
>   i40e_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	uint16_t msix_intr;
> diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
> index 677c214..b08902d 100644
> --- a/drivers/net/i40e/i40e_ethdev.h
> +++ b/drivers/net/i40e/i40e_ethdev.h
> @@ -892,9 +892,6 @@ int i40e_add_macvlan_filters(struct i40e_vsi *vsi,
>   			     int total);
>   bool is_i40e_supported(struct rte_eth_dev *dev);
>   
> -#define I40E_DEV_TO_PCI(eth_dev) \
> -	RTE_DEV_TO_PCI((eth_dev)->device)
> -
>   /* I40E_DEV_PRIVATE_TO */
>   #define I40E_DEV_PRIVATE_TO_PF(adapter) \
>   	(&((struct i40e_adapter *)adapter)->pf)
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
> index a33ab14..124cf63 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -727,7 +727,7 @@ i40evf_config_irq_map(struct rte_eth_dev *dev)
>   	uint8_t cmd_buffer[sizeof(struct i40e_virtchnl_irq_map_info) + \
>   		sizeof(struct i40e_virtchnl_vector_map)];
>   	struct i40e_virtchnl_irq_map_info *map_info;
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t vector_id;
>   	int i, err;
> @@ -1459,7 +1459,7 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
>   {
>   	struct i40e_hw *hw
>   		= I40E_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	PMD_INIT_FUNC_TRACE();
>   
> @@ -1883,7 +1883,7 @@ i40evf_enable_queues_intr(struct rte_eth_dev *dev)
>   {
>   	struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	if (!rte_intr_allow_others(intr_handle)) {
> @@ -1916,7 +1916,7 @@ i40evf_disable_queues_intr(struct rte_eth_dev *dev)
>   {
>   	struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	if (!rte_intr_allow_others(intr_handle)) {
> @@ -1943,7 +1943,7 @@ i40evf_disable_queues_intr(struct rte_eth_dev *dev)
>   static int
>   i40evf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	uint16_t interval =
> @@ -1978,7 +1978,7 @@ i40evf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   static int
>   i40evf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	uint16_t msix_intr;
> @@ -2063,7 +2063,7 @@ i40evf_dev_start(struct rte_eth_dev *dev)
>   {
>   	struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t intr_vector = 0;
>   
> @@ -2129,7 +2129,7 @@ i40evf_dev_start(struct rte_eth_dev *dev)
>   static void
>   i40evf_dev_stop(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	PMD_INIT_FUNC_TRACE();
> @@ -2260,7 +2260,7 @@ i40evf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   	struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
>   
>   	memset(dev_info, 0, sizeof(*dev_info));
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->max_rx_queues = vf->vsi_res->num_queue_pairs;
>   	dev_info->max_tx_queues = vf->vsi_res->num_queue_pairs;
>   	dev_info->min_rx_bufsize = I40E_BUF_SIZE_MIN;
> @@ -2329,7 +2329,7 @@ static void
>   i40evf_dev_close(struct rte_eth_dev *dev)
>   {
>   	struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	i40evf_dev_stop(dev);
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 269c8a5..e674586 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -1131,7 +1131,7 @@ ixgbe_swfw_lock_reset(struct ixgbe_hw *hw)
>   static int
>   eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_hw *hw =
>   		IXGBE_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
> @@ -1365,7 +1365,7 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev)
>   static int
>   eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_hw *hw;
>   
> @@ -1598,7 +1598,7 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
>   {
>   	int diag;
>   	uint32_t tc, tcs;
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_hw *hw =
>   		IXGBE_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
> @@ -1747,7 +1747,7 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
>   static int
>   eth_ixgbevf_dev_uninit(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_hw *hw;
>   
> @@ -2176,7 +2176,7 @@ ixgbe_vmdq_vlan_hw_filter_enable(struct rte_eth_dev *dev)
>   static int
>   ixgbe_check_vf_rss_rxq_num(struct rte_eth_dev *dev, uint16_t nb_rx_q)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	switch (nb_rx_q) {
>   	case 1:
> @@ -2425,7 +2425,7 @@ ixgbe_set_vf_rate_limit(struct rte_eth_dev *dev, uint16_t vf,
>   	uint16_t total_rate = 0;
>   	struct rte_pci_device *pci_dev;
>   
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	rte_eth_link_get_nowait(dev->data->port_id, &link);
>   
>   	if (vf >= pci_dev->max_vfs)
> @@ -2496,7 +2496,7 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
>   		IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct ixgbe_vf_info *vfinfo =
>   		*IXGBE_DEV_PRIVATE_TO_P_VFDATA(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t intr_vector = 0;
>   	int err, link_up = 0, negotiate = 0;
> @@ -2714,7 +2714,7 @@ ixgbe_dev_stop(struct rte_eth_dev *dev)
>   		IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct ixgbe_vf_info *vfinfo =
>   		*IXGBE_DEV_PRIVATE_TO_P_VFDATA(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	int vf;
>   
> @@ -3582,7 +3582,7 @@ ixgbe_fw_version_get(struct rte_eth_dev *dev, char *fw_version, size_t fw_size)
>   static void
>   ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
>   
> @@ -3724,7 +3724,7 @@ static void
>   ixgbevf_dev_info_get(struct rte_eth_dev *dev,
>   		     struct rte_eth_dev_info *dev_info)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
>   	dev_info->pci_dev = pci_dev;
> @@ -4035,7 +4035,7 @@ ixgbe_dev_interrupt_get_status(struct rte_eth_dev *dev)
>   static void
>   ixgbe_dev_link_status_print(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_eth_link link;
>   
>   	memset(&link, 0, sizeof(link));
> @@ -4143,7 +4143,7 @@ static void
>   ixgbe_dev_interrupt_delayed_handler(void *param)
>   {
>   	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_interrupt *intr =
>   		IXGBE_DEV_PRIVATE_TO_INTR(dev->data->dev_private);
> @@ -4660,7 +4660,7 @@ ixgbe_remove_rar(struct rte_eth_dev *dev, uint32_t index)
>   static void
>   ixgbe_set_default_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	ixgbe_remove_rar(dev, 0);
>   
> @@ -4799,7 +4799,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
>   	struct ixgbe_hw *hw =
>   		IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   	uint32_t intr_vector = 0;
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	int err, mask = 0;
> @@ -4863,7 +4863,7 @@ static void
>   ixgbevf_dev_stop(struct rte_eth_dev *dev)
>   {
>   	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   
>   	PMD_INIT_FUNC_TRACE();
> @@ -5336,7 +5336,7 @@ ixgbe_mirror_rule_reset(struct rte_eth_dev *dev, uint8_t rule_id)
>   static int
>   ixgbevf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t mask;
>   	struct ixgbe_hw *hw =
> @@ -5370,7 +5370,7 @@ ixgbevf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
>   static int
>   ixgbe_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t mask;
>   	struct ixgbe_hw *hw =
> @@ -5495,7 +5495,7 @@ ixgbe_set_ivar_map(struct ixgbe_hw *hw, int8_t direction,
>   static void
>   ixgbevf_configure_msix(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_hw *hw =
>   		IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> @@ -5529,7 +5529,7 @@ ixgbevf_configure_msix(struct rte_eth_dev *dev)
>   static void
>   ixgbe_configure_msix(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	struct ixgbe_hw *hw =
>   		IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> @@ -7531,7 +7531,7 @@ ixgbe_e_tag_insertion_en_dis(struct rte_eth_dev *dev,
>   			     struct rte_eth_l2_tunnel_conf *l2_tunnel,
>   			     bool en)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	int ret = 0;
>   	uint32_t vmtir, vmvir;
>   	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h
> index b576a6f..32c0b38 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.h
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.h
> @@ -464,9 +464,6 @@ struct ixgbe_adapter {
>   	struct rte_timecounter      tx_tstamp_tc;
>   };
>   
> -#define IXGBE_DEV_TO_PCI(eth_dev) \
> -	RTE_DEV_TO_PCI((eth_dev)->device)
> -
>   #define IXGBE_DEV_PRIVATE_TO_HW(adapter)\
>   	(&((struct ixgbe_adapter *)adapter)->hw)
>   
> diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c
> index 6f30c42..a56b270 100644
> --- a/drivers/net/ixgbe/ixgbe_pf.c
> +++ b/drivers/net/ixgbe/ixgbe_pf.c
> @@ -61,7 +61,7 @@
>   static inline uint16_t
>   dev_num_vf(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	return pci_dev->max_vfs;
>   }
> diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.c b/drivers/net/ixgbe/rte_pmd_ixgbe.c
> index e8fc9a6..d6eae6c 100644
> --- a/drivers/net/ixgbe/rte_pmd_ixgbe.c
> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.c
> @@ -51,7 +51,7 @@ rte_pmd_ixgbe_set_vf_mac_addr(uint8_t port, uint16_t vf,
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -84,7 +84,7 @@ rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -115,7 +115,7 @@ rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -145,7 +145,7 @@ rte_pmd_ixgbe_set_vf_mac_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -174,7 +174,7 @@ rte_pmd_ixgbe_set_vf_vlan_insert(uint8_t port, uint16_t vf, uint16_t vlan_id)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -270,7 +270,7 @@ rte_pmd_ixgbe_set_vf_split_drop_en(uint8_t port, uint16_t vf, uint8_t on)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -306,7 +306,7 @@ rte_pmd_ixgbe_set_vf_vlan_stripq(uint8_t port, uint16_t vf, uint8_t on)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
>   	if (!is_ixgbe_supported(dev))
> @@ -354,7 +354,7 @@ rte_pmd_ixgbe_set_vf_rxmode(uint8_t port, uint16_t vf,
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -401,7 +401,7 @@ rte_pmd_ixgbe_set_vf_rx(uint8_t port, uint16_t vf, uint8_t on)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> @@ -452,7 +452,7 @@ rte_pmd_ixgbe_set_vf_tx(uint8_t port, uint16_t vf, uint8_t on)
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
>   
>   	dev = &rte_eth_devices[port];
> -	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (!is_ixgbe_supported(dev))
>   		return -ENOTSUP;
> diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
> index 436d25b..132c837 100644
> --- a/drivers/net/liquidio/lio_ethdev.c
> +++ b/drivers/net/liquidio/lio_ethdev.c
> @@ -1958,7 +1958,7 @@ lio_eth_dev_uninit(struct rte_eth_dev *eth_dev)
>   static int
>   lio_eth_dev_init(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pdev = RTE_DEV_TO_PCI(eth_dev->device);
> +	struct rte_pci_device *pdev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct lio_device *lio_dev = LIO_DEV(eth_dev);
>   
>   	PMD_INIT_FUNC_TRACE();
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
> index ec4419a..ec70f59 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -4300,7 +4300,7 @@ mlx4_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
>   	unsigned int max;
>   	char ifname[IF_NAMESIZE];
>   
> -	info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (priv == NULL)
>   		return;
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index 3fd22cb..eadf452 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -661,7 +661,7 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
>   	unsigned int max;
>   	char ifname[IF_NAMESIZE];
>   
> -	info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	priv_lock(priv);
>   	/* FIXME: we should ask the device for these values. */
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 5c5cba1..7e286e9 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -647,7 +647,7 @@ nfp_configure_rx_interrupt(struct rte_eth_dev *dev,
>   static int
>   nfp_net_start(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
>   	uint32_t new_ctrl, update = 0;
>   	struct nfp_net_hw *hw;
> @@ -772,7 +772,7 @@ nfp_net_close(struct rte_eth_dev *dev)
>   	PMD_INIT_LOG(DEBUG, "Close");
>   
>   	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	/*
>   	 * We assume that the DPDK application is stopping all the
> @@ -1081,7 +1081,7 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   
>   	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues;
>   	dev_info->max_tx_queues = (uint16_t)hw->max_tx_queues;
>   	dev_info->min_rx_bufsize = ETHER_MIN_MTU;
> @@ -1201,7 +1201,7 @@ nfp_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
>   	int base = 0;
>   
>   	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (pci_dev->intr_handle.type != RTE_INTR_HANDLE_UIO)
>   		base = 1;
> @@ -1221,7 +1221,7 @@ nfp_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
>   	int base = 0;
>   
>   	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (pci_dev->intr_handle.type != RTE_INTR_HANDLE_UIO)
>   		base = 1;
> @@ -1235,7 +1235,7 @@ nfp_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
>   static void
>   nfp_net_dev_link_status_print(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_eth_link link;
>   
>   	memset(&link, 0, sizeof(link));
> @@ -1269,7 +1269,7 @@ nfp_net_irq_unmask(struct rte_eth_dev *dev)
>   	struct rte_pci_device *pci_dev;
>   
>   	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> -	pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	if (hw->ctrl & NFP_NET_CFG_CTRL_MSIXAUTO) {
>   		/* If MSI-X auto-masking is used, clear the entry */
> @@ -2450,7 +2450,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
>   	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
>   		return 0;
>   
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	rte_eth_copy_pci_info(eth_dev, pci_dev);
>   	eth_dev->data->dev_flags |= RTE_ETH_DEV_DETACHABLE;
>   
> diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
> index 51624c7..49742ac 100644
> --- a/drivers/net/qede/qede_ethdev.c
> +++ b/drivers/net/qede/qede_ethdev.c
> @@ -946,7 +946,7 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev,
>   
>   	PMD_INIT_FUNC_TRACE(edev);
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	dev_info->min_rx_bufsize = (uint32_t)QEDE_MIN_RX_BUFF_SIZE;
>   	dev_info->max_rx_pktlen = (uint32_t)ETH_TX_MAX_NON_LSO_PKT_LEN;
>   	dev_info->rx_desc_lim = qede_rx_desc_lim;
> @@ -1103,7 +1103,7 @@ static void qede_poll_sp_sb_cb(void *param)
>   
>   static void qede_dev_close(struct rte_eth_dev *eth_dev)
>   {
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev);
>   	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
>   	int rc;
> @@ -2163,7 +2163,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf)
>   	/* Extract key data structures */
>   	adapter = eth_dev->data->dev_private;
>   	edev = &adapter->edev;
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	pci_addr = pci_dev->addr;
>   
>   	PMD_INIT_FUNC_TRACE(edev);
> diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c
> index 4e241b2..6cecfc0 100644
> --- a/drivers/net/sfc/sfc.c
> +++ b/drivers/net/sfc/sfc.c
> @@ -465,7 +465,7 @@ static int
>   sfc_mem_bar_init(struct sfc_adapter *sa)
>   {
>   	struct rte_eth_dev *eth_dev = sa->eth_dev;
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	efsys_bar_t *ebp = &sa->mem_bar;
>   	unsigned int i;
>   	struct rte_mem_resource *res;
> @@ -666,7 +666,7 @@ sfc_detach(struct sfc_adapter *sa)
>   int
>   sfc_probe(struct sfc_adapter *sa)
>   {
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(sa->eth_dev);
>   	efx_nic_t *enp;
>   	int rc;
>   
> diff --git a/drivers/net/sfc/sfc.h b/drivers/net/sfc/sfc.h
> index fad0ce0..7927678 100644
> --- a/drivers/net/sfc/sfc.h
> +++ b/drivers/net/sfc/sfc.h
> @@ -46,9 +46,6 @@
>   extern "C" {
>   #endif
>   
> -#define SFC_DEV_TO_PCI(eth_dev) \
> -	RTE_DEV_TO_PCI((eth_dev)->device)
> -
>   #if EFSYS_OPT_RX_SCALE
>   /** RSS key length (bytes) */
>   #define SFC_RSS_KEY_SIZE	40
> diff --git a/drivers/net/sfc/sfc_debug.h b/drivers/net/sfc/sfc_debug.h
> index c0b4867..f4fe044 100644
> --- a/drivers/net/sfc/sfc_debug.h
> +++ b/drivers/net/sfc/sfc_debug.h
> @@ -48,7 +48,8 @@
>   #define sfc_panic(sa, fmt, args...) \
>   	do {								\
>   		const struct rte_eth_dev *_dev = (sa)->eth_dev;		\
> -		const struct rte_pci_device *_pci_dev = SFC_DEV_TO_PCI(_dev); \
> +		const struct rte_pci_device *_pci_dev =			\
> +			RTE_ETH_DEV_TO_PCI(_dev);			\
>   									\
>   		rte_panic("sfc " PCI_PRI_FMT " #%" PRIu8 ": " fmt "\n",	\
>   			  _pci_dev->addr.domain, _pci_dev->addr.bus,	\
> diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
> index 4c9335f..d5583ec 100644
> --- a/drivers/net/sfc/sfc_ethdev.c
> +++ b/drivers/net/sfc/sfc_ethdev.c
> @@ -107,7 +107,7 @@ sfc_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   
>   	sfc_log_init(sa, "entry");
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->max_rx_pktlen = EFX_MAC_PDU_MAX;
>   
>   	/* Autonegotiation may be disabled */
> @@ -1486,7 +1486,7 @@ static int
>   sfc_eth_dev_init(struct rte_eth_dev *dev)
>   {
>   	struct sfc_adapter *sa = dev->data->dev_private;
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	int rc;
>   	const efx_nic_cfg_t *encp;
>   	const struct ether_addr *from;
> diff --git a/drivers/net/sfc/sfc_intr.c b/drivers/net/sfc/sfc_intr.c
> index 7eb4b86..dfa453a 100644
> --- a/drivers/net/sfc/sfc_intr.c
> +++ b/drivers/net/sfc/sfc_intr.c
> @@ -77,7 +77,7 @@ sfc_intr_line_handler(void *cb_arg)
>   	boolean_t fatal;
>   	uint32_t qmask;
>   	unsigned int lsc_seq = sa->port.lsc_seq;
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(sa->eth_dev);
>   
>   	sfc_log_init(sa, "entry");
>   
> @@ -122,7 +122,7 @@ sfc_intr_message_handler(void *cb_arg)
>   	efx_nic_t *enp = sa->nic;
>   	boolean_t fatal;
>   	unsigned int lsc_seq = sa->port.lsc_seq;
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(sa->eth_dev);
>   
>   	sfc_log_init(sa, "entry");
>   
> @@ -177,7 +177,7 @@ sfc_intr_start(struct sfc_adapter *sa)
>   	if (rc != 0)
>   		goto fail_intr_init;
>   
> -	pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(sa->eth_dev);
>   	intr_handle = &pci_dev->intr_handle;
>   
>   	if (intr->handler != NULL) {
> @@ -232,7 +232,7 @@ void
>   sfc_intr_stop(struct sfc_adapter *sa)
>   {
>   	struct sfc_intr *intr = &sa->intr;
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(sa->eth_dev);
>   
>   	sfc_log_init(sa, "entry");
>   
> @@ -306,7 +306,7 @@ int
>   sfc_intr_attach(struct sfc_adapter *sa)
>   {
>   	struct sfc_intr *intr = &sa->intr;
> -	struct rte_pci_device *pci_dev = SFC_DEV_TO_PCI(sa->eth_dev);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(sa->eth_dev);
>   
>   	sfc_log_init(sa, "entry");
>   
> diff --git a/drivers/net/sfc/sfc_log.h b/drivers/net/sfc/sfc_log.h
> index 8a5e230..d0f8921 100644
> --- a/drivers/net/sfc/sfc_log.h
> +++ b/drivers/net/sfc/sfc_log.h
> @@ -36,7 +36,8 @@
>   #define SFC_LOG(sa, level, ...) \
>   	do {								\
>   		const struct rte_eth_dev *_dev = (sa)->eth_dev;		\
> -		const struct rte_pci_device *_pci_dev = SFC_DEV_TO_PCI(_dev); \
> +		const struct rte_pci_device *_pci_dev =			\
> +			RTE_ETH_DEV_TO_PCI(_dev);			\
>   									\
>   		RTE_LOG(level, PMD,					\
>   			RTE_FMT("sfc_efx " PCI_PRI_FMT " #%" PRIu8 ": "	\
> diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
> index 2ecd6f2..122b657 100644
> --- a/drivers/net/sfc/sfc_rx.c
> +++ b/drivers/net/sfc/sfc_rx.c
> @@ -942,7 +942,7 @@ sfc_rx_qinit(struct sfc_adapter *sa, unsigned int sw_index,
>   	info.mem_bar = sa->mem_bar.esb_base;
>   
>   	rc = sa->dp_rx->qcreate(sa->eth_dev->data->port_id, sw_index,
> -				&SFC_DEV_TO_PCI(sa->eth_dev)->addr,
> +				&RTE_ETH_DEV_TO_PCI(sa->eth_dev)->addr,
>   				socket_id, &info, &rxq->dp);
>   	if (rc != 0)
>   		goto fail_dp_rx_qcreate;
> diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c
> index b8581d1..d75fb84 100644
> --- a/drivers/net/sfc/sfc_tx.c
> +++ b/drivers/net/sfc/sfc_tx.c
> @@ -185,7 +185,7 @@ sfc_tx_qinit(struct sfc_adapter *sa, unsigned int sw_index,
>   	info.mem_bar = sa->mem_bar.esb_base;
>   
>   	rc = sa->dp_tx->qcreate(sa->eth_dev->data->port_id, sw_index,
> -				&SFC_DEV_TO_PCI(sa->eth_dev)->addr,
> +				&RTE_ETH_DEV_TO_PCI(sa->eth_dev)->addr,
>   				socket_id, &info, &txq->dp);
>   	if (rc != 0)
>   		goto fail_dp_tx_qinit;
> diff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedata2/rte_eth_szedata2.c
> index 54212b7..c70e9f3 100644
> --- a/drivers/net/szedata2/rte_eth_szedata2.c
> +++ b/drivers/net/szedata2/rte_eth_szedata2.c
> @@ -1032,7 +1032,7 @@ eth_dev_info(struct rte_eth_dev *dev,
>   		struct rte_eth_dev_info *dev_info)
>   {
>   	struct pmd_internals *internals = dev->data->dev_private;
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	dev_info->if_index = 0;
>   	dev_info->max_mac_addrs = 1;
>   	dev_info->max_rx_pktlen = (uint32_t)-1;
> @@ -1431,7 +1431,7 @@ rte_szedata2_eth_dev_init(struct rte_eth_dev *dev)
>   	struct szedata *szedata_temp;
>   	int ret;
>   	uint32_t szedata2_index;
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_pci_addr *pci_addr = &pci_dev->addr;
>   	struct rte_mem_resource *pci_rsc =
>   		&pci_dev->mem_resource[PCI_RESOURCE_NUMBER];
> @@ -1554,7 +1554,7 @@ rte_szedata2_eth_dev_init(struct rte_eth_dev *dev)
>   static int
>   rte_szedata2_eth_dev_uninit(struct rte_eth_dev *dev)
>   {
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   	struct rte_pci_addr *pci_addr = &pci_dev->addr;
>   
>   	rte_free(dev->data->mac_addrs);
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
> index ddcfaba..796701b 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -1373,11 +1373,11 @@ static void
>   nicvf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   {
>   	struct nicvf *nic = nicvf_pmd_priv(dev);
> -	struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	PMD_INIT_FUNC_TRACE();
>   
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	dev_info->min_rx_bufsize = ETHER_MIN_MTU;
>   	dev_info->max_rx_pktlen = NIC_HW_MAX_FRS;
> @@ -2024,7 +2024,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
>   		}
>   	}
>   
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   	rte_eth_copy_pci_info(eth_dev, pci_dev);
>   
>   	nic->device_id = pci_dev->id.device_id;
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index 763fef5..e58b475 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1355,7 +1355,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features)
>   		return -1;
>   
>   	if (!hw->virtio_user_dev) {
> -		pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +		pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   		rte_eth_copy_pci_info(eth_dev, pci_dev);
>   	}
>   
> @@ -1537,8 +1537,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
>   
>   	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
>   		if (!hw->virtio_user_dev) {
> -			ret = virtio_remap_pci(RTE_DEV_TO_PCI(eth_dev->device),
> -					       hw);
> +			ret = virtio_remap_pci(RTE_ETH_DEV_TO_PCI(eth_dev), hw);
>   			if (ret)
>   				return ret;
>   		}
> @@ -1567,7 +1566,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
>   	 * virtio_user_eth_dev_alloc() before eth_virtio_dev_init() is called.
>   	 */
>   	if (!hw->virtio_user_dev) {
> -		ret = vtpci_init(RTE_DEV_TO_PCI(eth_dev->device), hw);
> +		ret = vtpci_init(RTE_ETH_DEV_TO_PCI(eth_dev), hw);
>   		if (ret)
>   			return ret;
>   	}
> @@ -1609,7 +1608,7 @@ eth_virtio_dev_uninit(struct rte_eth_dev *eth_dev)
>   						virtio_interrupt_handler,
>   						eth_dev);
>   	if (eth_dev->device)
> -		rte_pci_unmap_device(RTE_DEV_TO_PCI(eth_dev->device));
> +		rte_pci_unmap_device(RTE_ETH_DEV_TO_PCI(eth_dev));
>   
>   	PMD_INIT_LOG(DEBUG, "dev_uninit completed");
>   
> @@ -1894,7 +1893,7 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
>   
>   	dev_info->speed_capa = ETH_LINK_SPEED_10G; /* fake value */
>   
> -	dev_info->pci_dev = dev->device ? RTE_DEV_TO_PCI(dev->device) : NULL;
> +	dev_info->pci_dev = dev->device ? RTE_ETH_DEV_TO_PCI(dev) : NULL;
>   	dev_info->max_rx_queues =
>   		RTE_MIN(hw->max_queue_pairs, VIRTIO_MAX_RX_QUEUES);
>   	dev_info->max_tx_queues =
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index 98252bb..17b471f 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -259,7 +259,7 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
>   	eth_dev->rx_pkt_burst = &vmxnet3_recv_pkts;
>   	eth_dev->tx_pkt_burst = &vmxnet3_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = vmxnet3_prep_pkts;
> -	pci_dev = RTE_DEV_TO_PCI(eth_dev->device);
> +	pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
>   
>   	/*
>   	 * for secondary processes, we don't initialize any further as primary
> @@ -868,7 +868,7 @@ static void
>   vmxnet3_dev_info_get(struct rte_eth_dev *dev,
>   		     struct rte_eth_dev_info *dev_info)
>   {
> -	dev_info->pci_dev = RTE_DEV_TO_PCI(dev->device);
> +	dev_info->pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>   
>   	dev_info->max_rx_queues = VMXNET3_MAX_RX_QUEUES;
>   	dev_info->max_tx_queues = VMXNET3_MAX_TX_QUEUES;
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 0f38b45..f23d116 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -1048,6 +1048,8 @@ TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
>   	} \
>   } while (0)
>   
> +#define RTE_ETH_DEV_TO_PCI(eth_dev)	RTE_DEV_TO_PCI((eth_dev)->device)
> +
>   /**
>    * l2 tunnel configuration.
>    */




More information about the dev mailing list