[dpdk-dev] [PATCH v8 01/13] common/dpaax: move internal symbols into INTERNAL section

Ray Kinsella mdr at ashroe.eu
Tue May 19 11:51:16 CEST 2020



On 15/05/2020 10:47, Hemant Agrawal wrote:
> This patch moves the internal symbols to INTERNAL sections
> so that any change in them is not reported as ABI breakage.
> 
> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> ---
>  devtools/libabigail.abignore                      |  3 +++
>  drivers/common/dpaax/dpaa_of.h                    | 15 +++++++++++++++
>  drivers/common/dpaax/dpaax_iova_table.h           |  4 ++++
>  drivers/common/dpaax/rte_common_dpaax_version.map |  6 ++++--
>  4 files changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
> index c9ee73cb3c..b1488d5549 100644
> --- a/devtools/libabigail.abignore
> +++ b/devtools/libabigail.abignore
> @@ -48,3 +48,6 @@
>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
>  [suppress_variable]
>          name = rte_crypto_aead_algorithm_strings
> +; Ignore moving DPAAx stable functions to INTERNAL tag
> +[suppress_file]
> +	file_name_regexp = ^librte_common_dpaax\.
> diff --git a/drivers/common/dpaax/dpaa_of.h b/drivers/common/dpaax/dpaa_of.h
> index 960b421766..38d91a1afe 100644
> --- a/drivers/common/dpaax/dpaa_of.h
> +++ b/drivers/common/dpaax/dpaa_of.h
> @@ -24,6 +24,7 @@
>  #include <limits.h>
>  #include <rte_common.h>
>  #include <dpaa_list.h>
> +#include <rte_compat.h>
>  
>  #ifndef OF_INIT_DEFAULT_PATH
>  #define OF_INIT_DEFAULT_PATH "/proc/device-tree"
> @@ -102,6 +103,7 @@ struct dt_file {
>  	uint64_t buf[OF_FILE_BUF_MAX >> 3];
>  };
>  
> +__rte_internal
>  const struct device_node *of_find_compatible_node(
>  					const struct device_node *from,
>  					const char *type __rte_unused,
> @@ -113,32 +115,44 @@ const struct device_node *of_find_compatible_node(
>  		dev_node != NULL; \
>  		dev_node = of_find_compatible_node(dev_node, type, compatible))
>  
> +__rte_internal
>  const void *of_get_property(const struct device_node *from, const char *name,
>  			    size_t *lenp) __attribute__((nonnull(2)));
> +__rte_internal
>  bool of_device_is_available(const struct device_node *dev_node);
>  
> +
> +__rte_internal
>  const struct device_node *of_find_node_by_phandle(uint64_t ph);
>  
> +__rte_internal
>  const struct device_node *of_get_parent(const struct device_node *dev_node);
>  
> +__rte_internal
>  const struct device_node *of_get_next_child(const struct device_node *dev_node,
>  					    const struct device_node *prev);
>  
> +__rte_internal
>  const void *of_get_mac_address(const struct device_node *np);
>  
>  #define for_each_child_node(parent, child) \
>  	for (child = of_get_next_child(parent, NULL); child != NULL; \
>  			child = of_get_next_child(parent, child))
>  
> +
> +__rte_internal
>  uint32_t of_n_addr_cells(const struct device_node *dev_node);
>  uint32_t of_n_size_cells(const struct device_node *dev_node);
>  
> +__rte_internal
>  const uint32_t *of_get_address(const struct device_node *dev_node, size_t idx,
>  			       uint64_t *size, uint32_t *flags);
>  
> +__rte_internal
>  uint64_t of_translate_address(const struct device_node *dev_node,
>  			      const uint32_t *addr) __attribute__((nonnull));
>  
> +__rte_internal
>  bool of_device_is_compatible(const struct device_node *dev_node,
>  			     const char *compatible);
>  
> @@ -146,6 +160,7 @@ bool of_device_is_compatible(const struct device_node *dev_node,
>   * subsystem that is device-tree-dependent. Eg. Qman/Bman, config layers, etc.
>   * The path should usually be "/proc/device-tree".
>   */
> +__rte_internal
>  int of_init_path(const char *dt_path);
>  
>  /* of_finish() allows a controlled tear-down of the device-tree layer, eg. if a
> diff --git a/drivers/common/dpaax/dpaax_iova_table.h b/drivers/common/dpaax/dpaax_iova_table.h
> index fc3b9e7a8f..230fba8ba0 100644
> --- a/drivers/common/dpaax/dpaax_iova_table.h
> +++ b/drivers/common/dpaax/dpaax_iova_table.h
> @@ -61,9 +61,13 @@ extern struct dpaax_iova_table *dpaax_iova_table_p;
>  #define DPAAX_MEM_SPLIT_MASK_OFF (DPAAX_MEM_SPLIT - 1) /**< Offset */
>  
>  /* APIs exposed */
> +__rte_internal
>  int dpaax_iova_table_populate(void);
> +__rte_internal
>  void dpaax_iova_table_depopulate(void);
> +__rte_internal
>  int dpaax_iova_table_update(phys_addr_t paddr, void *vaddr, size_t length);
> +__rte_internal
>  void dpaax_iova_table_dump(void);
>  
>  static inline void *dpaax_iova_table_get_va(phys_addr_t paddr) __rte_hot;
> diff --git a/drivers/common/dpaax/rte_common_dpaax_version.map b/drivers/common/dpaax/rte_common_dpaax_version.map
> index f72eba761d..14b507ad13 100644
> --- a/drivers/common/dpaax/rte_common_dpaax_version.map
> +++ b/drivers/common/dpaax/rte_common_dpaax_version.map
> @@ -1,4 +1,8 @@
>  DPDK_20.0 {
> +	local: *;
> +};
> +
> +INTERNAL {

you may need to rebase.
rte_common_dpaax_version.map already has an INTERNAL section. 

>  	global:
>  
>  	dpaax_iova_table_depopulate;
> @@ -18,6 +22,4 @@ DPDK_20.0 {
>  	of_init_path;
>  	of_n_addr_cells;
>  	of_translate_address;
> -
> -	local: *;
>  };
> 


More information about the dev mailing list