> The common/iavf driver folder contains the base code for the iavf
> driver, which is also linked against by the ice driver and others.
> However, there is no need for this to be in common, and we can
> move it to the net/intel/iavf as a base code driver. This involves
> updating dependencies that were on common/iavf to net/iavf
> 
> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> ---
>  devtools/libabigail.abignore                       |  1 +
>  doc/guides/rel_notes/release_25_03.rst             |  5 ++++-
>  drivers/common/iavf/version.map                    | 13 -------------
>  drivers/common/meson.build                         |  1 -
>  .../{common/iavf => net/intel/iavf/base}/README    |  0
>  .../iavf => net/intel/iavf/base}/iavf_adminq.c     |  0
>  .../iavf => net/intel/iavf/base}/iavf_adminq.h     |  0
>  .../iavf => net/intel/iavf/base}/iavf_adminq_cmd.h |  0
>  .../iavf => net/intel/iavf/base}/iavf_alloc.h      |  0
>  .../iavf => net/intel/iavf/base}/iavf_common.c     |  0
>  .../iavf => net/intel/iavf/base}/iavf_devids.h     |  0
>  .../iavf => net/intel/iavf/base}/iavf_impl.c       |  0
>  .../iavf => net/intel/iavf/base}/iavf_osdep.h      |  0
>  .../iavf => net/intel/iavf/base}/iavf_prototype.h  |  0
>  .../iavf => net/intel/iavf/base}/iavf_register.h   |  0
>  .../iavf => net/intel/iavf/base}/iavf_status.h     |  0
>  .../iavf => net/intel/iavf/base}/iavf_type.h       |  0
>  .../iavf => net/intel/iavf/base}/meson.build       |  0
>  .../iavf => net/intel/iavf/base}/virtchnl.h        |  0
>  .../intel/iavf/base}/virtchnl_inline_ipsec.h       |  0
>  drivers/net/intel/iavf/meson.build                 | 13 +++++++++----
>  drivers/net/intel/iavf/version.map                 | 14 ++++++++++++++
>  drivers/net/intel/ice/meson.build                  |  7 +++----
>  drivers/net/intel/idpf/meson.build                 |  2 +-
>  24 files changed, 32 insertions(+), 24 deletions(-)
>  delete mode 100644 drivers/common/iavf/version.map
>  rename drivers/{common/iavf => net/intel/iavf/base}/README (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h
> (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c
> (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h
> (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%)
>  rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h
> (100%)
> 
> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
> index b7daca4841..ce501632b3 100644
> --- a/devtools/libabigail.abignore
> +++ b/devtools/libabigail.abignore
> @@ -23,6 +23,7 @@
>  ; This is not a libabigail rule (see check-abi.sh).
>  ; This is used for driver removal and other special cases like mlx glue libs.
>  ;
> +; SKIP_LIBRARY=librte_common_iavf
>  ; SKIP_LIBRARY=librte_common_idpf
>  ; SKIP_LIBRARY=librte_common_mlx5_glue
>  ; SKIP_LIBRARY=librte_net_mlx4_glue
> diff --git a/doc/guides/rel_notes/release_25_03.rst
> b/doc/guides/rel_notes/release_25_03.rst
> index 2338a97e76..d2e8b03107 100644
> --- a/doc/guides/rel_notes/release_25_03.rst
> +++ b/doc/guides/rel_notes/release_25_03.rst
> @@ -182,9 +182,12 @@ API Changes
>    ``-Denable_drivers=net/intel/e1000``.
> 
>  * The driver ``common/idpf`` has been merged into the ``net/intel/idpf``
> driver.
> -  This change should have no impact to end applications, but,
> +  Similarly, the ``common/iavf`` driver has been merged into the
> ``net/intel/iavf`` driver.
> +  These changes should have no impact to end applications, but,
>    when specifying the ``idpf`` or ``cpfl`` net drivers to meson via ``-
> Denable_drivers`` option,
>    there is no longer any need to also specify the ``common/idpf`` driver.
> +  In the same way, when specifying the ``iavf`` or ``ice`` net drivers,
> +  there is no need to also specify the ``common/iavf`` driver.
>    Note, however, ``net/intel/cpfl`` driver now depends upon the
> ``net/intel/idpf`` driver.
> 
> 
> diff --git a/drivers/common/iavf/version.map
> b/drivers/common/iavf/version.map
> deleted file mode 100644
> index 6c1427cca4..0000000000
> --- a/drivers/common/iavf/version.map
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -INTERNAL {
> -     global:
> -
> -     iavf_aq_send_msg_to_pf;
> -     iavf_clean_arq_element;
> -     iavf_init_adminq;
> -     iavf_set_mac_type;
> -     iavf_shutdown_adminq;
> -     iavf_vf_parse_hw_config;
> -     iavf_vf_reset;
> -
> -     local: *;
> -};
> diff --git a/drivers/common/meson.build b/drivers/common/meson.build
> index e1e3149d8f..dc096aab0a 100644
> --- a/drivers/common/meson.build
> +++ b/drivers/common/meson.build
> @@ -5,7 +5,6 @@ std_deps = ['eal']
>  drivers = [
>          'cpt',
>          'dpaax',
> -        'iavf',
>          'ionic',
>          'mvep',
>          'octeontx',
> diff --git a/drivers/common/iavf/README
> b/drivers/net/intel/iavf/base/README
> similarity index 100%
> rename from drivers/common/iavf/README
> rename to drivers/net/intel/iavf/base/README
> diff --git a/drivers/common/iavf/iavf_adminq.c
> b/drivers/net/intel/iavf/base/iavf_adminq.c
> similarity index 100%
> rename from drivers/common/iavf/iavf_adminq.c
> rename to drivers/net/intel/iavf/base/iavf_adminq.c
> diff --git a/drivers/common/iavf/iavf_adminq.h
> b/drivers/net/intel/iavf/base/iavf_adminq.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_adminq.h
> rename to drivers/net/intel/iavf/base/iavf_adminq.h
> diff --git a/drivers/common/iavf/iavf_adminq_cmd.h
> b/drivers/net/intel/iavf/base/iavf_adminq_cmd.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_adminq_cmd.h
> rename to drivers/net/intel/iavf/base/iavf_adminq_cmd.h
> diff --git a/drivers/common/iavf/iavf_alloc.h
> b/drivers/net/intel/iavf/base/iavf_alloc.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_alloc.h
> rename to drivers/net/intel/iavf/base/iavf_alloc.h
> diff --git a/drivers/common/iavf/iavf_common.c
> b/drivers/net/intel/iavf/base/iavf_common.c
> similarity index 100%
> rename from drivers/common/iavf/iavf_common.c
> rename to drivers/net/intel/iavf/base/iavf_common.c
> diff --git a/drivers/common/iavf/iavf_devids.h
> b/drivers/net/intel/iavf/base/iavf_devids.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_devids.h
> rename to drivers/net/intel/iavf/base/iavf_devids.h
> diff --git a/drivers/common/iavf/iavf_impl.c
> b/drivers/net/intel/iavf/base/iavf_impl.c
> similarity index 100%
> rename from drivers/common/iavf/iavf_impl.c
> rename to drivers/net/intel/iavf/base/iavf_impl.c
> diff --git a/drivers/common/iavf/iavf_osdep.h
> b/drivers/net/intel/iavf/base/iavf_osdep.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_osdep.h
> rename to drivers/net/intel/iavf/base/iavf_osdep.h
> diff --git a/drivers/common/iavf/iavf_prototype.h
> b/drivers/net/intel/iavf/base/iavf_prototype.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_prototype.h
> rename to drivers/net/intel/iavf/base/iavf_prototype.h
> diff --git a/drivers/common/iavf/iavf_register.h
> b/drivers/net/intel/iavf/base/iavf_register.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_register.h
> rename to drivers/net/intel/iavf/base/iavf_register.h
> diff --git a/drivers/common/iavf/iavf_status.h
> b/drivers/net/intel/iavf/base/iavf_status.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_status.h
> rename to drivers/net/intel/iavf/base/iavf_status.h
> diff --git a/drivers/common/iavf/iavf_type.h
> b/drivers/net/intel/iavf/base/iavf_type.h
> similarity index 100%
> rename from drivers/common/iavf/iavf_type.h
> rename to drivers/net/intel/iavf/base/iavf_type.h
> diff --git a/drivers/common/iavf/meson.build
> b/drivers/net/intel/iavf/base/meson.build
> similarity index 100%
> rename from drivers/common/iavf/meson.build
> rename to drivers/net/intel/iavf/base/meson.build
> diff --git a/drivers/common/iavf/virtchnl.h
> b/drivers/net/intel/iavf/base/virtchnl.h
> similarity index 100%
> rename from drivers/common/iavf/virtchnl.h
> rename to drivers/net/intel/iavf/base/virtchnl.h
> diff --git a/drivers/common/iavf/virtchnl_inline_ipsec.h
> b/drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h
> similarity index 100%
> rename from drivers/common/iavf/virtchnl_inline_ipsec.h
> rename to drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h
> diff --git a/drivers/net/intel/iavf/meson.build
> b/drivers/net/intel/iavf/meson.build
> index d9b605f55a..c823d618e3 100644
> --- a/drivers/net/intel/iavf/meson.build
> +++ b/drivers/net/intel/iavf/meson.build
> @@ -7,9 +7,13 @@ endif
> 
>  testpmd_sources = files('iavf_testpmd.c')
> 
> -deps += ['common_iavf', 'security', 'cryptodev']
> +deps += ['security', 'cryptodev']
> 
>  sources = files(
> +        'base/iavf_adminq.c',
> +        'base/iavf_common.c',
> +        'base/iavf_impl.c',
> +
>          'iavf_ethdev.c',
>          'iavf_rxtx.c',
>          'iavf_vchnl.c',
> @@ -20,8 +24,9 @@ sources = files(
>          'iavf_ipsec_crypto.c',
>          'iavf_fsub.c',
>  )
> +includes += include_directories('base')
> 
> -if arch_subdir == 'x86' and is_variable('static_rte_common_iavf')
> +if arch_subdir == 'x86'
>      sources += files('iavf_rxtx_vec_sse.c')
> 
>      if is_windows and cc.get_id() != 'clang'
> @@ -30,7 +35,7 @@ if arch_subdir == 'x86' and
> is_variable('static_rte_common_iavf')
> 
>      iavf_avx2_lib = static_library('iavf_avx2_lib',
>              'iavf_rxtx_vec_avx2.c',
> -            dependencies: [static_rte_ethdev, static_rte_common_iavf],
> +            dependencies: [static_rte_ethdev],
>              include_directories: includes,
>              c_args: [cflags, '-mavx2'])
>      objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c')
> @@ -43,7 +48,7 @@ if arch_subdir == 'x86' and
> is_variable('static_rte_common_iavf')
>          endif
>          iavf_avx512_lib = static_library('iavf_avx512_lib',
>                  'iavf_rxtx_vec_avx512.c',
> -                dependencies: [static_rte_ethdev, static_rte_common_iavf],
> +                dependencies: [static_rte_ethdev],
>                  include_directories: includes,
>                  c_args: avx512_args)
>          objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
> diff --git a/drivers/net/intel/iavf/version.map
> b/drivers/net/intel/iavf/version.map
> index 98de64cca2..d18dea64dd 100644
> --- a/drivers/net/intel/iavf/version.map
> +++ b/drivers/net/intel/iavf/version.map
> @@ -17,3 +17,17 @@ EXPERIMENTAL {
>       # added in 21.11
>       rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask;
>  };
> +
> +INTERNAL {
> +     global:
> +
> +     iavf_aq_send_msg_to_pf;
> +     iavf_clean_arq_element;
> +     iavf_init_adminq;
> +     iavf_set_mac_type;
> +     iavf_shutdown_adminq;
> +     iavf_vf_parse_hw_config;
> +     iavf_vf_reset;
> +
> +     local: *;
> +};
> diff --git a/drivers/net/intel/ice/meson.build
> b/drivers/net/intel/ice/meson.build
> index beaf21e176..5faf887386 100644
> --- a/drivers/net/intel/ice/meson.build
> +++ b/drivers/net/intel/ice/meson.build
> @@ -18,7 +18,7 @@ sources = files(
> 
>  testpmd_sources = files('ice_testpmd.c')
> 
> -deps += ['hash', 'net', 'common_iavf']
> +deps += ['hash', 'net', 'net_iavf']
>  includes += include_directories('base')
> 
>  if arch_subdir == 'x86'
> @@ -30,7 +30,7 @@ if arch_subdir == 'x86'
> 
>      ice_avx2_lib = static_library('ice_avx2_lib',
>              'ice_rxtx_vec_avx2.c',
> -            dependencies: [static_rte_ethdev, static_rte_kvargs, 
> static_rte_hash],
> +            dependencies: [static_rte_ethdev, static_rte_hash],
>              include_directories: includes,
>              c_args: [cflags, '-mavx2'])
>      objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c')
> @@ -43,8 +43,7 @@ if arch_subdir == 'x86'
>          endif
>          ice_avx512_lib = static_library('ice_avx512_lib',
>                  'ice_rxtx_vec_avx512.c',
> -                dependencies: [static_rte_ethdev,
> -                    static_rte_kvargs, static_rte_hash],
> +                dependencies: [static_rte_ethdev, static_rte_hash],
>                  include_directories: includes,
>                  c_args: avx512_args)
>          objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c')
> diff --git a/drivers/net/intel/idpf/meson.build
> b/drivers/net/intel/idpf/meson.build
> index 87bc39f76e..d69254484b 100644
> --- a/drivers/net/intel/idpf/meson.build
> +++ b/drivers/net/intel/idpf/meson.build
> @@ -7,7 +7,7 @@ if is_windows
>      subdir_done()
>  endif
> 
> -includes += include_directories('../../../common/iavf')
> +includes += include_directories('../iavf/base')
> 
>  sources = files(
>          'idpf_common_device.c',
> --
> 2.43.0

Patch looks good to me Bruce.

Acked-by: Ian Stokes <ian.sto...@intel.com>

Reply via email to