[PATCH 1/3] ethdev: fix missing cast for C++ compatibility
Ferruh Yigit
ferruh.yigit at intel.com
Wed Feb 16 11:32:43 CET 2022
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.richardson at 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;
More information about the dev
mailing list