vhost: promote vDPA API as stable
[dpdk.git] / drivers / net / ionic / ionic_ethdev.c
index 363f0cf..ef7d06e 100644 (file)
@@ -25,7 +25,7 @@ static int  ionic_dev_configure(struct rte_eth_dev *dev);
 static int  ionic_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
 static int  ionic_dev_start(struct rte_eth_dev *dev);
 static void ionic_dev_stop(struct rte_eth_dev *dev);
-static void ionic_dev_close(struct rte_eth_dev *dev);
+static int  ionic_dev_close(struct rte_eth_dev *dev);
 static int  ionic_dev_set_link_up(struct rte_eth_dev *dev);
 static int  ionic_dev_set_link_down(struct rte_eth_dev *dev);
 static int  ionic_dev_link_update(struct rte_eth_dev *eth_dev,
@@ -59,8 +59,6 @@ static int  ionic_dev_xstats_get_names_by_id(struct rte_eth_dev *dev,
 static int  ionic_dev_fw_version_get(struct rte_eth_dev *eth_dev,
        char *fw_version, size_t fw_size);
 
-int ionic_logtype;
-
 static const struct rte_pci_id pci_id_ionic_map[] = {
        { RTE_PCI_DEVICE(IONIC_PENSANDO_VENDOR_ID, IONIC_DEV_ID_ETH_PF) },
        { RTE_PCI_DEVICE(IONIC_PENSANDO_VENDOR_ID, IONIC_DEV_ID_ETH_VF) },
@@ -958,25 +956,29 @@ ionic_dev_stop(struct rte_eth_dev *eth_dev)
 /*
  * Reset and stop device.
  */
-static void
+static int
 ionic_dev_close(struct rte_eth_dev *eth_dev)
 {
        struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
        int err;
 
        IONIC_PRINT_CALL();
+       if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+               return 0;
 
        err = ionic_lif_stop(lif);
        if (err) {
                IONIC_PRINT(ERR, "Cannot stop LIF: %d", err);
-               return;
+               return -1;
        }
 
        err = eth_ionic_dev_uninit(eth_dev);
        if (err) {
                IONIC_PRINT(ERR, "Cannot destroy LIF: %d", err);
-               return;
+               return -1;
        }
+
+       return 0;
 }
 
 static int
@@ -1318,10 +1320,4 @@ static struct rte_pci_driver rte_ionic_pmd = {
 RTE_PMD_REGISTER_PCI(net_ionic, rte_ionic_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(net_ionic, pci_id_ionic_map);
 RTE_PMD_REGISTER_KMOD_DEP(net_ionic, "* igb_uio | uio_pci_generic | vfio-pci");
-
-RTE_INIT(ionic_init_log)
-{
-       ionic_logtype = rte_log_register("pmd.net.ionic");
-       if (ionic_logtype >= 0)
-               rte_log_set_level(ionic_logtype, RTE_LOG_NOTICE);
-}
+RTE_LOG_REGISTER(ionic_logtype, pmd.net.ionic, NOTICE);