All of lore.kernel.org
 help / color / mirror / Atom feed
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 v5 24/27] dev: introduce device accessors
Date: Mon,  5 Sep 2022 10:39:30 +0200	[thread overview]
Message-ID: <20220905083933.2506819-25-david.marchand@redhat.com> (raw)
In-Reply-To: <20220905083933.2506819-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(&reg_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.2


  parent reply	other threads:[~2022-09-05  8:42 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   ` David Marchand [this message]
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   ` [PATCH v6 24/27] dev: introduce device accessors David Marchand
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=20220905083933.2506819-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.