[RFC v3 15/26] bus/ifpga: make driver-only headers private
David Marchand
david.marchand at redhat.com
Thu Jul 28 17:26:29 CEST 2022
The ifpga bus interface is for drivers only.
Mark as internal and move the header in the driver headers list.
While at it, cleanup the code:
- remove unneeded list head structure type,
- reorder the definitions and macro manipulating the bus singleton object,
- remove inclusion of rte_bus.h and fix the code that relied on implicit
inclusion,
Signed-off-by: David Marchand <david.marchand at redhat.com>
---
Changes since RFC v2:
- squashed cleanup for this bus code from other patches,
- updated release notes,
---
doc/guides/rel_notes/release_22_11.rst | 2 +-
.../{rte_bus_ifpga.h => bus_ifpga_driver.h} | 18 ++++++++----------
drivers/bus/ifpga/ifpga_bus.c | 6 +++---
drivers/bus/ifpga/ifpga_common.h | 2 +-
drivers/bus/ifpga/meson.build | 2 +-
drivers/bus/ifpga/version.map | 2 +-
drivers/net/ipn3ke/ipn3ke_ethdev.c | 2 +-
drivers/net/ipn3ke/ipn3ke_ethdev.h | 2 +-
drivers/net/ipn3ke/ipn3ke_flow.c | 2 +-
drivers/net/ipn3ke/ipn3ke_representor.c | 2 +-
drivers/net/ipn3ke/ipn3ke_tm.c | 2 +-
drivers/raw/ifpga/afu_pmd_core.h | 2 +-
drivers/raw/ifpga/afu_pmd_he_hssi.c | 2 +-
drivers/raw/ifpga/afu_pmd_he_lpbk.c | 2 +-
drivers/raw/ifpga/afu_pmd_he_mem.c | 2 +-
drivers/raw/ifpga/afu_pmd_n3000.c | 2 +-
drivers/raw/ifpga/ifpga_rawdev.c | 2 +-
17 files changed, 26 insertions(+), 28 deletions(-)
rename drivers/bus/ifpga/{rte_bus_ifpga.h => bus_ifpga_driver.h} (91%)
diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst
index 7247acebd2..8aae628d71 100644
--- a/doc/guides/rel_notes/release_22_11.rst
+++ b/doc/guides/rel_notes/release_22_11.rst
@@ -84,7 +84,7 @@ API Changes
Also, make sure to start the actual text at the margin.
=======================================================
-* drivers: Registering a driver on the ``auxiliary``,
+* drivers: Registering a driver on the ``auxiliary``, ``ifpga``
buses has been marked as an internal API.
External users may still register their driver using the associated driver
headers (see ``enable_driver_sdk`` meson option).
diff --git a/drivers/bus/ifpga/rte_bus_ifpga.h b/drivers/bus/ifpga/bus_ifpga_driver.h
similarity index 91%
rename from drivers/bus/ifpga/rte_bus_ifpga.h
rename to drivers/bus/ifpga/bus_ifpga_driver.h
index 007ad19875..7b75c2ddbc 100644
--- a/drivers/bus/ifpga/rte_bus_ifpga.h
+++ b/drivers/bus/ifpga/bus_ifpga_driver.h
@@ -2,8 +2,8 @@
* Copyright(c) 2010-2018 Intel Corporation
*/
-#ifndef _RTE_BUS_IFPGA_H_
-#define _RTE_BUS_IFPGA_H_
+#ifndef BUS_IFPGA_DRIVER_H
+#define BUS_IFPGA_DRIVER_H
/**
* @file
@@ -15,23 +15,17 @@
extern "C" {
#endif /* __cplusplus */
-#include <rte_bus.h>
+#include <rte_compat.h>
#include <rte_pci.h>
#include <rte_interrupts.h>
#include <rte_spinlock.h>
-/** Name of Intel FPGA Bus */
#define IFPGA_BUS_NAME ifpga
/* Forward declarations */
struct rte_afu_device;
struct rte_afu_driver;
-/** Double linked list of Intel FPGA AFU device. */
-RTE_TAILQ_HEAD(ifpga_afu_dev_list, rte_afu_device);
-/** Double linked list of Intel FPGA AFU device drivers. */
-RTE_TAILQ_HEAD(ifpga_afu_drv_list, rte_afu_driver);
-
#define IFPGA_BUS_BITSTREAM_PATH_MAX_LEN 256
struct rte_afu_uuid {
@@ -112,6 +106,7 @@ struct rte_afu_driver {
const struct rte_afu_uuid *id_table; /**< AFU uuid within FPGA. */
};
+__rte_internal
static inline const char *
rte_ifpga_device_name(const struct rte_afu_device *afu)
{
@@ -126,6 +121,7 @@ rte_ifpga_device_name(const struct rte_afu_device *afu)
* @param name
* A pointer to AFU name string.
*/
+__rte_internal
struct rte_afu_device *
rte_ifpga_find_afu_by_name(const char *name);
@@ -136,6 +132,7 @@ rte_ifpga_find_afu_by_name(const char *name);
* A pointer to a rte_afu_driver structure describing the driver
* to be registered.
*/
+__rte_internal
void rte_ifpga_driver_register(struct rte_afu_driver *driver);
/**
@@ -145,6 +142,7 @@ void rte_ifpga_driver_register(struct rte_afu_driver *driver);
* A pointer to a rte_afu_driver structure describing the driver
* to be unregistered.
*/
+__rte_internal
void rte_ifpga_driver_unregister(struct rte_afu_driver *driver);
#define RTE_PMD_REGISTER_AFU(nm, afudrv)\
@@ -164,4 +162,4 @@ static const char *afudrvinit_ ## nm ## _alias = RTE_STR(alias)
}
#endif /* __cplusplus */
-#endif /* _RTE_BUS_IFPGA_H_ */
+#endif /* BUS_IFPGA_DRIVER_H */
diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index b1e9eb7cc4..27e2de7072 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -28,7 +28,7 @@
#include "rte_rawdev.h"
#include "rte_rawdev_pmd.h"
-#include "rte_bus_ifpga.h"
+#include "bus_ifpga_driver.h"
#include "ifpga_logs.h"
#include "ifpga_common.h"
@@ -37,9 +37,9 @@
*/
static struct rte_bus rte_ifpga_bus;
-static struct ifpga_afu_dev_list ifpga_afu_dev_list =
+static TAILQ_HEAD(, rte_afu_device) ifpga_afu_dev_list =
TAILQ_HEAD_INITIALIZER(ifpga_afu_dev_list);
-static struct ifpga_afu_drv_list ifpga_afu_drv_list =
+static TAILQ_HEAD(, rte_afu_driver) ifpga_afu_drv_list =
TAILQ_HEAD_INITIALIZER(ifpga_afu_drv_list);
diff --git a/drivers/bus/ifpga/ifpga_common.h b/drivers/bus/ifpga/ifpga_common.h
index bb6524030f..a41a1628f5 100644
--- a/drivers/bus/ifpga/ifpga_common.h
+++ b/drivers/bus/ifpga/ifpga_common.h
@@ -9,7 +9,7 @@
#include <stdlib.h>
#include <string.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_common.h>
static inline int
diff --git a/drivers/bus/ifpga/meson.build b/drivers/bus/ifpga/meson.build
index 9d56a4bb2b..dedc94db2d 100644
--- a/drivers/bus/ifpga/meson.build
+++ b/drivers/bus/ifpga/meson.build
@@ -8,5 +8,5 @@ if is_windows
endif
deps += ['pci', 'kvargs', 'rawdev']
-headers = files('rte_bus_ifpga.h')
+driver_sdk_headers += files('bus_ifpga_driver.h')
sources = files('ifpga_bus.c')
diff --git a/drivers/bus/ifpga/version.map b/drivers/bus/ifpga/version.map
index da7f92c2a0..3d1943afe4 100644
--- a/drivers/bus/ifpga/version.map
+++ b/drivers/bus/ifpga/version.map
@@ -1,4 +1,4 @@
-DPDK_23 {
+INTERNAL {
global:
rte_ifpga_driver_register;
diff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.c b/drivers/net/ipn3ke/ipn3ke_ethdev.c
index 550a8b0466..2e39113941 100644
--- a/drivers/net/ipn3ke/ipn3ke_ethdev.c
+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.c
@@ -16,7 +16,7 @@
#include <rte_io.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <ifpga_common.h>
#include <ifpga_logs.h>
#include <ifpga_rawdev.h>
diff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.h b/drivers/net/ipn3ke/ipn3ke_ethdev.h
index 58fcc50c57..dbf57f9ba8 100644
--- a/drivers/net/ipn3ke/ipn3ke_ethdev.h
+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.h
@@ -24,7 +24,7 @@
#include <rte_spinlock.h>
#include <rte_cycles.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_tm_driver.h>
#define IPN3KE_TM_SCRATCH_RW 0
diff --git a/drivers/net/ipn3ke/ipn3ke_flow.c b/drivers/net/ipn3ke/ipn3ke_flow.c
index 66ae31a5a9..5b57ee9341 100644
--- a/drivers/net/ipn3ke/ipn3ke_flow.c
+++ b/drivers/net/ipn3ke/ipn3ke_flow.c
@@ -20,7 +20,7 @@
#include <rte_tailq.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <ifpga_common.h>
#include <ifpga_logs.h>
#include <ifpga_rawdev.h>
diff --git a/drivers/net/ipn3ke/ipn3ke_representor.c b/drivers/net/ipn3ke/ipn3ke_representor.c
index abbecfdf2e..2f088d767f 100644
--- a/drivers/net/ipn3ke/ipn3ke_representor.c
+++ b/drivers/net/ipn3ke/ipn3ke_representor.c
@@ -18,7 +18,7 @@
#include <rte_io.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <ifpga_logs.h>
#include "ipn3ke_rawdev_api.h"
diff --git a/drivers/net/ipn3ke/ipn3ke_tm.c b/drivers/net/ipn3ke/ipn3ke_tm.c
index 6a9b98fd7f..2f242b678a 100644
--- a/drivers/net/ipn3ke/ipn3ke_tm.c
+++ b/drivers/net/ipn3ke/ipn3ke_tm.c
@@ -19,7 +19,7 @@
#include <rte_io.h>
#include <rte_rawdev.h>
#include <rte_rawdev_pmd.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <ifpga_logs.h>
#include "ipn3ke_rawdev_api.h"
diff --git a/drivers/raw/ifpga/afu_pmd_core.h b/drivers/raw/ifpga/afu_pmd_core.h
index 91118a19ab..ab5a228147 100644
--- a/drivers/raw/ifpga/afu_pmd_core.h
+++ b/drivers/raw/ifpga/afu_pmd_core.h
@@ -15,7 +15,7 @@ extern "C" {
#include <rte_spinlock.h>
#include <rte_cycles.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_rawdev.h>
#include "ifpga_rawdev.h"
diff --git a/drivers/raw/ifpga/afu_pmd_he_hssi.c b/drivers/raw/ifpga/afu_pmd_he_hssi.c
index 102de50812..eca1edc270 100644
--- a/drivers/raw/ifpga/afu_pmd_he_hssi.c
+++ b/drivers/raw/ifpga/afu_pmd_he_hssi.c
@@ -19,7 +19,7 @@
#include <rte_io.h>
#include <rte_vfio.h>
#include <rte_bus_pci.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_rawdev.h>
#include "afu_pmd_core.h"
diff --git a/drivers/raw/ifpga/afu_pmd_he_lpbk.c b/drivers/raw/ifpga/afu_pmd_he_lpbk.c
index 8b2c85b5f8..da0aba6e00 100644
--- a/drivers/raw/ifpga/afu_pmd_he_lpbk.c
+++ b/drivers/raw/ifpga/afu_pmd_he_lpbk.c
@@ -19,7 +19,7 @@
#include <rte_io.h>
#include <rte_vfio.h>
#include <rte_bus_pci.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_rawdev.h>
#include "afu_pmd_core.h"
diff --git a/drivers/raw/ifpga/afu_pmd_he_mem.c b/drivers/raw/ifpga/afu_pmd_he_mem.c
index 0f57a03b0e..3c41aa9ee8 100644
--- a/drivers/raw/ifpga/afu_pmd_he_mem.c
+++ b/drivers/raw/ifpga/afu_pmd_he_mem.c
@@ -18,7 +18,7 @@
#include <rte_io.h>
#include <rte_vfio.h>
#include <rte_bus_pci.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_rawdev.h>
#include "afu_pmd_core.h"
diff --git a/drivers/raw/ifpga/afu_pmd_n3000.c b/drivers/raw/ifpga/afu_pmd_n3000.c
index 5120df5f77..b7438bd372 100644
--- a/drivers/raw/ifpga/afu_pmd_n3000.c
+++ b/drivers/raw/ifpga/afu_pmd_n3000.c
@@ -19,7 +19,7 @@
#include <rte_io.h>
#include <rte_vfio.h>
#include <rte_bus_pci.h>
-#include <rte_bus_ifpga.h>
+#include <bus_ifpga_driver.h>
#include <rte_rawdev.h>
#include "afu_pmd_core.h"
diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index 93a7e74959..bd9966a6c3 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -35,7 +35,7 @@
#include "base/ifpga_api.h"
#include "rte_rawdev.h"
#include "rte_rawdev_pmd.h"
-#include "rte_bus_ifpga.h"
+#include "bus_ifpga_driver.h"
#include "ifpga_common.h"
#include "ifpga_logs.h"
#include "ifpga_rawdev.h"
--
2.36.1
More information about the dev
mailing list