liquidio: Moved common function delete_glists to lio_core.c
authorIntiyaz Basha <intiyaz.basha@cavium.com>
Sat, 28 Apr 2018 06:32:49 +0000 (23:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Apr 2018 13:26:28 +0000 (09:26 -0400)
Moved common function delete_glists to lio_core.c
and renamed it to lio_delete_glists

Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com>
Acked-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/lio_core.c
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
drivers/net/ethernet/cavium/liquidio/octeon_network.h

index e9532e28ffac492177f7211e11a260fa144a1783..669b4f2d45e06743c2418a53776edb1abc566344 100644 (file)
@@ -61,6 +61,47 @@ void lio_if_cfg_callback(struct octeon_device *oct,
        wake_up_interruptible(&ctx->wc);
 }
 
+/**
+ * \brief Delete gather lists
+ * @param lio per-network private data
+ */
+void lio_delete_glists(struct lio *lio)
+{
+       struct octnic_gather *g;
+       int i;
+
+       kfree(lio->glist_lock);
+       lio->glist_lock = NULL;
+
+       if (!lio->glist)
+               return;
+
+       for (i = 0; i < lio->linfo.num_txpciq; i++) {
+               do {
+                       g = (struct octnic_gather *)
+                           lio_list_delete_head(&lio->glist[i]);
+                       kfree(g);
+               } while (g);
+
+               if (lio->glists_virt_base && lio->glists_virt_base[i] &&
+                   lio->glists_dma_base && lio->glists_dma_base[i]) {
+                       lio_dma_free(lio->oct_dev,
+                                    lio->glist_entry_size * lio->tx_qsize,
+                                    lio->glists_virt_base[i],
+                                    lio->glists_dma_base[i]);
+               }
+       }
+
+       kfree(lio->glists_virt_base);
+       lio->glists_virt_base = NULL;
+
+       kfree(lio->glists_dma_base);
+       lio->glists_dma_base = NULL;
+
+       kfree(lio->glist);
+       lio->glist = NULL;
+}
+
 int liquidio_set_feature(struct net_device *netdev, int cmd, u16 param1)
 {
        struct lio *lio = GET_LIO(netdev);
index c11724504ab602b3fd3594fe99d4a2cbf990f53d..cb5df7c41e927133cb51d6485ab00ac848f44c4c 100644 (file)
@@ -541,48 +541,6 @@ static inline int check_txq_status(struct lio *lio)
        return ret_val;
 }
 
-/**
- * \brief Delete gather lists
- * @param lio per-network private data
- */
-static void delete_glists(struct lio *lio)
-{
-       struct octnic_gather *g;
-       int i;
-
-       kfree(lio->glist_lock);
-       lio->glist_lock = NULL;
-
-       if (!lio->glist)
-               return;
-
-       for (i = 0; i < lio->linfo.num_txpciq; i++) {
-               do {
-                       g = (struct octnic_gather *)
-                               lio_list_delete_head(&lio->glist[i]);
-                       if (g)
-                               kfree(g);
-               } while (g);
-
-               if (lio->glists_virt_base && lio->glists_virt_base[i] &&
-                   lio->glists_dma_base && lio->glists_dma_base[i]) {
-                       lio_dma_free(lio->oct_dev,
-                                    lio->glist_entry_size * lio->tx_qsize,
-                                    lio->glists_virt_base[i],
-                                    lio->glists_dma_base[i]);
-               }
-       }
-
-       kfree(lio->glists_virt_base);
-       lio->glists_virt_base = NULL;
-
-       kfree(lio->glists_dma_base);
-       lio->glists_dma_base = NULL;
-
-       kfree(lio->glist);
-       lio->glist = NULL;
-}
-
 /**
  * \brief Setup gather lists
  * @param lio per-network private data
@@ -617,7 +575,7 @@ static int setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs)
                                       GFP_KERNEL);
 
        if (!lio->glists_virt_base || !lio->glists_dma_base) {
-               delete_glists(lio);
+               lio_delete_glists(lio);
                return -ENOMEM;
        }
 
@@ -634,7 +592,7 @@ static int setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs)
                                      &lio->glists_dma_base[i]);
 
                if (!lio->glists_virt_base[i]) {
-                       delete_glists(lio);
+                       lio_delete_glists(lio);
                        return -ENOMEM;
                }
 
@@ -656,7 +614,7 @@ static int setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs)
                }
 
                if (j != lio->tx_qsize) {
-                       delete_glists(lio);
+                       lio_delete_glists(lio);
                        return -ENOMEM;
                }
        }
@@ -1452,7 +1410,7 @@ static void liquidio_destroy_nic_device(struct octeon_device *oct, int ifidx)
 
        cleanup_rx_oom_poll_fn(netdev);
 
-       delete_glists(lio);
+       lio_delete_glists(lio);
 
        free_netdev(netdev);
 
index 0d9756177a2ac6c872cf0d6737911f89a91d5df4..ab47fbbe357067e98b2585145bb783b0799832e3 100644 (file)
@@ -284,47 +284,6 @@ static struct pci_driver liquidio_vf_pci_driver = {
        .err_handler    = &liquidio_vf_err_handler,    /* For AER */
 };
 
-/**
- * \brief Delete gather lists
- * @param lio per-network private data
- */
-static void delete_glists(struct lio *lio)
-{
-       struct octnic_gather *g;
-       int i;
-
-       kfree(lio->glist_lock);
-       lio->glist_lock = NULL;
-
-       if (!lio->glist)
-               return;
-
-       for (i = 0; i < lio->linfo.num_txpciq; i++) {
-               do {
-                       g = (struct octnic_gather *)
-                           lio_list_delete_head(&lio->glist[i]);
-                       kfree(g);
-               } while (g);
-
-               if (lio->glists_virt_base && lio->glists_virt_base[i] &&
-                   lio->glists_dma_base && lio->glists_dma_base[i]) {
-                       lio_dma_free(lio->oct_dev,
-                                    lio->glist_entry_size * lio->tx_qsize,
-                                    lio->glists_virt_base[i],
-                                    lio->glists_dma_base[i]);
-               }
-       }
-
-       kfree(lio->glists_virt_base);
-       lio->glists_virt_base = NULL;
-
-       kfree(lio->glists_dma_base);
-       lio->glists_dma_base = NULL;
-
-       kfree(lio->glist);
-       lio->glist = NULL;
-}
-
 /**
  * \brief Setup gather lists
  * @param lio per-network private data
@@ -359,7 +318,7 @@ static int setup_glists(struct lio *lio, int num_iqs)
                                       GFP_KERNEL);
 
        if (!lio->glists_virt_base || !lio->glists_dma_base) {
-               delete_glists(lio);
+               lio_delete_glists(lio);
                return -ENOMEM;
        }
 
@@ -374,7 +333,7 @@ static int setup_glists(struct lio *lio, int num_iqs)
                                      &lio->glists_dma_base[i]);
 
                if (!lio->glists_virt_base[i]) {
-                       delete_glists(lio);
+                       lio_delete_glists(lio);
                        return -ENOMEM;
                }
 
@@ -393,7 +352,7 @@ static int setup_glists(struct lio *lio, int num_iqs)
                }
 
                if (j != lio->tx_qsize) {
-                       delete_glists(lio);
+                       lio_delete_glists(lio);
                        return -ENOMEM;
                }
        }
@@ -837,7 +796,7 @@ static void liquidio_destroy_nic_device(struct octeon_device *oct, int ifidx)
 
        cleanup_link_status_change_wq(netdev);
 
-       delete_glists(lio);
+       lio_delete_glists(lio);
 
        free_netdev(netdev);
 
index 1d9392bbe5ef90856e5672cfe96c160751e3bce9..777af06a85707fe4056783b036fbcd859b7f05c0 100644 (file)
@@ -203,6 +203,8 @@ void lio_if_cfg_callback(struct octeon_device *oct,
                         u32 status __attribute__((unused)),
                         void *buf);
 
+void lio_delete_glists(struct lio *lio);
+
 /**
  * \brief Net device change_mtu
  * @param netdev network device