From: David Marchand <david.marchand@6wind.com>
To: dev@dpdk.org
Cc: viktorin@rehivetech.com
Subject: [dpdk-dev] [PATCH 2/9] pci: register all pdev as pci drivers
Date: Fri, 29 Jan 2016 15:08:29 +0100 [thread overview]
Message-ID: <1454076516-21591-3-git-send-email-david.marchand@6wind.com> (raw)
In-Reply-To: <1454076516-21591-1-git-send-email-david.marchand@6wind.com>
pdev drivers are actually pci drivers.
Wrappers for ethdev and crypto pci drivers, that assume a 1 to 1
association between pci device and upper device, have been added so that
current drivers are not impacted.
Signed-off-by: David Marchand <david.marchand@6wind.com>
---
drivers/crypto/qat/rte_qat_cryptodev.c | 7 +++++--
drivers/net/bnx2x/bnx2x_ethdev.c | 16 ++++++++++------
drivers/net/cxgbe/cxgbe_ethdev.c | 5 +++--
drivers/net/e1000/em_ethdev.c | 4 +++-
drivers/net/e1000/igb_ethdev.c | 14 +++++++++-----
drivers/net/enic/enic_ethdev.c | 5 +++--
drivers/net/fm10k/fm10k_ethdev.c | 4 +++-
drivers/net/i40e/i40e_ethdev.c | 5 +++--
drivers/net/i40e/i40e_ethdev_vf.c | 6 +++---
drivers/net/ixgbe/ixgbe_ethdev.c | 10 ++++++----
drivers/net/nfp/nfp_net.c | 7 ++++---
drivers/net/virtio/virtio_ethdev.c | 4 +++-
drivers/net/vmxnet3/vmxnet3_ethdev.c | 5 +++--
lib/librte_cryptodev/rte_cryptodev.c | 18 ++++++++++--------
lib/librte_cryptodev/rte_cryptodev_pmd.h | 14 ++++++++++++++
lib/librte_cryptodev/rte_cryptodev_version.map | 10 +++++++++-
lib/librte_ether/rte_ethdev.c | 16 +++++++++-------
lib/librte_ether/rte_ethdev.h | 15 +++++++++++++++
lib/librte_ether/rte_ether_version.map | 8 ++++++++
19 files changed, 123 insertions(+), 50 deletions(-)
diff --git a/drivers/crypto/qat/rte_qat_cryptodev.c b/drivers/crypto/qat/rte_qat_cryptodev.c
index e500c1e..6853aee 100644
--- a/drivers/crypto/qat/rte_qat_cryptodev.c
+++ b/drivers/crypto/qat/rte_qat_cryptodev.c
@@ -113,10 +113,12 @@ crypto_qat_dev_init(__attribute__((unused)) struct rte_cryptodev_driver *crypto_
}
static struct rte_cryptodev_driver rte_qat_pmd = {
- {
+ .pci_drv = {
.name = "rte_qat_pmd",
.id_table = pci_id_qat_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING,
+ .devinit = rte_cryptodev_pci_probe,
+ .devuninit = rte_cryptodev_pci_remove,
},
.cryptodev_init = crypto_qat_dev_init,
.dev_private_size = sizeof(struct qat_pmd_private),
@@ -126,7 +128,8 @@ static int
rte_qat_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
- return rte_cryptodev_pmd_driver_register(&rte_qat_pmd, PMD_PDEV);
+ rte_eal_pci_register(&rte_qat_pmd.pci_drv);
+ return 0;
}
static struct rte_driver pmd_qat_drv = {
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 69df02e..916b9da 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -501,6 +501,8 @@ static struct eth_driver rte_bnx2x_pmd = {
.name = "rte_bnx2x_pmd",
.id_table = pci_id_bnx2x_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_bnx2x_dev_init,
.dev_private_size = sizeof(struct bnx2x_softc),
@@ -514,24 +516,26 @@ static struct eth_driver rte_bnx2xvf_pmd = {
.name = "rte_bnx2xvf_pmd",
.id_table = pci_id_bnx2xvf_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_bnx2xvf_dev_init,
.dev_private_size = sizeof(struct bnx2x_softc),
};
-static int rte_bnx2x_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
+static int rte_bnx2x_pmd_init(const char *name __rte_unused,
+ const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
- rte_eth_driver_register(&rte_bnx2x_pmd);
-
+ rte_eal_pci_register(&rte_bnx2x_pmd.pci_drv);
return 0;
}
-static int rte_bnx2xvf_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
+static int rte_bnx2xvf_pmd_init(const char *name __rte_unused,
+ const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
- rte_eth_driver_register(&rte_bnx2xvf_pmd);
-
+ rte_eal_pci_register(&rte_bnx2xvf_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 97ef152..e425ef2 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -851,6 +851,8 @@ static struct eth_driver rte_cxgbe_pmd = {
.name = "rte_cxgbe_pmd",
.id_table = cxgb4_pci_tbl,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_cxgbe_dev_init,
.dev_private_size = sizeof(struct port_info),
@@ -865,8 +867,7 @@ static int rte_cxgbe_pmd_init(const char *name __rte_unused,
const char *params __rte_unused)
{
CXGBE_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_cxgbe_pmd);
+ rte_eal_pci_register(&rte_cxgbe_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 66e8993..973ec97 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -340,6 +340,8 @@ static struct eth_driver rte_em_pmd = {
.id_table = pci_id_em_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_em_dev_init,
.eth_dev_uninit = eth_em_dev_uninit,
@@ -349,7 +351,7 @@ static struct eth_driver rte_em_pmd = {
static int
rte_em_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
{
- rte_eth_driver_register(&rte_em_pmd);
+ rte_eal_pci_register(&rte_em_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index d1bbcda..a8d94a4 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -961,6 +961,8 @@ static struct eth_driver rte_igb_pmd = {
.id_table = pci_id_igb_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_igb_dev_init,
.eth_dev_uninit = eth_igb_dev_uninit,
@@ -975,6 +977,8 @@ static struct eth_driver rte_igbvf_pmd = {
.name = "rte_igbvf_pmd",
.id_table = pci_id_igbvf_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_igbvf_dev_init,
.eth_dev_uninit = eth_igbvf_dev_uninit,
@@ -984,7 +988,7 @@ static struct eth_driver rte_igbvf_pmd = {
static int
rte_igb_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
{
- rte_eth_driver_register(&rte_igb_pmd);
+ rte_eal_pci_register(&rte_igb_pmd.pci_drv);
return 0;
}
@@ -1005,12 +1009,12 @@ igb_vmdq_vlan_hw_filter_enable(struct rte_eth_dev *dev)
* Register itself as the [Virtual Poll Mode] Driver of PCI IGB devices.
*/
static int
-rte_igbvf_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
+rte_igbvf_pmd_init(const char *name __rte_unused,
+ const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_igbvf_pmd);
- return (0);
+ rte_eal_pci_register(&rte_igbvf_pmd.pci_drv);
+ return 0;
}
static int
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 2a88043..7678c0a 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -625,6 +625,8 @@ static struct eth_driver rte_enic_pmd = {
.name = "rte_enic_pmd",
.id_table = pci_id_enic_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_enicpmd_dev_init,
.dev_private_size = sizeof(struct enic),
@@ -639,8 +641,7 @@ rte_enic_pmd_init(const char *name __rte_unused,
const char *params __rte_unused)
{
ENICPMD_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_enic_pmd);
+ rte_eal_pci_register(&rte_enic_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index e4aed94..75537e0 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2752,6 +2752,8 @@ static struct eth_driver rte_pmd_fm10k = {
.name = "rte_pmd_fm10k",
.id_table = pci_id_fm10k_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_fm10k_dev_init,
.eth_dev_uninit = eth_fm10k_dev_uninit,
@@ -2768,7 +2770,7 @@ rte_pmd_fm10k_init(__rte_unused const char *name,
__rte_unused const char *params)
{
PMD_INIT_FUNC_TRACE();
- rte_eth_driver_register(&rte_pmd_fm10k);
+ rte_eal_pci_register(&rte_pmd_fm10k.pci_drv);
return 0;
}
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index bf6220d..ab24115 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -603,6 +603,8 @@ static struct eth_driver rte_i40e_pmd = {
.id_table = pci_id_i40e_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_i40e_dev_init,
.eth_dev_uninit = eth_i40e_dev_uninit,
@@ -647,8 +649,7 @@ rte_i40e_pmd_init(const char *name __rte_unused,
const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
- rte_eth_driver_register(&rte_i40e_pmd);
-
+ rte_eal_pci_register(&rte_i40e_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 14d2a50..050d7ea 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1366,6 +1366,8 @@ static struct eth_driver rte_i40evf_pmd = {
.name = "rte_i40evf_pmd",
.id_table = pci_id_i40evf_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = i40evf_dev_init,
.eth_dev_uninit = i40evf_dev_uninit,
@@ -1382,9 +1384,7 @@ rte_i40evf_pmd_init(const char *name __rte_unused,
const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_i40evf_pmd);
-
+ rte_eal_pci_register(&rte_i40evf_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 4c4c6df..970528e 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1433,6 +1433,8 @@ static struct eth_driver rte_ixgbe_pmd = {
.id_table = pci_id_ixgbe_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_ixgbe_dev_init,
.eth_dev_uninit = eth_ixgbe_dev_uninit,
@@ -1447,6 +1449,8 @@ static struct eth_driver rte_ixgbevf_pmd = {
.name = "rte_ixgbevf_pmd",
.id_table = pci_id_ixgbevf_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_ixgbevf_dev_init,
.eth_dev_uninit = eth_ixgbevf_dev_uninit,
@@ -1462,8 +1466,7 @@ static int
rte_ixgbe_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
{
PMD_INIT_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_ixgbe_pmd);
+ rte_eal_pci_register(&rte_ixgbe_pmd.pci_drv);
return 0;
}
@@ -1476,8 +1479,7 @@ static int
rte_ixgbevf_pmd_init(const char *name __rte_unused, const char *param __rte_unused)
{
PMD_INIT_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_ixgbevf_pmd);
+ rte_eal_pci_register(&rte_ixgbevf_pmd.pci_drv);
return (0);
}
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index bc2089f..89ba703 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2463,10 +2463,12 @@ static struct rte_pci_id pci_id_nfp_net_map[] = {
};
static struct eth_driver rte_nfp_net_pmd = {
- {
+ .pci_drv = {
.name = "rte_nfp_net_pmd",
.id_table = pci_id_nfp_net_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = nfp_net_init,
.dev_private_size = sizeof(struct nfp_net_adapter),
@@ -2479,8 +2481,7 @@ nfp_net_pmd_init(const char *name __rte_unused,
PMD_INIT_FUNC_TRACE();
PMD_INIT_LOG(INFO, "librte_pmd_nfp_net version %s\n",
NFP_NET_PMD_VERSION);
-
- rte_eth_driver_register(&rte_nfp_net_pmd);
+ rte_eal_pci_register(&rte_nfp_net_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index d928339..08f386a 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1439,6 +1439,8 @@ static struct eth_driver rte_virtio_pmd = {
.name = "rte_virtio_pmd",
.id_table = pci_id_virtio_map,
.drv_flags = RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_virtio_dev_init,
.eth_dev_uninit = eth_virtio_dev_uninit,
@@ -1460,7 +1462,7 @@ rte_virtio_pmd_init(const char *name __rte_unused,
return -1;
}
- rte_eth_driver_register(&rte_virtio_pmd);
+ rte_eal_pci_register(&rte_virtio_pmd.pci_drv);
return 0;
}
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index c363bf6..1a3bc66 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -325,6 +325,8 @@ static struct eth_driver rte_vmxnet3_pmd = {
.name = "rte_vmxnet3_pmd",
.id_table = pci_id_vmxnet3_map,
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_DETACHABLE,
+ .devinit = rte_eth_dev_pci_probe,
+ .devuninit = rte_eth_dev_pci_remove,
},
.eth_dev_init = eth_vmxnet3_dev_init,
.eth_dev_uninit = eth_vmxnet3_dev_uninit,
@@ -340,8 +342,7 @@ static int
rte_vmxnet3_pmd_init(const char *name __rte_unused, const char *param __rte_unused)
{
PMD_INIT_FUNC_TRACE();
-
- rte_eth_driver_register(&rte_vmxnet3_pmd);
+ rte_eal_pci_register(&rte_vmxnet3_pmd.pci_drv);
return 0;
}
diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index f09f67e..1950020 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -313,9 +313,9 @@ rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,
return cryptodev;
}
-static int
-rte_cryptodev_init(struct rte_pci_driver *pci_drv,
- struct rte_pci_device *pci_dev)
+int
+rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,
+ struct rte_pci_device *pci_dev)
{
struct rte_cryptodev_driver *cryptodrv;
struct rte_cryptodev *cryptodev;
@@ -375,8 +375,8 @@ rte_cryptodev_init(struct rte_pci_driver *pci_drv,
return -ENXIO;
}
-static int
-rte_cryptodev_uninit(struct rte_pci_device *pci_dev)
+int
+rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)
{
const struct rte_cryptodev_driver *cryptodrv;
struct rte_cryptodev *cryptodev;
@@ -418,26 +418,28 @@ rte_cryptodev_uninit(struct rte_pci_device *pci_dev)
return 0;
}
+#ifndef RTE_NEXT_ABI
int
rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *cryptodrv,
enum pmd_type type)
{
/* Call crypto device initialization directly if device is virtual */
if (type == PMD_VDEV)
- return rte_cryptodev_init((struct rte_pci_driver *)cryptodrv,
+ return rte_cryptodev_pci_probe((struct rte_pci_driver *)cryptodrv,
NULL);
/*
* Register PCI driver for physical device intialisation during
* PCI probing
*/
- cryptodrv->pci_drv.devinit = rte_cryptodev_init;
- cryptodrv->pci_drv.devuninit = rte_cryptodev_uninit;
+ cryptodrv->pci_drv.devinit = rte_cryptodev_pci_probe;
+ cryptodrv->pci_drv.devuninit = rte_cryptodev_pci_remove;
rte_eal_pci_register(&cryptodrv->pci_drv);
return 0;
}
+#endif
uint16_t
diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h
index 8270afa..1c5ee14 100644
--- a/lib/librte_cryptodev/rte_cryptodev_pmd.h
+++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h
@@ -499,6 +499,7 @@ extern int
rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev);
+#ifndef RTE_NEXT_ABI
/**
* Register a Crypto [Poll Mode] driver.
*
@@ -527,6 +528,7 @@ rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev);
extern int
rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *crypto_drv,
enum pmd_type type);
+#endif
/**
* Executes all the user application registered callbacks for the specific
@@ -541,6 +543,18 @@ rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *crypto_drv,
void rte_cryptodev_pmd_callback_process(struct rte_cryptodev *dev,
enum rte_cryptodev_event_type event);
+/**
+ * Wrapper for use by pci drivers as a .devinit function to attach to a crypto
+ * interface.
+ */
+int rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,
+ struct rte_pci_device *pci_dev);
+
+/**
+ * Wrapper for use by pci drivers as a .devuninit function to detach a crypto
+ * interface.
+ */
+int rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev);
#ifdef __cplusplus
}
diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map
index ff8e93d..3f838a4 100644
--- a/lib/librte_cryptodev/rte_cryptodev_version.map
+++ b/lib/librte_cryptodev/rte_cryptodev_version.map
@@ -29,4 +29,12 @@ DPDK_2.2 {
rte_cryptodev_queue_pair_stop;
local: *;
-};
\ No newline at end of file
+};
+
+DPDK_2.3 {
+ global:
+
+ rte_cryptodev_pci_probe;
+ rte_cryptodev_pci_remove;
+
+} DPDK_2.2;
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 756b234..17e4f4d 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -239,9 +239,9 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
return 0;
}
-static int
-rte_eth_dev_init(struct rte_pci_driver *pci_drv,
- struct rte_pci_device *pci_dev)
+int
+rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv,
+ struct rte_pci_device *pci_dev)
{
struct eth_driver *eth_drv;
struct rte_eth_dev *eth_dev;
@@ -293,8 +293,8 @@ rte_eth_dev_init(struct rte_pci_driver *pci_drv,
return diag;
}
-static int
-rte_eth_dev_uninit(struct rte_pci_device *pci_dev)
+int
+rte_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
{
const struct eth_driver *eth_drv;
struct rte_eth_dev *eth_dev;
@@ -334,6 +334,7 @@ rte_eth_dev_uninit(struct rte_pci_device *pci_dev)
return 0;
}
+#ifndef RTE_NEXT_ABI
/**
* Register an Ethernet [Poll Mode] driver.
*
@@ -351,10 +352,11 @@ rte_eth_dev_uninit(struct rte_pci_device *pci_dev)
void
rte_eth_driver_register(struct eth_driver *eth_drv)
{
- eth_drv->pci_drv.devinit = rte_eth_dev_init;
- eth_drv->pci_drv.devuninit = rte_eth_dev_uninit;
+ eth_drv->pci_drv.devinit = rte_eth_dev_pci_probe;
+ eth_drv->pci_drv.devuninit = rte_eth_dev_pci_remove;
rte_eal_pci_register(ð_drv->pci_drv);
}
+#endif
int
rte_eth_dev_is_valid_port(uint8_t port_id)
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 8710dd7..af051d1 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1774,6 +1774,7 @@ struct eth_driver {
unsigned int dev_private_size; /**< Size of device private data. */
};
+#ifndef RTE_NEXT_ABI
/**
* @internal
* A function invoked by the initialization function of an Ethernet driver
@@ -1785,6 +1786,7 @@ struct eth_driver {
* the Ethernet driver.
*/
void rte_eth_driver_register(struct eth_driver *eth_drv);
+#endif
/**
* Configure an Ethernet device.
@@ -3880,6 +3882,19 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name,
uint16_t queue_id, size_t size,
unsigned align, int socket_id);
+/**
+ * Wrapper for use by pci drivers as a .devinit function to attach to a ethdev
+ * interface.
+ */
+int rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv,
+ struct rte_pci_device *pci_dev);
+
+/**
+ * Wrapper for use by pci drivers as a .devuninit function to detach a ethdev
+ * interface.
+ */
+int rte_eth_dev_pci_remove(struct rte_pci_device *pci_dev);
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
index d8db24d..07b2d8b 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -117,3 +117,11 @@ DPDK_2.2 {
local: *;
};
+
+DPDK_2.3 {
+ global:
+
+ rte_eth_dev_pci_probe;
+ rte_eth_dev_pci_remove;
+
+} DPDK_2.2;
--
1.9.1
next prev parent reply other threads:[~2016-01-29 14:08 UTC|newest]
Thread overview: 375+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-29 14:08 [dpdk-dev] [PATCH 0/9] prepare for rte_device / rte_driver David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 1/9] pci: no need for dynamic tailq init David Marchand
2016-02-08 10:32 ` viktorin
2016-01-29 14:08 ` David Marchand [this message]
2016-02-08 11:03 ` [dpdk-dev] [PATCH 2/9] pci: register all pdev as pci drivers Jan Viktorin
2016-02-09 8:55 ` David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 3/9] drivers: no more pdev drivers David Marchand
2016-02-09 17:05 ` Jan Viktorin
2016-02-10 8:51 ` David Marchand
2016-02-10 9:27 ` David Marchand
2016-02-10 10:20 ` Jan Viktorin
2016-02-10 11:38 ` David Marchand
2016-02-10 12:29 ` Jan Viktorin
2016-01-29 14:08 ` [dpdk-dev] [PATCH 4/9] eal/linux: move back interrupt thread init before setting affinity David Marchand
2016-02-02 7:02 ` Rahul Lakkireddy
2016-02-02 7:13 ` David Marchand
2016-02-02 7:43 ` Rahul Lakkireddy
2016-01-29 14:08 ` [dpdk-dev] [PATCH 5/9] eal: get rid of pmd type David Marchand
2016-02-09 17:15 ` Jan Viktorin
2016-01-29 14:08 ` [dpdk-dev] [PATCH 6/9] eal: initialize vdevs right next to pci devices David Marchand
2016-02-10 11:05 ` Jan Viktorin
2016-02-10 11:43 ` David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 7/9] pci: add a helper for device name David Marchand
2016-02-10 11:10 ` Jan Viktorin
2016-02-10 12:04 ` David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 8/9] pci: add a helper to refresh a device David Marchand
2016-02-10 11:23 ` Jan Viktorin
2016-02-10 12:00 ` David Marchand
2016-02-10 12:20 ` Jan Viktorin
2016-01-29 14:08 ` [dpdk-dev] [PATCH 9/9] eal: relocate hotplug code from ethdev David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 01/17] pci: no need for dynamic tailq init David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 02/17] crypto: no need for a crypto pmd type David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 03/17] drivers: align pci driver definitions David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 04/17] eal: remove duplicate function declaration David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 05/17] eal: introduce init macros David Marchand
2016-04-20 12:33 ` Jan Viktorin
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 06/17] crypto: export init/uninit common wrappers for pci drivers David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 07/17] ethdev: " David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 08/17] drivers: convert all pdev drivers as " David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 09/17] crypto: get rid of crypto driver register callback David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 10/17] ethdev: get rid of eth " David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 11/17] eal/linux: move back interrupt thread init before setting affinity David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 12/17] pci: add a helper for device name David Marchand
2016-05-04 15:25 ` Bruce Richardson
2016-05-04 16:26 ` Thomas Monjalon
2016-05-04 16:36 ` Bruce Richardson
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 13/17] pci: add a helper to update a device David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 14/17] ethdev: do not scan all pci devices on attach David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 15/17] eal: add hotplug operations for pci and vdev David Marchand
2016-05-27 10:39 ` Iremonger, Bernard
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 16/17] ethdev: convert to eal hotplug David Marchand
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 17/17] ethdev: get rid of device type David Marchand
2016-04-20 12:05 ` [dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver Bruce Richardson
2016-04-20 12:41 ` Jan Viktorin
2016-04-22 10:18 ` Jan Viktorin
2016-05-06 9:26 ` Declan Doherty
2016-05-06 11:46 ` Jan Viktorin
2016-05-27 10:23 ` Iremonger, Bernard
2016-06-16 6:32 ` Shreyansh Jain
2016-06-16 7:34 ` Thomas Monjalon
2016-06-16 8:23 ` Jan Viktorin
2016-06-16 9:19 ` Thomas Monjalon
2016-06-16 10:45 ` Jan Viktorin
2016-06-16 8:42 ` Shreyansh Jain
2016-06-16 10:48 ` Jan Viktorin
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 " Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 05/17] eal: introduce init macros Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 07/17] ethdev: " Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-06-20 6:16 ` Shreyansh jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 12/17] pci: add a helper for device name Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 13/17] pci: add a helper to update a device Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 17/17] ethdev: get rid of device type Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 00/17] prepare for rte_device / rte_driver Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 05/17] eal: introduce init macros Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 07/17] ethdev: " Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 12/17] pci: add a helper for device name Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 13/17] pci: add a helper to update a device Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 17/17] ethdev: get rid of device type Shreyansh Jain
2016-06-21 12:31 ` [dpdk-dev] [PATCH v4 00/17] prepare for rte_device / rte_driver Shreyansh jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 00/17] Prepare " Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 05/17] eal: introduce init macros Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 07/17] ethdev: " Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-06-22 13:27 ` Neil Horman
2016-06-22 13:43 ` Shreyansh jain
2016-06-22 13:44 ` Thomas Monjalon
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-06-22 13:28 ` Neil Horman
2016-06-22 13:44 ` Shreyansh jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 12/17] pci: add a helper for device name Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 13/17] pci: add a helper to update a device Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-06-22 9:06 ` [dpdk-dev] [PATCH v5 17/17] ethdev: get rid of device type Shreyansh Jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 00/17] Prepare for rte_device / rte_driver Shreyansh Jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-07-14 17:11 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-07-14 17:14 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-07-14 17:12 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-07-14 17:13 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 05/17] eal: introduce init macros Shreyansh Jain
2016-07-13 9:20 ` Jan Viktorin
2016-07-13 17:34 ` Jan Viktorin
2016-07-14 5:27 ` Shreyansh jain
2016-07-14 15:57 ` Jan Viktorin
2016-07-15 10:48 ` Shreyansh jain
2016-07-15 12:38 ` Thomas Monjalon
2016-07-28 9:36 ` Shreyansh Jain
2016-07-30 8:14 ` Jan Viktorin
2016-08-01 11:00 ` Shreyansh Jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-07-14 17:06 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 07/17] ethdev: " Shreyansh Jain
2016-07-14 17:06 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-07-14 17:10 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-07-14 17:09 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-07-14 17:09 ` viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 12/17] pci: add a helper for device name Shreyansh Jain
2016-07-14 16:55 ` Jan Viktorin
2016-07-15 9:39 ` Shreyansh jain
2016-07-15 9:56 ` Thomas Monjalon
2016-07-15 11:32 ` Jan Viktorin
2016-07-15 9:56 ` Jan Viktorin
2016-07-15 13:14 ` Shreyansh Jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 13/17] pci: add a helper to update a device Shreyansh Jain
2016-07-14 17:01 ` Jan Viktorin
2016-07-15 9:44 ` Shreyansh jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-07-14 16:50 ` Jan Viktorin
2016-07-15 9:52 ` Shreyansh jain
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-07-14 16:51 ` Jan Viktorin
2016-07-15 10:36 ` Shreyansh jain
2016-07-15 11:27 ` Jan Viktorin
2016-07-12 6:01 ` [dpdk-dev] [PATCH v6 17/17] ethdev: get rid of device type Shreyansh Jain
2016-07-14 16:33 ` Jan Viktorin
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 00/17] Prepare for rte_device / rte_driver Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 05/17] eal: introduce init macros Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 07/17] ethdev: " Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 12/17] pci: add a helper for device name Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 13/17] pci: add a helper to update a device Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-08-01 10:45 ` [dpdk-dev] [PATCH v7 17/17] ethdev: get rid of device type Shreyansh Jain
2016-08-01 15:43 ` [dpdk-dev] [PATCH v7 00/17] Prepare for rte_device / rte_driver Jan Viktorin
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 00/25] Introducing rte_driver/rte_device generalization Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 01/25] eal: define macro container_of Shreyansh Jain
2016-08-29 16:43 ` Ferruh Yigit
2016-08-30 4:27 ` Shreyansh Jain
2016-08-30 10:30 ` Thomas Monjalon
2016-08-30 11:59 ` Shreyansh Jain
2016-08-30 13:42 ` Thomas Monjalon
2016-08-31 4:26 ` Shreyansh Jain
2016-08-30 4:31 ` Shreyansh Jain
2016-09-08 5:45 ` Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 02/25] eal: remove duplicate function declaration Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 03/25] pci: no need for dynamic tailq init Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 04/25] crypto: no need for a crypto pmd type Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 05/25] drivers: align pci driver definitions Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 06/25] eal: introduce init macros Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 07/25] driver: init/uninit common wrappers for PCI drivers Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 08/25] drivers: convert all pdev drivers as pci drivers Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 09/25] driver: Remove driver register callbacks for crypto/net Shreyansh Jain
2016-08-29 17:20 ` Ferruh Yigit
2016-08-30 4:36 ` Shreyansh Jain
2016-09-08 5:46 ` Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 10/25] eal/pci: Helpers for device name parsing/update Shreyansh Jain
2016-08-30 16:34 ` Pattan, Reshma
2016-08-31 4:24 ` Shreyansh Jain
2016-09-08 5:48 ` Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 11/25] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 12/25] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 13/25] ethdev: convert to eal hotplug Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 14/25] ethdev: get rid of device type Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 15/25] eal: extract vdev infra Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 16/25] eal: Remove PDEV/VDEV unused code Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 17/25] drivers: convert PMD_VDEV drivers to use rte_vdev_driver Shreyansh Jain
2016-08-29 16:57 ` Ferruh Yigit
2016-08-30 4:38 ` Shreyansh Jain
2016-09-08 5:49 ` Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 18/25] eal: move init/uninit to rte_vdev_driver Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 19/25] eal: remove PMD_DRIVER_REGISTER and unused pmd_types Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 20/25] eal: rte_pci.h includes rte_dev.h Shreyansh Jain
2016-08-26 13:56 ` [dpdk-dev] [PATCH v8 21/25] eal: rename and move rte_pci_resource Shreyansh Jain
2016-08-26 13:57 ` [dpdk-dev] [PATCH v8 22/25] eal/pci: inherit rte_driver by rte_pci_driver Shreyansh Jain
2016-08-29 16:49 ` Ferruh Yigit
2016-08-30 4:59 ` Shreyansh Jain
2016-09-08 5:51 ` Shreyansh Jain
2016-08-30 15:47 ` Ferruh Yigit
2016-09-01 13:54 ` Shreyansh Jain
2016-08-26 13:57 ` [dpdk-dev] [PATCH v8 23/25] eal: call rte_eal_driver_register Shreyansh Jain
2016-08-26 13:57 ` [dpdk-dev] [PATCH v8 24/25] eal: introduce rte_device Shreyansh Jain
2016-08-26 13:57 ` [dpdk-dev] [PATCH v8 25/25] eal/pci: Create rte_device list and fallback on its members Shreyansh Jain
2016-08-29 16:53 ` Ferruh Yigit
2016-08-30 4:38 ` Shreyansh Jain
2016-09-08 5:55 ` Shreyansh Jain
2016-09-08 8:33 ` Ferruh Yigit
2016-08-30 13:27 ` [dpdk-dev] [PATCH v8 00/25] Introducing rte_driver/rte_device generalization Ferruh Yigit
2016-09-01 12:36 ` Shreyansh Jain
2016-09-08 7:03 ` Shreyansh Jain
2016-09-01 18:29 ` Jan Viktorin
2016-09-02 5:32 ` Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 " Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 01/25] eal: define macro container_of Shreyansh Jain
2016-09-08 14:16 ` Ferruh Yigit
2016-09-09 4:19 ` Shreyansh Jain
2016-09-09 8:55 ` Adrien Mazarguil
2016-09-09 10:44 ` Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 02/25] eal: remove duplicate function declaration Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 03/25] pci: no need for dynamic tailq init Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 04/25] crypto: no need for a crypto pmd type Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 05/25] drivers: align pci driver definitions Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 06/25] eal: introduce init macros Shreyansh Jain
2016-09-12 7:15 ` David Marchand
2016-09-15 7:28 ` Shreyansh Jain
2016-09-07 14:07 ` [dpdk-dev] [PATCH v9 07/25] driver: init/uninit common wrappers for PCI drivers Shreyansh Jain
2016-09-12 7:16 ` David Marchand
2016-09-12 9:55 ` Thomas Monjalon
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 08/25] drivers: convert all pdev drivers as pci drivers Shreyansh Jain
2016-09-12 7:16 ` David Marchand
2016-09-16 4:49 ` Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 09/25] driver: Remove driver register callbacks for crypto/net Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 10/25] eal/pci: Helpers for device name parsing/update Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 11/25] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 12/25] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 13/25] ethdev: convert to eal hotplug Shreyansh Jain
2016-09-12 7:16 ` David Marchand
2016-09-15 7:29 ` Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 14/25] ethdev: get rid of device type Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 15/25] eal: extract vdev infra Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 16/25] eal: Remove PDEV/VDEV unused code Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 17/25] drivers: convert PMD_VDEV drivers to use rte_vdev_driver Shreyansh Jain
2016-09-11 11:55 ` Yuanhan Liu
2016-09-12 4:39 ` Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 18/25] eal: move init/uninit to rte_vdev_driver Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 19/25] eal: remove PMD_DRIVER_REGISTER and unused pmd_types Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 20/25] eal: rte_pci.h includes rte_dev.h Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 21/25] eal: rename and move rte_pci_resource Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 22/25] eal/pci: inherit rte_driver by rte_pci_driver Shreyansh Jain
2016-09-08 14:25 ` Ferruh Yigit
2016-09-16 4:47 ` Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 23/25] eal: call rte_eal_driver_register Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 24/25] eal: introduce rte_device Shreyansh Jain
2016-09-07 14:08 ` [dpdk-dev] [PATCH v9 25/25] eal/pci: Create rte_device list and fallback on its members Shreyansh Jain
2016-09-07 18:40 ` [dpdk-dev] [PATCH v9 00/25] Introducing rte_driver/rte_device generalization Stephen Hemminger
2016-09-08 7:10 ` Shreyansh Jain
2016-09-08 16:49 ` Stephen Hemminger
2016-09-09 11:42 ` Shreyansh Jain
2016-09-09 16:11 ` Declan Doherty
2016-09-13 11:15 ` Shreyansh Jain
2016-09-12 7:32 ` David Marchand
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 " Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 01/25] eal: define container macro Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 02/25] eal: remove duplicate function declaration Shreyansh Jain
2016-09-16 11:42 ` Jan Viktorin
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 03/25] pci: no need for dynamic tailq init Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 04/25] eal/pci: replace PCI devinit/devuninit with probe/remove Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 05/25] crypto: no need for a crypto pmd type Shreyansh Jain
2016-09-16 11:49 ` Jan Viktorin
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 06/25] drivers: align PCI driver definitions Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 07/25] eal: introduce PCI device init macros Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 08/25] driver: init/uninit common wrappers for PCI drivers Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 09/25] drivers: convert all phy drivers as " Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 10/25] drivers: remove driver register callbacks for crypto/net Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 11/25] eal/pci: helpers for device name parsing/update Shreyansh Jain
2016-10-25 15:49 ` Pattan, Reshma
2016-10-26 6:23 ` Shreyansh Jain
2016-10-26 9:12 ` Pattan, Reshma
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 12/25] ethdev: do not scan all PCI devices on attach Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 13/25] eal: add hotplug operations for PCI and VDEV Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 14/25] ethdev: convert to EAL hotplug Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 15/25] ethdev: get rid of device type Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 16/25] eal: extract vdev infra Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 17/25] eal: remove PDEV/VDEV unused code Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 18/25] drivers: convert VDRV to use RTE VDEV Driver Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 19/25] eal: remove unused PMD types Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 20/25] eal: include dev headers in place of PCI headers Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 21/25] eal: rename and move RTE PCI Resources Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 22/25] eal/pci: inherit RTE driver in PCI driver Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 23/25] eal: register EAL drivers explicitly Shreyansh Jain
2016-09-16 4:29 ` [dpdk-dev] [PATCH v10 24/25] eal: introduce generalized RTE device Shreyansh Jain
2016-09-16 4:30 ` [dpdk-dev] [PATCH v10 25/25] eal/pci: create RTE device list and fallback on its members Shreyansh Jain
[not found] ` <CALwxeUusnzO9daPnHkkf5QhY6_g67f-9oDzKcrhzXj7X3Lm_kQ@mail.gmail.com>
2016-09-16 14:29 ` [dpdk-dev] [PATCH v10 00/25] Introducing rte_driver/rte_device generalization David Marchand
2016-09-17 18:50 ` Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 00/24] " Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 01/24] eal: remove duplicate function declaration Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 02/24] pci: no need for dynamic tailq init Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 03/24] eal/pci: replace PCI devinit/devuninit with probe/remove Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 04/24] crypto: no need for a crypto pmd type Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 05/24] drivers: align PCI driver definitions Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 06/24] eal: introduce PCI device init macros Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 07/24] driver: probe/remove common wrappers for PCI drivers Shreyansh Jain
2016-10-03 14:21 ` Thomas Monjalon
2016-10-04 6:16 ` Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 08/24] drivers: convert all phy drivers as " Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 09/24] drivers: remove driver register callbacks for crypto/net Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 10/24] eal/pci: helpers for device name parsing/update Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 11/24] ethdev: do not scan all PCI devices on attach Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 12/24] eal: add hotplug operations for PCI and VDEV Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 13/24] ethdev: convert to EAL hotplug Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 14/24] ethdev: get rid of device type Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 15/24] eal: extract vdev infra Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 16/24] eal: remove PDEV/VDEV unused code Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 17/24] drivers: convert VDRV to use RTE VDEV Driver Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 18/24] eal: remove unused PMD types Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 19/24] eal: include dev headers in place of PCI headers Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 20/24] eal: rename and move RTE PCI Resources Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 21/24] eal/pci: inherit RTE driver in PCI driver Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 22/24] eal: register EAL drivers explicitly Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 23/24] eal: introduce generalized RTE device Shreyansh Jain
2016-09-20 12:41 ` [dpdk-dev] [PATCH v11 24/24] eal/pci: create RTE device list and fallback on its members Shreyansh Jain
2016-09-21 19:03 ` [dpdk-dev] [PATCH v11 00/24] Introducing rte_driver/rte_device generalization Matej Vido
2016-09-22 4:25 ` Shreyansh Jain
2016-09-30 10:22 ` David Marchand
2016-10-03 14:28 ` Thomas Monjalon
2016-10-04 6:51 ` Shreyansh Jain
2016-10-04 7:42 ` Thomas Monjalon
2016-10-05 11:57 ` Shreyansh Jain
2016-10-17 13:43 ` Ferruh Yigit
2016-10-17 17:29 ` Shreyansh Jain
2016-10-18 9:23 ` Ferruh Yigit
2016-10-19 11:13 ` Shreyansh Jain
2016-10-18 13:04 ` Neil Horman
2016-10-18 13:47 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1454076516-21591-3-git-send-email-david.marchand@6wind.com \
--to=david.marchand@6wind.com \
--cc=dev@dpdk.org \
--cc=viktorin@rehivetech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).