From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, bruce.richardson@intel.com,
Maryam Tahhan <maryam.tahhan@intel.com>,
Reshma Pattan <reshma.pattan@intel.com>,
Aman Singh <aman.deep.singh@intel.com>,
Yuying Zhang <yuying.zhang@intel.com>,
Maxime Coquelin <maxime.coquelin@redhat.com>,
Chenbo Xia <chenbo.xia@intel.com>, Ray Kinsella <mdr@ashroe.eu>,
Ferruh Yigit <ferruh.yigit@xilinx.com>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: [PATCH v6 24/27] dev: introduce device accessors
Date: Wed, 14 Sep 2022 09:58:38 +0200 [thread overview]
Message-ID: <20220914075841.51555-25-david.marchand@redhat.com> (raw)
In-Reply-To: <20220914075841.51555-1-david.marchand@redhat.com>
Prepare for making the device object opaque by adding accessors.
Update existing "external" users.
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
Changes since v4:
- updated test_vdev.c,
Changes since RFC v2:
- added rte_dev_devargs,
- updated testpmd,
---
app/proc-info/main.c | 6 +--
app/test-pmd/config.c | 18 +++----
app/test-pmd/testpmd.c | 6 +--
app/test/test_vdev.c | 4 +-
examples/ethtool/lib/rte_ethtool.c | 2 +-
examples/l3fwd/l3fwd_em.c | 4 +-
examples/l3fwd/l3fwd_fib.c | 8 +--
examples/l3fwd/l3fwd_lpm.c | 4 +-
examples/vdpa/main.c | 16 +++---
lib/eal/common/eal_common_dev.c | 30 ++++++++++++
lib/eal/include/rte_dev.h | 78 ++++++++++++++++++++++++++++++
lib/eal/version.map | 7 +++
lib/ethdev/rte_ethdev.h | 2 +-
13 files changed, 150 insertions(+), 35 deletions(-)
diff --git a/app/proc-info/main.c b/app/proc-info/main.c
index 1bfba5f60d..d52ac8a038 100644
--- a/app/proc-info/main.c
+++ b/app/proc-info/main.c
@@ -755,7 +755,7 @@ show_port(void)
}
printf("\t -- driver %s device %s socket %d\n",
- dev_info.driver_name, dev_info.device->name,
+ dev_info.driver_name, rte_dev_name(dev_info.device),
rte_eth_dev_socket_id(i));
ret = rte_eth_dev_owner_get(i, &owner);
@@ -1254,7 +1254,7 @@ show_crypto(void)
rte_cryptodev_name_get(i),
dev_info.driver_name,
dev_info.driver_id,
- dev_info.device->numa_node,
+ rte_dev_numa_node(dev_info.device),
rte_cryptodev_queue_pair_count(i));
display_crypto_feature_info(dev_info.feature_flags);
@@ -1466,7 +1466,7 @@ dump_regs(char *file_prefix)
else
printf("Device (%s) regs dumped successfully, "
"driver:%s version:0X%08X\n",
- dev_info.device->name,
+ rte_dev_name(dev_info.device),
dev_info.driver_name, reg_info.version);
fclose(fp_regs);
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 6510f29c76..de74690f06 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -645,19 +645,19 @@ device_infos_display(const char *identifier)
snprintf(devstr, sizeof(devstr), "bus=%s", rte_bus_name(next));
RTE_DEV_FOREACH(dev, devstr, &dev_iter) {
- if (!dev->driver)
+ if (rte_dev_driver(dev) == NULL)
continue;
/* Check for matching device if identifier is present */
if (identifier &&
- strncmp(da.name, dev->name, strlen(dev->name)))
+ strncmp(da.name, rte_dev_name(dev), strlen(rte_dev_name(dev))))
continue;
printf("\n%s Infos for device %s %s\n",
- info_border, dev->name, info_border);
- printf("Bus name: %s", rte_bus_name(dev->bus));
- printf("\nDriver name: %s", rte_driver_name(dev->driver));
+ info_border, rte_dev_name(dev), info_border);
+ printf("Bus name: %s", rte_bus_name(rte_dev_bus(dev)));
+ printf("\nDriver name: %s", rte_driver_name(rte_dev_driver(dev)));
printf("\nDevargs: %s",
- dev->devargs ? dev->devargs->args : "");
- printf("\nConnect to socket: %d", dev->numa_node);
+ rte_dev_devargs(dev) ? rte_dev_devargs(dev)->args : "");
+ printf("\nConnect to socket: %d", rte_dev_numa_node(dev));
printf("\n");
/* List ports with matching device name */
@@ -802,8 +802,8 @@ port_infos_display(portid_t port_id)
else
printf("\nFirmware-version: %s", "not available");
- if (dev_info.device->devargs && dev_info.device->devargs->args)
- printf("\nDevargs: %s", dev_info.device->devargs->args);
+ if (rte_dev_devargs(dev_info.device) && rte_dev_devargs(dev_info.device)->args)
+ printf("\nDevargs: %s", rte_dev_devargs(dev_info.device)->args);
printf("\nConnect to socket: %u", port->socket_id);
if (port_numa[port_id] != NUMA_NO_CONFIG) {
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index c7d1fa2719..a399193e53 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1057,7 +1057,7 @@ dma_unmap_cb(struct rte_mempool *mp __rte_unused, void *opaque __rte_unused,
TESTPMD_LOG(DEBUG,
"unable to DMA unmap addr 0x%p "
"for device %s\n",
- memhdr->addr, dev_info.device->name);
+ memhdr->addr, rte_dev_name(dev_info.device));
}
}
ret = rte_extmem_unregister(memhdr->addr, memhdr->len);
@@ -1098,7 +1098,7 @@ dma_map_cb(struct rte_mempool *mp __rte_unused, void *opaque __rte_unused,
TESTPMD_LOG(DEBUG,
"unable to DMA map addr 0x%p "
"for device %s\n",
- memhdr->addr, dev_info.device->name);
+ memhdr->addr, rte_dev_name(dev_info.device));
}
}
}
@@ -3441,7 +3441,7 @@ detach_device(struct rte_device *dev)
}
if (rte_dev_remove(dev) < 0) {
- TESTPMD_LOG(ERR, "Failed to detach device %s\n", dev->name);
+ TESTPMD_LOG(ERR, "Failed to detach device %s\n", rte_dev_name(dev));
return;
}
remove_invalid_ports();
diff --git a/app/test/test_vdev.c b/app/test/test_vdev.c
index 1904e76e44..9f0e6c4b99 100644
--- a/app/test/test_vdev.c
+++ b/app/test/test_vdev.c
@@ -23,7 +23,7 @@ static const char * const valid_keys[] = {
static int
cmp_dev_name(const struct rte_device *dev, const void *name)
{
- return strcmp(dev->name, name);
+ return strcmp(rte_dev_name(dev), name);
}
static int
@@ -39,7 +39,7 @@ cmp_dev_match(const struct rte_device *dev, const void *_kvlist)
/* if key is present in kvlist and does not match, filter device */
name = rte_kvargs_get(kvlist, key);
- if (name != NULL && strcmp(name, dev->name))
+ if (name != NULL && strcmp(name, rte_dev_name(dev)) != 0)
return -1;
return 0;
diff --git a/examples/ethtool/lib/rte_ethtool.c b/examples/ethtool/lib/rte_ethtool.c
index 88dc917b73..33acc5e3cc 100644
--- a/examples/ethtool/lib/rte_ethtool.c
+++ b/examples/ethtool/lib/rte_ethtool.c
@@ -49,7 +49,7 @@ rte_ethtool_get_drvinfo(uint16_t port_id, struct ethtool_drvinfo *drvinfo)
strlcpy(drvinfo->driver, dev_info.driver_name,
sizeof(drvinfo->driver));
strlcpy(drvinfo->version, rte_version(), sizeof(drvinfo->version));
- strlcpy(drvinfo->bus_info, dev_info.device->name,
+ strlcpy(drvinfo->bus_info, rte_dev_name(dev_info.device),
sizeof(drvinfo->bus_info));
memset(®_info, 0, sizeof(reg_info));
diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index 10be24c61d..0531282a1f 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -403,7 +403,7 @@ populate_ipv4_flow_into_table(const struct rte_hash *h)
em_route_base_v4[i].v4_key.port_dst,
em_route_base_v4[i].v4_key.port_src,
em_route_base_v4[i].v4_key.proto,
- em_route_base_v4[i].if_out, dev_info.device->name);
+ em_route_base_v4[i].if_out, rte_dev_name(dev_info.device));
}
printf("Hash: Adding 0x%" PRIx64 " keys\n",
(uint64_t)route_num_v4);
@@ -455,7 +455,7 @@ populate_ipv6_flow_into_table(const struct rte_hash *h)
em_route_base_v6[i].v6_key.port_dst,
em_route_base_v6[i].v6_key.port_src,
em_route_base_v6[i].v6_key.proto,
- em_route_base_v6[i].if_out, dev_info.device->name);
+ em_route_base_v6[i].if_out, rte_dev_name(dev_info.device));
}
printf("Hash: Adding 0x%" PRIx64 "keys\n",
(uint64_t)route_num_v6);
diff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c
index e02e4b3f5a..b82e0c0354 100644
--- a/examples/l3fwd/l3fwd_fib.c
+++ b/examples/l3fwd/l3fwd_fib.c
@@ -640,11 +640,11 @@ setup_fib(const int socketid)
printf("FIB: Adding route %s / %d (%d) [%s]\n", abuf,
route_base_v4[i].depth,
route_base_v4[i].if_out,
- dev_info.device->name);
+ rte_dev_name(dev_info.device));
} else {
printf("FIB: IPv4 route added to port %d [%s]\n",
route_base_v4[i].if_out,
- dev_info.device->name);
+ rte_dev_name(dev_info.device));
}
}
/* >8 End of setup fib. */
@@ -695,11 +695,11 @@ setup_fib(const int socketid)
printf("FIB: Adding route %s / %d (%d) [%s]\n", abuf,
route_base_v6[i].depth,
route_base_v6[i].if_out,
- dev_info.device->name);
+ rte_dev_name(dev_info.device));
} else {
printf("FIB: IPv6 route added to port %d [%s]\n",
route_base_v6[i].if_out,
- dev_info.device->name);
+ rte_dev_name(dev_info.device));
}
}
}
diff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c
index d1b850dd5b..22d7f61a42 100644
--- a/examples/l3fwd/l3fwd_lpm.c
+++ b/examples/l3fwd/l3fwd_lpm.c
@@ -598,7 +598,7 @@ setup_lpm(const int socketid)
printf("LPM: Adding route %s / %d (%d) [%s]\n",
inet_ntop(AF_INET, &in, abuf, sizeof(abuf)),
route_base_v4[i].depth,
- route_base_v4[i].if_out, dev_info.device->name);
+ route_base_v4[i].if_out, rte_dev_name(dev_info.device));
}
/* create the LPM6 table */
@@ -642,7 +642,7 @@ setup_lpm(const int socketid)
inet_ntop(AF_INET6, route_base_v6[i].ip_8, abuf,
sizeof(abuf)),
route_base_v6[i].depth,
- route_base_v6[i].if_out, dev_info.device->name);
+ route_base_v6[i].if_out, rte_dev_name(dev_info.device));
}
}
diff --git a/examples/vdpa/main.c b/examples/vdpa/main.c
index 7e11ef4e26..ee240dd15a 100644
--- a/examples/vdpa/main.c
+++ b/examples/vdpa/main.c
@@ -119,7 +119,7 @@ new_device(int vid)
"Failed to get generic device for port %d\n", i);
continue;
}
- printf("\nnew port %s, device : %s\n", ifname, dev->name);
+ printf("\nnew port %s, device : %s\n", ifname, rte_dev_name(dev));
vports[i].vid = vid;
break;
}
@@ -149,7 +149,7 @@ destroy_device(int vid)
continue;
}
- printf("\ndestroy port %s, device: %s\n", ifname, dev->name);
+ printf("\ndestroy port %s, device: %s\n", ifname, rte_dev_name(dev));
break;
}
}
@@ -353,23 +353,23 @@ static void cmd_list_vdpa_devices_parsed(
cmdline_printf(cl, "device name\tqueue num\tsupported features\n");
RTE_DEV_FOREACH(dev, "class=vdpa", &dev_iter) {
- vdev = rte_vdpa_find_device_by_name(dev->name);
+ vdev = rte_vdpa_find_device_by_name(rte_dev_name(dev));
if (!vdev)
continue;
if (rte_vdpa_get_queue_num(vdev, &queue_num) < 0) {
RTE_LOG(ERR, VDPA,
"failed to get vdpa queue number "
- "for device %s.\n", dev->name);
+ "for device %s.\n", rte_dev_name(dev));
continue;
}
if (rte_vdpa_get_features(vdev, &features) < 0) {
RTE_LOG(ERR, VDPA,
"failed to get vdpa features "
- "for device %s.\n", dev->name);
+ "for device %s.\n", rte_dev_name(dev));
continue;
}
cmdline_printf(cl, "%s\t\t%" PRIu32 "\t\t0x%" PRIx64 "\n",
- dev->name, queue_num, features);
+ rte_dev_name(dev), queue_num, features);
}
}
@@ -606,10 +606,10 @@ main(int argc, char *argv[])
cmdline_stdin_exit(cl);
} else {
RTE_DEV_FOREACH(dev, "class=vdpa", &dev_iter) {
- vdev = rte_vdpa_find_device_by_name(dev->name);
+ vdev = rte_vdpa_find_device_by_name(rte_dev_name(dev));
if (vdev == NULL) {
rte_panic("Failed to find vDPA dev for %s\n",
- dev->name);
+ rte_dev_name(dev));
}
vports[devcnt].dev = vdev;
snprintf(vports[devcnt].ifname, MAX_PATH_LEN, "%s%d",
diff --git a/lib/eal/common/eal_common_dev.c b/lib/eal/common/eal_common_dev.c
index 98f3c78795..7b12d6e531 100644
--- a/lib/eal/common/eal_common_dev.c
+++ b/lib/eal/common/eal_common_dev.c
@@ -25,6 +25,36 @@ rte_driver_name(const struct rte_driver *driver)
return driver->name;
}
+const struct rte_bus *
+rte_dev_bus(const struct rte_device *dev)
+{
+ return dev->bus;
+}
+
+const struct rte_devargs *
+rte_dev_devargs(const struct rte_device *dev)
+{
+ return dev->devargs;
+}
+
+const struct rte_driver *
+rte_dev_driver(const struct rte_device *dev)
+{
+ return dev->driver;
+}
+
+const char *
+rte_dev_name(const struct rte_device *dev)
+{
+ return dev->name;
+}
+
+int
+rte_dev_numa_node(const struct rte_device *dev)
+{
+ return dev->numa_node;
+}
+
/**
* The device event callback description.
*
diff --git a/lib/eal/include/rte_dev.h b/lib/eal/include/rte_dev.h
index 7214f5d7fb..ce97ee1086 100644
--- a/lib/eal/include/rte_dev.h
+++ b/lib/eal/include/rte_dev.h
@@ -24,6 +24,9 @@ extern "C" {
#include <rte_compat.h>
#include <rte_log.h>
+struct rte_bus;
+struct rte_devargs;
+struct rte_device;
struct rte_driver;
/**
@@ -80,6 +83,81 @@ struct rte_mem_resource {
const char *
rte_driver_name(const struct rte_driver *driver);
+/**
+ * Retrieve a device bus.
+ *
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * @param dev
+ * A pointer to a device structure.
+ * @return
+ * A pointer to this device bus.
+ */
+__rte_experimental
+const struct rte_bus *
+rte_dev_bus(const struct rte_device *dev);
+
+/**
+ * Retrieve a device arguments.
+ *
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * @param dev
+ * A pointer to a device structure.
+ * @return
+ * A pointer to this device devargs.
+ */
+__rte_experimental
+const struct rte_devargs *
+rte_dev_devargs(const struct rte_device *dev);
+
+/**
+ * Retrieve a device driver.
+ *
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * @param dev
+ * A pointer to a device structure.
+ * @return
+ * A pointer to this device driver.
+ */
+__rte_experimental
+const struct rte_driver *
+rte_dev_driver(const struct rte_device *dev);
+
+/**
+ * Retrieve a device name.
+ *
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * @param dev
+ * A pointer to a device structure.
+ * @return
+ * A pointer to this device name.
+ */
+__rte_experimental
+const char *
+rte_dev_name(const struct rte_device *dev);
+
+/**
+ * Retrieve a device numa node.
+ *
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * @param dev
+ * A pointer to a device structure.
+ * @return
+ * A pointer to this device numa node.
+ */
+__rte_experimental
+int
+rte_dev_numa_node(const struct rte_device *dev);
+
/*
* Internal identifier length
* Sufficiently large to allow for UUID or PCI address
diff --git a/lib/eal/version.map b/lib/eal/version.map
index 8b53a1d258..719789b8d1 100644
--- a/lib/eal/version.map
+++ b/lib/eal/version.map
@@ -424,6 +424,13 @@ EXPERIMENTAL {
rte_thread_self;
rte_thread_set_affinity_by_id;
rte_thread_set_priority;
+
+ # added in 22.11
+ rte_dev_bus;
+ rte_dev_devargs;
+ rte_dev_driver;
+ rte_dev_name;
+ rte_dev_numa_node;
};
INTERNAL {
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 7556b94602..2e783536c1 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -3380,7 +3380,7 @@ int rte_eth_macaddrs_get(uint16_t port_id, struct rte_ether_addr *ma,
* exists for the device and the rte_eth_dev 'dev' has been populated
* successfully with a call to it:
*
- * driver_name = rte_driver_name(dev->device->driver)
+ * driver_name = rte_driver_name(rte_dev_driver(dev->device));
* nb_rx_queues = dev->data->nb_rx_queues
* nb_tx_queues = dev->data->nb_tx_queues
* dev_flags = &dev->data->dev_flags
--
2.37.3
next prev parent reply other threads:[~2022-09-14 8:02 UTC|newest]
Thread overview: 231+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-28 14:46 [RFC PATCH 00/11] Bus cleanup for 22.11 David Marchand
2022-06-28 14:46 ` [RFC PATCH 01/11] common/mlx5: rework check on driver registration David Marchand
2022-06-28 14:46 ` [RFC PATCH 02/11] raw/ifpga: remove PCI bus accessor David Marchand
2022-06-28 14:46 ` [RFC PATCH 03/11] dev: hide debug messages in device iterator David Marchand
2022-06-28 14:46 ` [RFC PATCH 04/11] dev: move unrelated macros from header David Marchand
2022-06-28 14:46 ` [RFC PATCH 05/11] devargs: remove dependency on bus header David Marchand
2022-06-28 14:46 ` [RFC PATCH 06/11] bus: remove unneeded inclusion of " David Marchand
2022-06-28 14:46 ` [RFC PATCH 07/11] bus: move IOVA definition from header David Marchand
2022-06-28 14:46 ` [RFC PATCH 08/11] drivers/bus: remove back reference to bus objects David Marchand
2022-06-28 14:46 ` [RFC PATCH 09/11] drivers/bus: hide specific structures David Marchand
2022-06-28 14:46 ` [RFC PATCH 10/11] bus: introduce accessors David Marchand
2022-06-28 14:46 ` [RFC PATCH 11/11] bus: hide bus object David Marchand
2022-06-28 16:22 ` Tyler Retzlaff
2022-06-28 16:24 ` Tyler Retzlaff
2022-06-28 16:29 ` Stephen Hemminger
2022-06-28 17:07 ` Tyler Retzlaff
2022-06-28 17:38 ` Stephen Hemminger
2022-06-28 18:23 ` Tyler Retzlaff
2022-07-09 8:16 ` David Marchand
2022-07-09 16:28 ` Stephen Hemminger
2022-09-23 8:49 ` David Marchand
2022-09-23 8:57 ` Thomas Monjalon
2022-07-09 8:26 ` [RFC v2 v2 00/29] Bus and device cleanup for 22.11 David Marchand
2022-07-09 8:26 ` [RFC v2 v2 01/29] common/mlx5: rework check on driver registration David Marchand
2022-07-09 8:26 ` [RFC v2 v2 02/29] raw/ifpga: remove PCI bus accessor David Marchand
2022-07-09 8:26 ` [RFC v2 v2 03/29] kni: stop populating PCI info in examples David Marchand
2022-07-09 8:26 ` [RFC v2 v2 04/29] examples/ethtool: prefer device name David Marchand
2022-07-09 8:26 ` [RFC v2 v2 05/29] dev: hide debug messages in device iterator David Marchand
2022-07-09 8:26 ` [RFC v2 v2 06/29] dev: move unrelated macros from header David Marchand
2022-07-09 8:26 ` [RFC v2 v2 07/29] devargs: remove dependency on bus header David Marchand
2022-07-09 8:26 ` [RFC v2 v2 08/29] bus: remove unneeded inclusion of " David Marchand
2022-07-09 8:26 ` [RFC v2 v2 09/29] bus: move IOVA definition from header David Marchand
2022-07-09 8:26 ` [RFC v2 v2 10/29] drivers/bus: remove back reference to bus objects David Marchand
2022-07-09 8:26 ` [RFC v2 v2 11/29] drivers/bus: hide specific structures David Marchand
2022-07-09 8:26 ` [RFC v2 v2 12/29] bus: introduce accessors David Marchand
2022-07-09 8:26 ` [RFC v2 v2 13/29] bus: hide bus object David Marchand
2022-07-09 8:26 ` [RFC v2 v2 14/29] bbdev: mark driver header David Marchand
2022-07-09 8:26 ` [RFC v2 v2 15/29] ethdev: mark some headers as driver only David Marchand
2022-07-09 8:26 ` [RFC v2 v2 16/29] rawdev: mark driver header David Marchand
2022-07-09 8:26 ` [RFC v2 v2 17/29] drivers: export drivers headers David Marchand
2022-07-09 8:26 ` [RFC v2 v2 18/29] bus/auxiliary: make driver-only headers private David Marchand
2022-07-09 8:26 ` [RFC v2 v2 19/29] bus/dpaa: " David Marchand
2022-07-09 8:26 ` [RFC v2 v2 20/29] bus/fslmc: " David Marchand
2022-07-09 8:26 ` [RFC v2 v2 21/29] bus/ifpga: cleanup exported symbols David Marchand
2022-07-09 8:26 ` [RFC v2 v2 22/29] bus/ifpga: make driver-only headers private David Marchand
2022-07-09 8:26 ` [RFC v2 v2 23/29] bus/pci: " David Marchand
2022-07-09 8:26 ` [RFC v2 v2 24/29] bus/vdev: " David Marchand
2022-07-09 8:26 ` [RFC v2 v2 25/29] bus/vmbus: " David Marchand
2022-07-09 8:26 ` [RFC v2 v2 26/29] dev: introduce driver name David Marchand
2022-07-09 8:26 ` [RFC v2 v2 27/29] dev: hide driver object David Marchand
2022-07-09 8:26 ` [RFC v2 v2 28/29] dev: introduce device accessors David Marchand
2022-07-09 8:26 ` [RFC v2 v2 29/29] dev: hide device object David Marchand
2022-07-09 16:30 ` [RFC v2 v2 00/29] Bus and device cleanup for 22.11 Stephen Hemminger
2022-07-11 8:38 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 00/26] " David Marchand
2022-07-28 15:26 ` [RFC v3 01/26] devtools: forbid inclusions of driver only headers David Marchand
2022-07-28 16:23 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 02/26] common/mlx5: rework check on driver registration David Marchand
2022-07-28 15:26 ` [RFC v3 03/26] raw/ifpga: remove PCI bus accessor David Marchand
2022-07-29 2:36 ` Xu, Rosen
2022-07-28 15:26 ` [RFC v3 04/26] app/testpmd: drop PCI register commands David Marchand
2022-07-28 16:26 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 05/26] kni: stop populating PCI info in examples David Marchand
2022-07-28 16:30 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 06/26] examples/ethtool: prefer device name David Marchand
2022-07-28 16:32 ` Bruce Richardson
2022-07-28 19:27 ` David Marchand
2022-07-28 15:26 ` [RFC v3 07/26] dev: hide debug messages in device iterator David Marchand
2022-07-28 16:33 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 08/26] dev: move unrelated macros from header David Marchand
2022-07-28 16:38 ` Bruce Richardson
2022-07-28 19:32 ` David Marchand
2022-07-29 9:58 ` Bruce Richardson
2022-07-29 13:22 ` David Marchand
2022-08-24 6:50 ` David Marchand
2022-08-24 7:39 ` Thomas Monjalon
2022-08-24 11:52 ` Morten Brørup
2022-08-24 12:53 ` Thomas Monjalon
2022-07-28 15:26 ` [RFC v3 09/26] devargs: remove dependency on bus header David Marchand
2022-07-28 16:40 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 10/26] build: export drivers headers David Marchand
2022-07-28 16:41 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 11/26] bus/auxiliary: make driver-only headers private David Marchand
2022-07-28 15:26 ` [RFC v3 12/26] bus/dpaa: " David Marchand
2022-07-28 15:26 ` [RFC v3 13/26] bus/fslmc: " David Marchand
2022-07-28 15:26 ` [RFC v3 14/26] bus/ifpga: cleanup exported symbols David Marchand
2022-07-29 2:36 ` Xu, Rosen
2022-07-28 15:26 ` [RFC v3 15/26] bus/ifpga: make driver-only headers private David Marchand
2022-07-29 2:37 ` Xu, Rosen
2022-07-28 15:26 ` [RFC v3 16/26] bus/pci: " David Marchand
2022-07-28 16:46 ` Bruce Richardson
2022-07-28 16:52 ` Ajit Khaparde
2022-07-29 2:41 ` Xu, Rosen
2022-07-28 15:26 ` [RFC v3 17/26] bus/vdev: " David Marchand
2022-07-29 2:38 ` Xu, Rosen
2022-07-28 15:26 ` [RFC v3 18/26] bus/vmbus: " David Marchand
2022-07-28 15:26 ` [RFC v3 19/26] bus: move IOVA definition from header David Marchand
2022-07-28 16:48 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 20/26] bus: introduce accessors David Marchand
2022-07-28 16:51 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 21/26] bus: hide bus object David Marchand
2022-07-28 16:56 ` Bruce Richardson
2022-07-28 19:26 ` David Marchand
2022-07-29 10:01 ` Bruce Richardson
2022-07-29 11:14 ` David Marchand
2022-07-28 15:26 ` [RFC v3 22/26] dev: introduce driver accessors David Marchand
2022-07-28 16:59 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 23/26] dev: hide driver object David Marchand
2022-07-28 17:00 ` Bruce Richardson
2022-08-01 17:18 ` Ajit Khaparde
2022-08-01 7:06 ` Jayatheerthan, Jay
2022-07-28 15:26 ` [RFC v3 24/26] dev: introduce device accessors David Marchand
2022-07-28 17:01 ` Bruce Richardson
2022-07-28 15:26 ` [RFC v3 25/26] dev: provide Bus specific information David Marchand
2022-07-28 17:03 ` Bruce Richardson
2022-07-28 19:45 ` David Marchand
2022-07-28 15:26 ` [RFC v3 26/26] dev: hide device object David Marchand
2022-07-28 17:04 ` Bruce Richardson
2022-08-04 23:19 ` [RFC v3 00/26] Bus and device cleanup for 22.11 Harris, James R
2022-08-25 9:31 ` David Marchand
2022-08-29 17:12 ` Walker, Benjamin
2022-08-30 15:09 ` David Marchand
2022-09-21 22:29 ` Harris, James R
2022-09-23 7:13 ` David Marchand
2022-09-23 21:56 ` Harris, James R
2022-08-26 12:41 ` [PATCH v4 00/27] " David Marchand
2022-08-26 12:41 ` [PATCH v4 01/27] devtools: forbid inclusions of driver only headers David Marchand
2022-08-26 12:41 ` [PATCH v4 02/27] common/mlx5: rework check on driver registration David Marchand
2022-08-26 12:41 ` [PATCH v4 03/27] raw/ifpga: remove PCI bus accessor David Marchand
2022-08-26 12:41 ` [PATCH v4 04/27] app/testpmd: drop PCI register commands David Marchand
2022-08-26 12:41 ` [PATCH v4 05/27] kni: stop populating PCI info in examples David Marchand
2022-08-26 12:41 ` [PATCH v4 06/27] examples/ethtool: prefer device name David Marchand
2022-08-26 12:41 ` [PATCH v4 07/27] dev: hide debug messages in device iterator David Marchand
2022-08-26 12:41 ` [PATCH v4 08/27] eal: deprecate RTE_FUNC_PTR_* macros David Marchand
2022-08-26 12:41 ` [PATCH v4 09/27] devargs: remove dependency on bus header David Marchand
2022-08-26 12:41 ` [PATCH v4 10/27] build: export drivers headers David Marchand
2022-08-26 12:41 ` [PATCH v4 11/27] bus/auxiliary: make driver-only headers private David Marchand
2022-08-26 12:41 ` [PATCH v4 12/27] bus/dpaa: " David Marchand
2022-08-30 4:50 ` Hemant Agrawal
2022-08-26 12:41 ` [PATCH v4 13/27] bus/fslmc: " David Marchand
2022-08-30 4:49 ` Hemant Agrawal
2022-08-26 12:41 ` [PATCH v4 14/27] bus/ifpga: cleanup exported symbols David Marchand
2022-08-26 12:41 ` [PATCH v4 15/27] bus/ifpga: make driver-only headers private David Marchand
2022-08-26 12:41 ` [PATCH v4 16/27] bus/pci: " David Marchand
2022-08-26 12:41 ` [PATCH v4 17/27] bus/vdev: " David Marchand
2022-08-29 7:17 ` Ruifeng Wang
2022-08-29 8:12 ` David Marchand
2022-08-26 12:41 ` [PATCH v4 18/27] bus/vmbus: " David Marchand
2022-08-26 12:42 ` [PATCH v4 19/27] bus: move IOVA definition from header David Marchand
2022-08-26 12:42 ` [PATCH v4 20/27] bus: introduce accessors David Marchand
2022-08-26 12:42 ` [PATCH v4 21/27] bus: hide bus object David Marchand
2022-08-26 12:42 ` [PATCH v4 22/27] dev: introduce driver accessors David Marchand
2022-08-26 12:42 ` [PATCH v4 23/27] dev: hide driver object David Marchand
2022-08-26 12:42 ` [PATCH v4 24/27] dev: introduce device accessors David Marchand
2022-08-26 12:42 ` [PATCH v4 25/27] dev: provide bus specific information David Marchand
2022-08-26 12:42 ` [PATCH v4 26/27] bus/pci: fill " David Marchand
2022-08-26 12:42 ` [PATCH v4 27/27] dev: hide device object David Marchand
2022-09-05 8:35 ` [PATCH v5 00/27] Bus and device cleanup for 22.11 David Marchand
2022-09-05 8:35 ` [PATCH v5 01/27] devtools: forbid inclusions of driver only headers David Marchand
2022-09-05 8:35 ` [PATCH v5 02/27] common/mlx5: rework check on driver registration David Marchand
2022-09-05 8:35 ` [PATCH v5 03/27] raw/ifpga: remove PCI bus accessor David Marchand
2022-09-05 8:35 ` [PATCH v5 04/27] app/testpmd: drop PCI register commands David Marchand
2022-09-05 8:35 ` [PATCH v5 05/27] kni: stop populating PCI info in examples David Marchand
2022-09-05 8:35 ` [PATCH v5 06/27] examples/ethtool: prefer device name David Marchand
2022-09-05 8:35 ` [PATCH v5 07/27] dev: hide debug messages in device iterator David Marchand
2022-09-05 8:35 ` [PATCH v5 08/27] eal: deprecate RTE_FUNC_PTR_* macros David Marchand
2022-09-06 8:24 ` Jayatheerthan, Jay
2022-09-05 8:39 ` [PATCH v5 00/27] Bus and device cleanup for 22.11 David Marchand
2022-09-05 8:39 ` David Marchand
2022-09-05 8:39 ` [PATCH v5 01/27] devtools: forbid inclusions of driver only headers David Marchand
2022-09-05 8:39 ` [PATCH v5 02/27] common/mlx5: rework check on driver registration David Marchand
2022-09-05 8:39 ` [PATCH v5 03/27] raw/ifpga: remove PCI bus accessor David Marchand
2022-09-05 8:39 ` [PATCH v5 04/27] app/testpmd: drop PCI register commands David Marchand
2022-09-05 8:39 ` [PATCH v5 05/27] kni: stop populating PCI info in examples David Marchand
2022-09-05 8:39 ` [PATCH v5 06/27] examples/ethtool: prefer device name David Marchand
2022-09-05 8:39 ` [PATCH v5 07/27] dev: hide debug messages in device iterator David Marchand
2022-09-05 8:39 ` [PATCH v5 08/27] eal: deprecate RTE_FUNC_PTR_* macros David Marchand
2022-09-06 6:11 ` [EXT] " Akhil Goyal
2022-09-05 8:39 ` [PATCH v5 09/27] devargs: remove dependency on bus header David Marchand
2022-09-05 8:39 ` [PATCH v5 10/27] build: export drivers headers David Marchand
2022-09-05 8:39 ` [PATCH v5 11/27] bus/auxiliary: make driver-only headers private David Marchand
2022-09-05 8:39 ` [PATCH v5 12/27] bus/dpaa: " David Marchand
2022-09-05 8:39 ` [PATCH v5 13/27] bus/fslmc: " David Marchand
2022-09-05 8:39 ` [PATCH v5 14/27] bus/ifpga: cleanup exported symbols David Marchand
2022-09-05 8:39 ` [PATCH v5 15/27] bus/ifpga: make driver-only headers private David Marchand
2022-09-05 8:39 ` [PATCH v5 16/27] bus/pci: " David Marchand
2022-09-05 8:39 ` [PATCH v5 17/27] bus/vdev: " David Marchand
2022-09-05 8:39 ` [PATCH v5 18/27] bus/vmbus: " David Marchand
2022-09-05 8:39 ` [PATCH v5 19/27] bus: move IOVA definition from header David Marchand
2022-09-05 8:39 ` [PATCH v5 20/27] bus: introduce accessors David Marchand
2022-09-05 8:39 ` [PATCH v5 21/27] bus: hide bus object David Marchand
2022-09-05 8:39 ` [PATCH v5 22/27] dev: introduce driver accessors David Marchand
2022-09-05 8:39 ` [PATCH v5 23/27] dev: hide driver object David Marchand
2022-09-06 6:05 ` [EXT] " Akhil Goyal
2022-09-06 6:46 ` Gujjar, Abhinandan S
2022-09-05 8:39 ` [PATCH v5 24/27] dev: introduce device accessors David Marchand
2022-09-05 8:39 ` [PATCH v5 25/27] dev: provide bus specific information David Marchand
2022-09-05 8:39 ` [PATCH v5 26/27] bus/pci: fill " David Marchand
2022-09-05 8:39 ` [PATCH v5 27/27] dev: hide device object David Marchand
2022-09-14 7:58 ` [PATCH v6 00/27] Bus and device cleanup for 22.11 David Marchand
2022-09-14 7:58 ` [PATCH v6 01/27] devtools: forbid inclusions of driver only headers David Marchand
2022-09-14 7:58 ` [PATCH v6 02/27] common/mlx5: rework check on driver registration David Marchand
2022-09-14 7:58 ` [PATCH v6 03/27] raw/ifpga: remove PCI bus accessor David Marchand
2022-09-14 7:58 ` [PATCH v6 04/27] app/testpmd: drop PCI register commands David Marchand
2022-09-14 7:58 ` [PATCH v6 05/27] kni: stop populating PCI info in examples David Marchand
2022-09-14 7:58 ` [PATCH v6 06/27] examples/ethtool: prefer device name David Marchand
2022-09-14 7:58 ` [PATCH v6 07/27] dev: hide debug messages in device iterator David Marchand
2022-09-14 7:58 ` [PATCH v6 08/27] eal: deprecate RTE_FUNC_PTR_* macros David Marchand
2022-10-26 9:04 ` Morten Brørup
2022-10-26 9:21 ` David Marchand
2022-10-26 10:30 ` Morten Brørup
2022-09-14 7:58 ` [PATCH v6 09/27] devargs: remove dependency on bus header David Marchand
2022-09-14 7:58 ` [PATCH v6 10/27] build: export drivers headers David Marchand
2022-09-14 7:58 ` [PATCH v6 11/27] bus/auxiliary: make driver-only headers private David Marchand
2022-09-14 7:58 ` [PATCH v6 12/27] bus/dpaa: " David Marchand
2022-09-14 7:58 ` [PATCH v6 13/27] bus/fslmc: " David Marchand
2022-09-14 7:58 ` [PATCH v6 14/27] bus/ifpga: cleanup exported symbols David Marchand
2022-09-14 7:58 ` [PATCH v6 15/27] bus/ifpga: make driver-only headers private David Marchand
2022-09-14 7:58 ` [PATCH v6 16/27] bus/pci: " David Marchand
2022-09-14 7:58 ` [PATCH v6 17/27] bus/vdev: " David Marchand
2022-09-14 7:58 ` [PATCH v6 18/27] bus/vmbus: " David Marchand
2022-09-14 7:58 ` [PATCH v6 19/27] bus: move IOVA definition from header David Marchand
2022-09-14 7:58 ` [PATCH v6 20/27] bus: introduce accessors David Marchand
2022-09-14 7:58 ` [PATCH v6 21/27] bus: hide bus object David Marchand
2022-09-14 7:58 ` [PATCH v6 22/27] dev: introduce driver accessors David Marchand
2022-09-14 7:58 ` [PATCH v6 23/27] dev: hide driver object David Marchand
2022-09-14 7:58 ` David Marchand [this message]
2022-09-14 7:58 ` [PATCH v6 25/27] dev: provide bus specific information David Marchand
2022-09-14 7:58 ` [PATCH v6 26/27] bus/pci: fill " David Marchand
2022-09-14 7:58 ` [PATCH v6 27/27] dev: hide device object David Marchand
2022-09-24 7:14 ` [PATCH v6 00/27] Bus and device cleanup for 22.11 David Marchand
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=20220914075841.51555-25-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=aman.deep.singh@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=bruce.richardson@intel.com \
--cc=chenbo.xia@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@xilinx.com \
--cc=maryam.tahhan@intel.com \
--cc=maxime.coquelin@redhat.com \
--cc=mdr@ashroe.eu \
--cc=reshma.pattan@intel.com \
--cc=thomas@monjalon.net \
--cc=yuying.zhang@intel.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).