On 2/15/2022 5:30 PM, Bruce Richardson wrote:
C++ does not allow implicit conversion to/from void*, so we need an
explicit cast to allow the driver sdk header to be included from C++
code.


I remember patches removing explicit "void *" cast, in the past,

to document, is the rule as following:
- public and sdk headers should support c++, hence these files
  must have explicit "void *" cast
- .c files should NOT have explicit "void *" cast

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
  lib/ethdev/ethdev_pci.h | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/ethdev/ethdev_pci.h b/lib/ethdev/ethdev_pci.h
index 71aa4b2e98..d2bc3fe5e0 100644
--- a/lib/ethdev/ethdev_pci.h
+++ b/lib/ethdev/ethdev_pci.h
@@ -46,8 +46,9 @@ rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev,
  }
static inline int
-eth_dev_pci_specific_init(struct rte_eth_dev *eth_dev, void *bus_device) {
-       struct rte_pci_device *pci_dev = bus_device;
+eth_dev_pci_specific_init(struct rte_eth_dev *eth_dev, void *bus_device)
+{
+       struct rte_pci_device *pci_dev = (struct rte_pci_device *)bus_device;
if (!pci_dev)
                return -ENODEV;

Reply via email to