On 9/6/2019 3:34 PM, Andrew Rybchenko wrote:
> From: Igor Romanov <igor.roma...@oktetlabs.ru>
> 
> Change return value of the callbacks from void to int. Make
> implementations across all drivers return negative errno
> values in case of error conditions.
> 
> Both callbacks are updated together because a large number of
> drivers assign the same function to both callbacks.
> 
> Signed-off-by: Igor Romanov <igor.roma...@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com>
> ---
>  app/test/virtual_pmd.c                    |  4 ++-
>  drivers/net/af_packet/rte_eth_af_packet.c |  4 ++-
>  drivers/net/af_xdp/rte_eth_af_xdp.c       |  4 ++-
>  drivers/net/ark/ark_ethdev.c              |  6 ++--
>  drivers/net/atlantic/atl_ethdev.c         |  6 ++--
>  drivers/net/avp/avp_ethdev.c              |  6 ++--
>  drivers/net/axgbe/axgbe_ethdev.c          |  6 ++--
>  drivers/net/bnxt/bnxt_stats.c             | 38 +++++++++++++++++------
>  drivers/net/bnxt/bnxt_stats.h             |  4 +--
>  drivers/net/bonding/rte_eth_bond_pmd.c    | 13 ++++++--
>  drivers/net/cxgbe/cxgbe_ethdev.c          |  4 ++-
>  drivers/net/dpaa/dpaa_ethdev.c            |  4 ++-
>  drivers/net/dpaa2/dpaa2_ethdev.c          | 10 +++---
>  drivers/net/e1000/em_ethdev.c             |  6 ++--
>  drivers/net/e1000/igb_ethdev.c            | 18 +++++++----
>  drivers/net/enetc/enetc_ethdev.c          |  4 ++-
>  drivers/net/enic/enic.h                   |  2 +-
>  drivers/net/enic/enic_ethdev.c            |  4 +--
>  drivers/net/enic/enic_main.c              | 11 +++++--
>  drivers/net/failsafe/failsafe_ops.c       | 16 ++++++++--
>  drivers/net/fm10k/fm10k_ethdev.c          | 10 ++++--
>  drivers/net/hinic/base/hinic_pmd_niccfg.c | 14 ++++++---
>  drivers/net/hinic/base/hinic_pmd_niccfg.h |  4 +--
>  drivers/net/hinic/hinic_pmd_ethdev.c      | 25 +++++++++++----
>  drivers/net/i40e/i40e_ethdev.c            |  6 ++--
>  drivers/net/i40e/i40e_ethdev_vf.c         |  6 ++--
>  drivers/net/i40e/i40e_vf_representor.c    |  4 +--
>  drivers/net/iavf/iavf_ethdev.c            | 11 ++++---
>  drivers/net/ice/ice_ethdev.c              |  6 ++--
>  drivers/net/ipn3ke/ipn3ke_representor.c   | 14 +++++----
>  drivers/net/ixgbe/ixgbe_ethdev.c          | 18 +++++++----
>  drivers/net/kni/rte_eth_kni.c             |  4 ++-
>  drivers/net/liquidio/lio_ethdev.c         | 23 ++++++++------
>  drivers/net/memif/rte_eth_memif.c         |  4 ++-
>  drivers/net/mlx4/mlx4.h                   |  2 +-
>  drivers/net/mlx4/mlx4_ethdev.c            |  7 ++++-
>  drivers/net/mlx5/mlx5.h                   |  4 +--
>  drivers/net/mlx5/mlx5_stats.c             | 19 +++++++++---
>  drivers/net/mvneta/mvneta_ethdev.c        | 11 +++++--
>  drivers/net/mvpp2/mrvl_ethdev.c           | 16 +++++++---
>  drivers/net/netvsc/hn_ethdev.c            | 15 ++++++---
>  drivers/net/netvsc/hn_var.h               |  4 +--
>  drivers/net/netvsc/hn_vf.c                | 13 +++++---
>  drivers/net/nfp/nfp_net.c                 |  6 ++--
>  drivers/net/null/rte_eth_null.c           |  6 ++--
>  drivers/net/octeontx/octeontx_ethdev.c    |  8 ++---
>  drivers/net/octeontx2/otx2_ethdev.h       |  4 +--
>  drivers/net/octeontx2/otx2_stats.c        | 33 +++++++++++++-------
>  drivers/net/pcap/rte_eth_pcap.c           |  4 ++-
>  drivers/net/qede/qede_ethdev.c            |  8 +++--
>  drivers/net/ring/rte_eth_ring.c           |  4 ++-
>  drivers/net/sfc/sfc_ethdev.c              |  7 +++--
>  drivers/net/szedata2/rte_eth_szedata2.c   |  4 ++-
>  drivers/net/tap/rte_eth_tap.c             |  4 ++-
>  drivers/net/thunderx/nicvf_ethdev.c       | 13 ++++++--
>  drivers/net/vhost/rte_eth_vhost.c         |  8 +++--
>  drivers/net/virtio/virtio_ethdev.c        |  6 ++--
>  drivers/net/vmxnet3/vmxnet3_ethdev.c      |  6 ++--
>  lib/librte_ethdev/rte_ethdev.c            | 12 ++++---
>  lib/librte_ethdev/rte_ethdev.h            |  2 ++
>  lib/librte_ethdev/rte_ethdev_core.h       |  4 +--
>  61 files changed, 380 insertions(+), 169 deletions(-)

'nfb' driver was missing, updating it while merging.

<...>

> @@ -72,7 +72,7 @@ typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
>                               struct rte_eth_stats *igb_stats);
>  /**< @internal Get global I/O statistics of an Ethernet device. */
>  
> -typedef void (*eth_stats_reset_t)(struct rte_eth_dev *dev);
> +typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
>  /**< @internal Reset global I/O statistics of an Ethernet device to 0. */
>  
>  typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
> @@ -85,7 +85,7 @@ typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev 
> *dev,
>                                     unsigned int n);
>  /**< @internal Get extended stats of an Ethernet device. */
>  
> -typedef void (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
> +typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
>  /**< @internal Reset extended stats of an Ethernet device. */
>  
>  typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
> 

Adding following comments to the dev_ops while merging, please shout if needs
update:

-typedef void (*eth_stats_reset_t)(struct rte_eth_dev *dev);
-/**< @internal Reset global I/O statistics of an Ethernet device to 0. */
+/**
+ * @internal
+ * Reset global I/O statistics of an Ethernet device to 0.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);

 typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
        struct rte_eth_xstat *stats, unsigned n);
@@ -129,8 +147,26 @@ typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev 
*dev,
                                      unsigned int n);
 /**< @internal Get extended stats of an Ethernet device. */

-typedef void (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
-/**< @internal Reset extended stats of an Ethernet device. */
+/**
+ * @internal
+ * Reset extended stats of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);

Reply via email to