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);