There are a lot functions of bit operations scattered in PMDs, consolidate them into a common API family and applied in different PMDs to reduce code duplication.
Joyce Kong (5): lib/eal: implement the family of rte bit operation APIs net/axgbe: use common rte bit operation APIs instead net/bnx2x: use common rte bit operation APIs instead net/hinic: use common rte bit operation APIs instead net/qede: use common rte bit operation APIs instead drivers/net/axgbe/axgbe_common.h | 29 +---- drivers/net/axgbe/axgbe_ethdev.c | 14 +- drivers/net/axgbe/axgbe_mdio.c | 14 +- drivers/net/bnx2x/bnx2x.c | 202 +++++++++++++---------------- drivers/net/bnx2x/bnx2x.h | 5 +- drivers/net/bnx2x/ecore_sp.h | 8 +- drivers/net/hinic/base/hinic_compat.h | 35 +---- drivers/net/hinic/hinic_pmd_ethdev.c | 16 +-- drivers/net/qede/base/bcm_osal.c | 20 --- drivers/net/qede/base/bcm_osal.h | 10 +- lib/librte_eal/common/Makefile | 1 + lib/librte_eal/common/include/rte_bitops.h | 56 ++++++++ lib/librte_eal/common/meson.build | 1 + 13 files changed, 180 insertions(+), 231 deletions(-) create mode 100644 lib/librte_eal/common/include/rte_bitops.h -- 2.7.4