The adapter struct is just a wrapper around the vmxnet3_hw
structure. Eliminate the wrapper and get rid of the macro
used to access and needlessly cast the private data.

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>

---
 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |   30 +++++++++++++-----------------
 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h |   10 ----------
 lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c   |   16 +++++++---------
 3 files changed, 20 insertions(+), 36 deletions(-)

--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c   2014-06-12 18:13:57.408375309 
-0700
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c   2014-06-12 18:14:38.736593592 
-0700
@@ -186,8 +186,7 @@ eth_vmxnet3_dev_init(__attribute__((unus
                     struct rte_eth_dev *eth_dev)
 {
        struct rte_pci_device *pci_dev;
-       struct vmxnet3_hw *hw =
-               VMXNET3_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
+       struct vmxnet3_hw *hw = eth_dev->data->dev_private;
        uint32_t mac_hi, mac_lo, ver;

        PMD_INIT_FUNC_TRACE();
@@ -271,7 +270,7 @@ static struct eth_driver rte_vmxnet3_pmd
                .drv_flags = RTE_PCI_DRV_NEED_IGB_UIO,
        },
        .eth_dev_init = eth_vmxnet3_dev_init,
-       .dev_private_size = sizeof(struct vmxnet3_adapter),
+       .dev_private_size = sizeof(struct vmxnet3_hw),
 };

 /*
@@ -292,8 +291,7 @@ static int
 vmxnet3_dev_configure(struct rte_eth_dev *dev)
 {
        const struct rte_memzone *mz;
-       struct vmxnet3_hw *hw =
-               VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;
        size_t size;

        PMD_INIT_FUNC_TRACE();
@@ -368,7 +366,7 @@ static int
 vmxnet3_setup_driver_shared(struct rte_eth_dev *dev)
 {
        struct rte_eth_conf port_conf = dev->data->dev_conf;
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;
        Vmxnet3_DriverShared *shared = hw->shared;
        Vmxnet3_DSDevRead *devRead = &shared->devRead;
        uint32_t *mac_ptr;
@@ -487,7 +485,7 @@ static int
 vmxnet3_dev_start(struct rte_eth_dev *dev)
 {
        int status, ret;
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        PMD_INIT_FUNC_TRACE();

@@ -544,8 +542,7 @@ static void
 vmxnet3_dev_stop(struct rte_eth_dev *dev)
 {
        struct rte_eth_link link;
-       struct vmxnet3_hw *hw =
-               VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        PMD_INIT_FUNC_TRACE();

@@ -580,8 +577,7 @@ vmxnet3_dev_stop(struct rte_eth_dev *dev
 static void
 vmxnet3_dev_close(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw =
-               VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        PMD_INIT_FUNC_TRACE();

@@ -594,7 +590,7 @@ static void
 vmxnet3_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 {
        unsigned int i;
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS);

@@ -651,7 +647,7 @@ vmxnet3_dev_info_get(__attribute__((unus
 static int
 vmxnet3_dev_link_update(struct rte_eth_dev *dev, __attribute__((unused)) int 
wait_to_complete)
 {
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;
        struct rte_eth_link link;
        uint32_t ret;

@@ -694,7 +690,7 @@ vmxnet3_dev_set_rxmode(struct vmxnet3_hw
 static void
 vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_PROMISC, 1);
 }
@@ -703,7 +699,7 @@ vmxnet3_dev_promiscuous_enable(struct rt
 static void
 vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_PROMISC, 0);
 }
@@ -712,7 +708,7 @@ vmxnet3_dev_promiscuous_disable(struct r
 static void
 vmxnet3_dev_allmulticast_enable(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_ALL_MULTI, 1);
 }
@@ -721,7 +717,7 @@ vmxnet3_dev_allmulticast_enable(struct r
 static void
 vmxnet3_dev_allmulticast_disable(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;

        vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_ALL_MULTI, 0);
 }
--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h   2014-06-12 18:13:57.408375309 
-0700
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h   2014-06-12 18:13:57.404375287 
-0700
@@ -117,16 +117,6 @@ struct vmxnet3_hw {
        vmxnet3_mf_table_t   *mf_table;
 };

-/*
- * Structure to store private data for each driver instance (for each port).
- */
-struct vmxnet3_adapter {
-       struct vmxnet3_hw              hw;
-};
-
-#define VMXNET3_DEV_PRIVATE_TO_HW(adapter)\
-       (&((struct vmxnet3_adapter *)adapter)->hw)
-
 #define VMXNET3_GET_ADDR_LO(reg)   ((uint32_t)(reg))
 #define VMXNET3_GET_ADDR_HI(reg)   ((uint32_t)(((uint64_t)(reg)) >> 32))

--- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c     2014-06-12 18:13:57.408375309 
-0700
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c     2014-06-12 18:13:57.404375287 
-0700
@@ -628,15 +628,14 @@ vmxnet3_dev_tx_queue_setup(struct rte_et
                           unsigned int socket_id,
                           __attribute__((unused)) const struct rte_eth_txconf 
*tx_conf)
 {
+       struct vmxnet3_hw     *hw = dev->data->dev_private;
        const struct rte_memzone *mz;
        struct vmxnet3_tx_queue *txq;
-       struct vmxnet3_hw     *hw;
        struct vmxnet3_cmd_ring *ring;
        struct vmxnet3_comp_ring *comp_ring;
        int size;

        PMD_INIT_FUNC_TRACE();
-       hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);

        if ((tx_conf->txq_flags & ETH_TXQ_FLAGS_NOMULTSEGS) !=
            ETH_TXQ_FLAGS_NOMULTSEGS) {
@@ -731,7 +730,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_et
 {
        const struct rte_memzone *mz;
        struct vmxnet3_rx_queue *rxq;
-       struct vmxnet3_hw     *hw;
+       struct vmxnet3_hw     *hw = dev->data->dev_private;
        struct vmxnet3_cmd_ring *ring0, *ring1, *ring;
        struct vmxnet3_comp_ring *comp_ring;
        int size;
@@ -741,7 +740,6 @@ vmxnet3_dev_rx_queue_setup(struct rte_et
        struct rte_pktmbuf_pool_private *mbp_priv;

        PMD_INIT_FUNC_TRACE();
-       hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);

        mbp_priv = (struct rte_pktmbuf_pool_private *)
                rte_mempool_get_priv(mp);
@@ -849,12 +847,12 @@ vmxnet3_dev_rx_queue_setup(struct rte_et
 int
 vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw;
+       struct vmxnet3_hw *hw = dev->data->dev_private;
+
        int i, ret;
        uint8_t j;

        PMD_INIT_FUNC_TRACE();
-       hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);

        for (i = 0; i < hw->num_rx_queues; i++) {
                vmxnet3_rx_queue_t *rxq = dev->data->rx_queues[i];
@@ -898,13 +896,13 @@ static uint8_t rss_intel_key[40] = {
 int
 vmxnet3_rss_configure(struct rte_eth_dev *dev)
 {
-       struct vmxnet3_hw *hw;
+       struct vmxnet3_hw *hw = dev->data->dev_private;
        struct VMXNET3_RSSConf *dev_rss_conf;
        struct rte_eth_rss_conf *port_rss_conf;
        uint8_t i, j;

        PMD_INIT_FUNC_TRACE();
-       hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+
        dev_rss_conf = hw->rss_conf;
        port_rss_conf = &dev->data->dev_conf.rx_adv_conf.rss_conf;

@@ -951,7 +949,7 @@ int
 vmxnet3_vlan_configure(struct rte_eth_dev *dev)
 {
        uint8_t i;
-       struct vmxnet3_hw *hw = 
VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+       struct vmxnet3_hw *hw = dev->data->dev_private;
        uint32_t *vf_table = hw->shared->devRead.rxFilterConf.vfTable;

        PMD_INIT_FUNC_TRACE();

Reply via email to