[v2,05/10] fslmc: identify internal only functions and tag them as __rte_internal

Message ID 20190613142344.9188-6-nhorman@tuxdriver.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series dpdk: introduce __rte_internal tag |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail Compilation issues

Commit Message

Neil Horman June 13, 2019, 2:23 p.m. UTC
  Identify functions in fslmc bus driver which are internal (based on
their not having an rte_ prefix) and tag them with __rte_internal

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
CC: Bruce Richardson <bruce.richardson@intel.com>
CC: Thomas Monjalon <thomas@monjalon.net>
CC: Hemant Agrawal <hemant.agrawal@nxp.com>
CC: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 drivers/bus/fslmc/fslmc_bus.c                 |   2 +-
 drivers/bus/fslmc/mc/dpbp.c                   |  12 +-
 drivers/bus/fslmc/mc/dpci.c                   |   6 +-
 drivers/bus/fslmc/mc/dpcon.c                  |   4 +-
 drivers/bus/fslmc/mc/dpdmai.c                 |  16 +-
 drivers/bus/fslmc/mc/dpio.c                   |  18 +-
 drivers/bus/fslmc/mc/dpmng.c                  |   4 +-
 drivers/bus/fslmc/mc/fsl_dpbp.h               |  12 +-
 drivers/bus/fslmc/mc/fsl_dpci.h               |   6 +-
 drivers/bus/fslmc/mc/fsl_dpcon.h              |   4 +-
 drivers/bus/fslmc/mc/fsl_dpdmai.h             |  16 +-
 drivers/bus/fslmc/mc/fsl_dpio.h               |  18 +-
 drivers/bus/fslmc/mc/fsl_dpmng.h              |   4 +-
 drivers/bus/fslmc/mc/fsl_mc_cmd.h             |   4 +-
 drivers/bus/fslmc/mc/mc_sys.c                 |   2 +-
 drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c      |   6 +-
 drivers/bus/fslmc/portal/dpaa2_hw_dpio.c      |  12 +-
 drivers/bus/fslmc/portal/dpaa2_hw_dpio.h      |  10 +-
 drivers/bus/fslmc/portal/dpaa2_hw_pvt.h       |   6 +-
 .../bus/fslmc/qbman/include/fsl_qbman_debug.h |   4 +-
 .../fslmc/qbman/include/fsl_qbman_portal.h    |  80 +++----
 drivers/bus/fslmc/qbman/qbman_debug.c         |   4 +-
 drivers/bus/fslmc/qbman/qbman_portal.c        |  82 +++----
 drivers/bus/fslmc/rte_bus_fslmc_version.map   | 201 +++++++++---------
 24 files changed, 269 insertions(+), 264 deletions(-)
  

Comments

Hemant Agrawal June 17, 2019, 7:30 a.m. UTC | #1
HI Neil,
	The same code of low-level HW driver is shared with different OSs (kernel, uboot etc) and different framework. If we introduce rte_internal in these low-level hw files, it will be a big maintenance issue for NXP. Everytime there is a change or upgrade, it will be a pain. 

Regards,
Hemant

> -----Original Message-----
> From: Neil Horman <nhorman@tuxdriver.com>
> Sent: Thursday, June 13, 2019 7:54 PM
> To: dev@dpdk.org
> Cc: Neil Horman <nhorman@tuxdriver.com>; Jerin Jacob Kollanukkaran
> <jerinj@marvell.com>; Bruce Richardson <bruce.richardson@intel.com>;
> Thomas Monjalon <thomas@monjalon.net>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Shreyansh Jain <shreyansh.jain@nxp.com>
> Subject: [PATCH v2 05/10] fslmc: identify internal only functions and tag them
> as __rte_internal
> Importance: High
> 
> Identify functions in fslmc bus driver which are internal (based on
> their not having an rte_ prefix) and tag them with __rte_internal
>
  
Neil Horman June 19, 2019, 10:45 a.m. UTC | #2
On Mon, Jun 17, 2019 at 07:30:34AM +0000, Hemant Agrawal wrote:
> HI Neil,
> 	The same code of low-level HW driver is shared with different OSs (kernel, uboot etc) and different framework. If we introduce rte_internal in these low-level hw files, it will be a big maintenance issue for NXP. Everytime there is a change or upgrade, it will be a pain. 
> 
Why?  If you don't want to support the use of a project specific tag in other
projects, you can add a global cflag to those like this:
-D__rte_experimental

and the code will be eliminated

I'm not sure what you see as difficult here

Neil

> Regards,
> Hemant
> 
> > -----Original Message-----
> > From: Neil Horman <nhorman@tuxdriver.com>
> > Sent: Thursday, June 13, 2019 7:54 PM
> > To: dev@dpdk.org
> > Cc: Neil Horman <nhorman@tuxdriver.com>; Jerin Jacob Kollanukkaran
> > <jerinj@marvell.com>; Bruce Richardson <bruce.richardson@intel.com>;
> > Thomas Monjalon <thomas@monjalon.net>; Hemant Agrawal
> > <hemant.agrawal@nxp.com>; Shreyansh Jain <shreyansh.jain@nxp.com>
> > Subject: [PATCH v2 05/10] fslmc: identify internal only functions and tag them
> > as __rte_internal
> > Importance: High
> > 
> > Identify functions in fslmc bus driver which are internal (based on
> > their not having an rte_ prefix) and tag them with __rte_internal
> > 
>
  
Hemant Agrawal April 2, 2020, 9:49 a.m. UTC | #3
HI Neil,
> On Mon, Jun 17, 2019 at 07:30:34AM +0000, Hemant Agrawal wrote:
> > HI Neil,
> > 	The same code of low-level HW driver is shared with different OSs
> (kernel, uboot etc) and different framework. If we introduce rte_internal in
> these low-level hw files, it will be a big maintenance issue for NXP. Everytime
> there is a change or upgrade, it will be a pain.
> >
> Why?  If you don't want to support the use of a project specific tag in other
> projects, you can add a global cflag to those like this:
> -D__rte_experimental
> 
> and the code will be eliminated
> 
> I'm not sure what you see as difficult here
[Hemant] 
Do, we have an alternate for this approach?

Also, w.r.t to changes, at present you are adding the "__rte_internal" after the function return type. Is it possible to add it before the function return type and limiting the changes to header file only i.e. something similar to the current approach of "__rte_experimental"
=> current approach
>   * Return:	'0' on Success; Error code otherwise.
>   */
> -int dpbp_open(struct fsl_mc_io *mc_io,
> +int __rte_internal dpbp_open(struct fsl_mc_io *mc_io,
>  	      uint32_t cmd_flags,
>  	      int dpbp_id,
>  	      uint16_t *token)

=> approach used in rte_experimental
>__rte_experimental
>uint16_t
>rte_bbdev_count(void);

This will help in minimizing the changes.

Regards,
Hemant

> 
> Neil
> 
> > Regards,
> > Hemant
> >
> > > -----Original Message-----
> > > From: Neil Horman <nhorman@tuxdriver.com>
> > > Sent: Thursday, June 13, 2019 7:54 PM
> > > To: dev@dpdk.org
> > > Cc: Neil Horman <nhorman@tuxdriver.com>; Jerin Jacob Kollanukkaran
> > > <jerinj@marvell.com>; Bruce Richardson <bruce.richardson@intel.com>;
> > > Thomas Monjalon <thomas@monjalon.net>; Hemant Agrawal
> > > <hemant.agrawal@nxp.com>; Shreyansh Jain <shreyansh.jain@nxp.com>
> > > Subject: [PATCH v2 05/10] fslmc: identify internal only functions
> > > and tag them as __rte_internal
> > > Importance: High
> > >
> > > Identify functions in fslmc bus driver which are internal (based on
> > > their not having an rte_ prefix) and tag them with __rte_internal
> > >
> >
  
Neil Horman April 2, 2020, 11:30 a.m. UTC | #4
On Thu, Apr 02, 2020 at 09:49:20AM +0000, Hemant Agrawal wrote:
> HI Neil,
> > On Mon, Jun 17, 2019 at 07:30:34AM +0000, Hemant Agrawal wrote:
> > > HI Neil,
> > > 	The same code of low-level HW driver is shared with different OSs
> > (kernel, uboot etc) and different framework. If we introduce rte_internal in
> > these low-level hw files, it will be a big maintenance issue for NXP. Everytime
> > there is a change or upgrade, it will be a pain.
> > >
> > Why?  If you don't want to support the use of a project specific tag in other
> > projects, you can add a global cflag to those like this:
> > -D__rte_experimental
> > 
> > and the code will be eliminated
> > 
> > I'm not sure what you see as difficult here
> [Hemant] 
> Do, we have an alternate for this approach?
> 
No, what issue do you see with the approach suggested above?


> Also, w.r.t to changes, at present you are adding the "__rte_internal" after the function return type. Is it possible to add it before the function return type and limiting the changes to header file only i.e. something similar to the current approach of "__rte_experimental"
The __rte_internal macro expands to a function attribute, and the gcc manual
mandates that it be inserted between the return type and function name.  As for
its application in both the prototypes and declarations, I'd need to go back and
look again, I can't recall if that can be done.

> => current approach
> >   * Return:	'0' on Success; Error code otherwise.
> >   */
> > -int dpbp_open(struct fsl_mc_io *mc_io,
> > +int __rte_internal dpbp_open(struct fsl_mc_io *mc_io,
> >  	      uint32_t cmd_flags,
> >  	      int dpbp_id,
> >  	      uint16_t *token)
> 
> => approach used in rte_experimental
> >__rte_experimental
> >uint16_t
> >rte_bbdev_count(void);
> 
> This will help in minimizing the changes.
> 
> Regards,
> Hemant
> 
> > 
> > Neil
> > 
> > > Regards,
> > > Hemant
> > >
> > > > -----Original Message-----
> > > > From: Neil Horman <nhorman@tuxdriver.com>
> > > > Sent: Thursday, June 13, 2019 7:54 PM
> > > > To: dev@dpdk.org
> > > > Cc: Neil Horman <nhorman@tuxdriver.com>; Jerin Jacob Kollanukkaran
> > > > <jerinj@marvell.com>; Bruce Richardson <bruce.richardson@intel.com>;
> > > > Thomas Monjalon <thomas@monjalon.net>; Hemant Agrawal
> > > > <hemant.agrawal@nxp.com>; Shreyansh Jain <shreyansh.jain@nxp.com>
> > > > Subject: [PATCH v2 05/10] fslmc: identify internal only functions
> > > > and tag them as __rte_internal
> > > > Importance: High
> > > >
> > > > Identify functions in fslmc bus driver which are internal (based on
> > > > their not having an rte_ prefix) and tag them with __rte_internal
> > > >
> > >
>
  
Hemant Agrawal April 2, 2020, 3:44 p.m. UTC | #5
HI Neil,
On 02-Apr-20 5:00 PM, Neil Horman wrote:
> On Thu, Apr 02, 2020 at 09:49:20AM +0000, Hemant Agrawal wrote:
>> HI Neil,
>>> On Mon, Jun 17, 2019 at 07:30:34AM +0000, Hemant Agrawal wrote:
>>>> HI Neil,
>>>> 	The same code of low-level HW driver is shared with different OSs
>>> (kernel, uboot etc) and different framework. If we introduce rte_internal in
>>> these low-level hw files, it will be a big maintenance issue for NXP. Everytime
>>> there is a change or upgrade, it will be a pain.
>>>>
>>> Why?  If you don't want to support the use of a project specific tag in other
>>> projects, you can add a global cflag to those like this:
>>> -D__rte_experimental
>>>
>>> and the code will be eliminated
>>>
>>> I'm not sure what you see as difficult here
>> [Hemant] 
>> Do, we have an alternate for this approach?
>>
> No, what issue do you see with the approach suggested above?

We are just trying to reduce the maintenance cost it brings. Specially dealing with extra changes to the common libraries provided by other teams.
>
>
>> Also, w.r.t to changes, at present you are adding the "__rte_internal" after the function return type. Is it possible to add it before the function return type and limiting the changes to header file only i.e. something similar to the current approach of "__rte_experimental"
> The __rte_internal macro expands to a function attribute, and the gcc manual
> mandates that it be inserted between the return type and function name.  As for
> its application in both the prototypes and declarations, I'd need to go back and
> look again, I can't recall if that can be done.

Thanks in advance. Please check if you can make it similar to __rte_experimental support.


>
>> => current approach
>>>   * Return:	'0' on Success; Error code otherwise.
>>>   */
>>> -int dpbp_open(struct fsl_mc_io *mc_io,
>>> +int __rte_internal dpbp_open(struct fsl_mc_io *mc_io,
>>>  	      uint32_t cmd_flags,
>>>  	      int dpbp_id,
>>>  	      uint16_t *token)
>>
>> => approach used in rte_experimental
>>> __rte_experimental
>>> uint16_t
>>> rte_bbdev_count(void);
>>
>> This will help in minimizing the changes.
>>
>> Regards,
>> Hemant
>>
>>>
>>> Neil
>>>
>>>> Regards,
>>>> Hemant
>>>>
>>>>> -----Original Message-----
>>>>> From: Neil Horman <nhorman@tuxdriver.com>
>>>>> Sent: Thursday, June 13, 2019 7:54 PM
>>>>> To: dev@dpdk.org
>>>>> Cc: Neil Horman <nhorman@tuxdriver.com>; Jerin Jacob Kollanukkaran
>>>>> <jerinj@marvell.com>; Bruce Richardson <bruce.richardson@intel.com>;
>>>>> Thomas Monjalon <thomas@monjalon.net>; Hemant Agrawal
>>>>> <hemant.agrawal@nxp.com>; Shreyansh Jain <shreyansh.jain@nxp.com>
>>>>> Subject: [PATCH v2 05/10] fslmc: identify internal only functions
>>>>> and tag them as __rte_internal
>>>>> Importance: High
>>>>>
>>>>> Identify functions in fslmc bus driver which are internal (based on
>>>>> their not having an rte_ prefix) and tag them with __rte_internal
>>>>>
>>>>
>>
  

Patch

diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index f6e66d22c..777fb66ef 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -28,7 +28,7 @@  int dpaa2_logtype_bus;
 #define FSLMC_BUS_NAME	fslmc
 
 struct rte_fslmc_bus rte_fslmc_bus;
-uint8_t dpaa2_virt_mode;
+uint8_t __rte_internal dpaa2_virt_mode;
 
 uint32_t
 rte_fslmc_get_device_count(enum rte_dpaa2_dev_type device_type)
diff --git a/drivers/bus/fslmc/mc/dpbp.c b/drivers/bus/fslmc/mc/dpbp.c
index d9103409c..0a68e5d50 100644
--- a/drivers/bus/fslmc/mc/dpbp.c
+++ b/drivers/bus/fslmc/mc/dpbp.c
@@ -26,7 +26,7 @@ 
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpbp_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_open(struct fsl_mc_io *mc_io,
 	      uint32_t cmd_flags,
 	      int dpbp_id,
 	      uint16_t *token)
@@ -157,7 +157,7 @@  int dpbp_destroy(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpbp_enable(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_enable(struct fsl_mc_io *mc_io,
 		uint32_t cmd_flags,
 		uint16_t token)
 {
@@ -179,7 +179,7 @@  int dpbp_enable(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpbp_disable(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_disable(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token)
 {
@@ -235,7 +235,7 @@  int dpbp_is_enabled(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpbp_reset(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_reset(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       uint16_t token)
 {
@@ -258,7 +258,7 @@  int dpbp_reset(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpbp_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_get_attributes(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			struct dpbp_attr *attr)
@@ -329,7 +329,7 @@  int dpbp_get_api_version(struct fsl_mc_io *mc_io,
  * Return:  '0' on Success; Error code otherwise.
  */
 
-int dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
 			   uint32_t cmd_flags,
 			   uint16_t token,
 			   uint32_t *num_free_bufs)
diff --git a/drivers/bus/fslmc/mc/dpci.c b/drivers/bus/fslmc/mc/dpci.c
index 2874a6196..8e1f72b60 100644
--- a/drivers/bus/fslmc/mc/dpci.c
+++ b/drivers/bus/fslmc/mc/dpci.c
@@ -314,7 +314,7 @@  int dpci_get_attributes(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpci_set_rx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpci_set_rx_queue(struct fsl_mc_io *mc_io,
 		      uint32_t cmd_flags,
 		      uint16_t token,
 		      uint8_t priority,
@@ -476,7 +476,7 @@  int dpci_get_api_version(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpci_set_opr(struct fsl_mc_io *mc_io,
+int __rte_internal dpci_set_opr(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token,
 		 uint8_t index,
@@ -514,7 +514,7 @@  int dpci_set_opr(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpci_get_opr(struct fsl_mc_io *mc_io,
+int __rte_internal dpci_get_opr(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token,
 		 uint8_t index,
diff --git a/drivers/bus/fslmc/mc/dpcon.c b/drivers/bus/fslmc/mc/dpcon.c
index 3f6e04b97..dfa5f96a7 100644
--- a/drivers/bus/fslmc/mc/dpcon.c
+++ b/drivers/bus/fslmc/mc/dpcon.c
@@ -25,7 +25,7 @@ 
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpcon_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpcon_open(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       int dpcon_id,
 	       uint16_t *token)
@@ -267,7 +267,7 @@  int dpcon_reset(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpcon_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpcon_get_attributes(struct fsl_mc_io *mc_io,
 			 uint32_t cmd_flags,
 			 uint16_t token,
 			 struct dpcon_attr *attr)
diff --git a/drivers/bus/fslmc/mc/dpdmai.c b/drivers/bus/fslmc/mc/dpdmai.c
index dcb9d516a..466a87ddd 100644
--- a/drivers/bus/fslmc/mc/dpdmai.c
+++ b/drivers/bus/fslmc/mc/dpdmai.c
@@ -24,7 +24,7 @@ 
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_open(struct fsl_mc_io *mc_io,
 		uint32_t cmd_flags,
 		int dpdmai_id,
 		uint16_t *token)
@@ -62,7 +62,7 @@  int dpdmai_open(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_close(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_close(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token)
 {
@@ -170,7 +170,7 @@  int dpdmai_destroy(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_enable(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_enable(struct fsl_mc_io *mc_io,
 		  uint32_t cmd_flags,
 		  uint16_t token)
 {
@@ -193,7 +193,7 @@  int dpdmai_enable(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_disable(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_disable(struct fsl_mc_io *mc_io,
 		   uint32_t cmd_flags,
 		   uint16_t token)
 {
@@ -275,7 +275,7 @@  int dpdmai_reset(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_get_attributes(struct fsl_mc_io *mc_io,
 			  uint32_t cmd_flags,
 			  uint16_t token,
 			  struct dpdmai_attr *attr)
@@ -318,7 +318,7 @@  int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			uint8_t queue_idx,
@@ -360,7 +360,7 @@  int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			uint8_t queue_idx,
@@ -410,7 +410,7 @@  int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			uint8_t queue_idx,
diff --git a/drivers/bus/fslmc/mc/dpio.c b/drivers/bus/fslmc/mc/dpio.c
index a3382ed14..8008deb2c 100644
--- a/drivers/bus/fslmc/mc/dpio.c
+++ b/drivers/bus/fslmc/mc/dpio.c
@@ -26,7 +26,7 @@ 
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpio_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_open(struct fsl_mc_io *mc_io,
 	      uint32_t cmd_flags,
 	      int dpio_id,
 	      uint16_t *token)
@@ -61,7 +61,7 @@  int dpio_open(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpio_close(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_close(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       uint16_t token)
 {
@@ -173,7 +173,7 @@  int dpio_destroy(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise
  */
-int dpio_enable(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_enable(struct fsl_mc_io *mc_io,
 		uint32_t cmd_flags,
 		uint16_t token)
 {
@@ -196,7 +196,7 @@  int dpio_enable(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise
  */
-int dpio_disable(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_disable(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token)
 {
@@ -253,7 +253,7 @@  int dpio_is_enabled(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpio_reset(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_reset(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       uint16_t token)
 {
@@ -277,7 +277,7 @@  int dpio_reset(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise
  */
-int dpio_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_get_attributes(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			struct dpio_attr *attr)
@@ -322,7 +322,7 @@  int dpio_get_attributes(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
 				  uint32_t cmd_flags,
 				  uint16_t token,
 				  uint8_t sdest)
@@ -386,7 +386,7 @@  int dpio_get_stashing_destination(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
 				    uint32_t cmd_flags,
 				    uint16_t token,
 				    int dpcon_id,
@@ -425,7 +425,7 @@  int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
 				       uint32_t cmd_flags,
 				       uint16_t token,
 				       int dpcon_id)
diff --git a/drivers/bus/fslmc/mc/dpmng.c b/drivers/bus/fslmc/mc/dpmng.c
index 277080876..8ad1269ab 100644
--- a/drivers/bus/fslmc/mc/dpmng.c
+++ b/drivers/bus/fslmc/mc/dpmng.c
@@ -18,7 +18,7 @@ 
  *
  * Return:	'0' on Success; Error code otherwise.
  */
-int mc_get_version(struct fsl_mc_io *mc_io,
+int __rte_internal mc_get_version(struct fsl_mc_io *mc_io,
 		   uint32_t cmd_flags,
 		   struct mc_version *mc_ver_info)
 {
@@ -57,7 +57,7 @@  int mc_get_version(struct fsl_mc_io *mc_io,
  *
  * Return:     '0' on Success; Error code otherwise.
  */
-int mc_get_soc_version(struct fsl_mc_io *mc_io,
+int __rte_internal mc_get_soc_version(struct fsl_mc_io *mc_io,
 		       uint32_t cmd_flags,
 		       struct mc_soc_version *mc_platform_info)
 {
diff --git a/drivers/bus/fslmc/mc/fsl_dpbp.h b/drivers/bus/fslmc/mc/fsl_dpbp.h
index 9d405b42c..b4de4c5d1 100644
--- a/drivers/bus/fslmc/mc/fsl_dpbp.h
+++ b/drivers/bus/fslmc/mc/fsl_dpbp.h
@@ -14,7 +14,7 @@ 
 
 struct fsl_mc_io;
 
-int dpbp_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_open(struct fsl_mc_io *mc_io,
 	      uint32_t cmd_flags,
 	      int dpbp_id,
 	      uint16_t *token);
@@ -42,11 +42,11 @@  int dpbp_destroy(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint32_t obj_id);
 
-int dpbp_enable(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_enable(struct fsl_mc_io *mc_io,
 		uint32_t cmd_flags,
 		uint16_t token);
 
-int dpbp_disable(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_disable(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token);
 
@@ -55,7 +55,7 @@  int dpbp_is_enabled(struct fsl_mc_io *mc_io,
 		    uint16_t token,
 		    int *en);
 
-int dpbp_reset(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_reset(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       uint16_t token);
 
@@ -70,7 +70,7 @@  struct dpbp_attr {
 	uint16_t bpid;
 };
 
-int dpbp_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_get_attributes(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			struct dpbp_attr *attr);
@@ -88,7 +88,7 @@  int dpbp_get_api_version(struct fsl_mc_io *mc_io,
 			 uint16_t *major_ver,
 			 uint16_t *minor_ver);
 
-int dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
+int __rte_internal dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
 			   uint32_t cmd_flags,
 			   uint16_t token,
 			   uint32_t *num_free_bufs);
diff --git a/drivers/bus/fslmc/mc/fsl_dpci.h b/drivers/bus/fslmc/mc/fsl_dpci.h
index cf3d15267..c5d18237f 100644
--- a/drivers/bus/fslmc/mc/fsl_dpci.h
+++ b/drivers/bus/fslmc/mc/fsl_dpci.h
@@ -180,7 +180,7 @@  struct dpci_rx_queue_cfg {
 	int order_preservation_en;
 };
 
-int dpci_set_rx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpci_set_rx_queue(struct fsl_mc_io *mc_io,
 		      uint32_t cmd_flags,
 		      uint16_t token,
 		      uint8_t priority,
@@ -227,14 +227,14 @@  int dpci_get_api_version(struct fsl_mc_io *mc_io,
 			 uint16_t *major_ver,
 			 uint16_t *minor_ver);
 
-int dpci_set_opr(struct fsl_mc_io *mc_io,
+int __rte_internal dpci_set_opr(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token,
 		 uint8_t index,
 		 uint8_t options,
 		 struct opr_cfg *cfg);
 
-int dpci_get_opr(struct fsl_mc_io *mc_io,
+int __rte_internal dpci_get_opr(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token,
 		 uint8_t index,
diff --git a/drivers/bus/fslmc/mc/fsl_dpcon.h b/drivers/bus/fslmc/mc/fsl_dpcon.h
index 36dd5f3c1..b23c77528 100644
--- a/drivers/bus/fslmc/mc/fsl_dpcon.h
+++ b/drivers/bus/fslmc/mc/fsl_dpcon.h
@@ -19,7 +19,7 @@  struct fsl_mc_io;
  */
 #define DPCON_INVALID_DPIO_ID		(int)(-1)
 
-int dpcon_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpcon_open(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       int dpcon_id,
 	       uint16_t *token);
@@ -76,7 +76,7 @@  struct dpcon_attr {
 	uint8_t num_priorities;
 };
 
-int dpcon_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpcon_get_attributes(struct fsl_mc_io *mc_io,
 			 uint32_t cmd_flags,
 			 uint16_t token,
 			 struct dpcon_attr *attr);
diff --git a/drivers/bus/fslmc/mc/fsl_dpdmai.h b/drivers/bus/fslmc/mc/fsl_dpdmai.h
index 40469cc13..2f5354161 100644
--- a/drivers/bus/fslmc/mc/fsl_dpdmai.h
+++ b/drivers/bus/fslmc/mc/fsl_dpdmai.h
@@ -23,12 +23,12 @@  struct fsl_mc_io;
  */
 #define DPDMAI_ALL_QUEUES	(uint8_t)(-1)
 
-int dpdmai_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_open(struct fsl_mc_io *mc_io,
 		uint32_t cmd_flags,
 		int dpdmai_id,
 		uint16_t *token);
 
-int dpdmai_close(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_close(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token);
 
@@ -54,11 +54,11 @@  int dpdmai_destroy(struct fsl_mc_io *mc_io,
 		   uint32_t cmd_flags,
 		   uint32_t object_id);
 
-int dpdmai_enable(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_enable(struct fsl_mc_io *mc_io,
 		  uint32_t cmd_flags,
 		  uint16_t token);
 
-int dpdmai_disable(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_disable(struct fsl_mc_io *mc_io,
 		   uint32_t cmd_flags,
 		   uint16_t token);
 
@@ -82,7 +82,7 @@  struct dpdmai_attr {
 	uint8_t num_of_queues;
 };
 
-int dpdmai_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_get_attributes(struct fsl_mc_io *mc_io,
 			  uint32_t cmd_flags,
 			  uint16_t token,
 			  struct dpdmai_attr *attr);
@@ -148,7 +148,7 @@  struct dpdmai_rx_queue_cfg {
 
 };
 
-int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			uint8_t queue_idx,
@@ -168,7 +168,7 @@  struct dpdmai_rx_queue_attr {
 	uint32_t fqid;
 };
 
-int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			uint8_t queue_idx,
@@ -184,7 +184,7 @@  struct dpdmai_tx_queue_attr {
 	uint32_t fqid;
 };
 
-int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
+int __rte_internal dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			uint8_t queue_idx,
diff --git a/drivers/bus/fslmc/mc/fsl_dpio.h b/drivers/bus/fslmc/mc/fsl_dpio.h
index 3158f5319..6cf752914 100644
--- a/drivers/bus/fslmc/mc/fsl_dpio.h
+++ b/drivers/bus/fslmc/mc/fsl_dpio.h
@@ -13,12 +13,12 @@ 
 
 struct fsl_mc_io;
 
-int dpio_open(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_open(struct fsl_mc_io *mc_io,
 	      uint32_t cmd_flags,
 	      int dpio_id,
 	      uint16_t *token);
 
-int dpio_close(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_close(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       uint16_t token);
 
@@ -57,11 +57,11 @@  int dpio_destroy(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint32_t object_id);
 
-int dpio_enable(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_enable(struct fsl_mc_io *mc_io,
 		uint32_t cmd_flags,
 		uint16_t token);
 
-int dpio_disable(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_disable(struct fsl_mc_io *mc_io,
 		 uint32_t cmd_flags,
 		 uint16_t token);
 
@@ -70,11 +70,11 @@  int dpio_is_enabled(struct fsl_mc_io *mc_io,
 		    uint16_t token,
 		    int *en);
 
-int dpio_reset(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_reset(struct fsl_mc_io *mc_io,
 	       uint32_t cmd_flags,
 	       uint16_t token);
 
-int dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_set_stashing_destination(struct fsl_mc_io *mc_io,
 				  uint32_t cmd_flags,
 				  uint16_t token,
 				  uint8_t sdest);
@@ -84,13 +84,13 @@  int dpio_get_stashing_destination(struct fsl_mc_io *mc_io,
 				  uint16_t token,
 				  uint8_t *sdest);
 
-int dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_add_static_dequeue_channel(struct fsl_mc_io *mc_io,
 				    uint32_t cmd_flags,
 				    uint16_t token,
 				    int dpcon_id,
 				    uint8_t *channel_index);
 
-int dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_remove_static_dequeue_channel(struct fsl_mc_io *mc_io,
 				       uint32_t cmd_flags,
 				       uint16_t token,
 				       int dpcon_id);
@@ -119,7 +119,7 @@  struct dpio_attr {
 	uint32_t clk;
 };
 
-int dpio_get_attributes(struct fsl_mc_io *mc_io,
+int __rte_internal dpio_get_attributes(struct fsl_mc_io *mc_io,
 			uint32_t cmd_flags,
 			uint16_t token,
 			struct dpio_attr *attr);
diff --git a/drivers/bus/fslmc/mc/fsl_dpmng.h b/drivers/bus/fslmc/mc/fsl_dpmng.h
index bef2ef095..5cc7601f1 100644
--- a/drivers/bus/fslmc/mc/fsl_dpmng.h
+++ b/drivers/bus/fslmc/mc/fsl_dpmng.h
@@ -34,7 +34,7 @@  struct mc_version {
 	uint32_t revision;
 };
 
-int mc_get_version(struct fsl_mc_io *mc_io,
+int __rte_internal mc_get_version(struct fsl_mc_io *mc_io,
 		   uint32_t cmd_flags,
 		   struct mc_version *mc_ver_info);
 
@@ -48,7 +48,7 @@  struct mc_soc_version {
 	uint32_t pvr;
 };
 
-int mc_get_soc_version(struct fsl_mc_io *mc_io,
+int __rte_internal mc_get_soc_version(struct fsl_mc_io *mc_io,
 		       uint32_t cmd_flags,
 		       struct mc_soc_version *mc_platform_info);
 #endif /* __FSL_DPMNG_H */
diff --git a/drivers/bus/fslmc/mc/fsl_mc_cmd.h b/drivers/bus/fslmc/mc/fsl_mc_cmd.h
index ac919610c..2376c0d47 100644
--- a/drivers/bus/fslmc/mc/fsl_mc_cmd.h
+++ b/drivers/bus/fslmc/mc/fsl_mc_cmd.h
@@ -10,6 +10,8 @@ 
 #include <rte_byteorder.h>
 #include <stdint.h>
 
+#include "rte_compat.h"
+
 #define MC_CMD_NUM_OF_PARAMS	7
 
 #define phys_addr_t	uint64_t
@@ -80,7 +82,7 @@  enum mc_cmd_status {
 
 #define MC_CMD_HDR_FLAGS_MASK	0xFF00FF00
 
-int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd);
+int __rte_internal mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd);
 
 static inline uint64_t mc_encode_cmd_header(uint16_t cmd_id,
 					    uint32_t cmd_flags,
diff --git a/drivers/bus/fslmc/mc/mc_sys.c b/drivers/bus/fslmc/mc/mc_sys.c
index efafdc310..35274a7e8 100644
--- a/drivers/bus/fslmc/mc/mc_sys.c
+++ b/drivers/bus/fslmc/mc/mc_sys.c
@@ -51,7 +51,7 @@  static int mc_status_to_error(enum mc_cmd_status status)
 	return -EINVAL;
 }
 
-int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd)
+int __rte_internal mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd)
 {
 	enum mc_cmd_status status;
 	uint64_t response;
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
index db49d637f..9cb0923b6 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
@@ -89,7 +89,7 @@  dpaa2_create_dpbp_device(int vdev_fd __rte_unused,
 	return 0;
 }
 
-struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void)
+struct dpaa2_dpbp_dev *__rte_internal dpaa2_alloc_dpbp_dev(void)
 {
 	struct dpaa2_dpbp_dev *dpbp_dev = NULL;
 
@@ -102,7 +102,7 @@  struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void)
 	return dpbp_dev;
 }
 
-void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp)
+void __rte_internal dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp)
 {
 	struct dpaa2_dpbp_dev *dpbp_dev = NULL;
 
@@ -115,7 +115,7 @@  void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp)
 	}
 }
 
-int dpaa2_dpbp_supported(void)
+int __rte_internal dpaa2_dpbp_supported(void)
 {
 	if (TAILQ_EMPTY(&dpbp_dev_list))
 		return -1;
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
index 7bcbde840..5e403f2a0 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
@@ -229,7 +229,7 @@  dpaa2_configure_stashing(struct dpaa2_dpio_dev *dpio_dev, int lcoreid)
 	return 0;
 }
 
-static struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(int lcoreid)
+static struct dpaa2_dpio_dev *__rte_internal dpaa2_get_qbman_swp(int lcoreid)
 {
 	struct dpaa2_dpio_dev *dpio_dev = NULL;
 	int ret;
@@ -253,7 +253,7 @@  static struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(int lcoreid)
 }
 
 int
-dpaa2_affine_qbman_swp(void)
+__rte_internal dpaa2_affine_qbman_swp(void)
 {
 	unsigned int lcore_id = rte_lcore_id();
 	uint64_t tid = syscall(SYS_gettid);
@@ -301,7 +301,7 @@  dpaa2_affine_qbman_swp(void)
 }
 
 int
-dpaa2_affine_qbman_ethrx_swp(void)
+__rte_internal dpaa2_affine_qbman_ethrx_swp(void)
 {
 	unsigned int lcore_id = rte_lcore_id();
 	uint64_t tid = syscall(SYS_gettid);
@@ -570,7 +570,7 @@  dpaa2_create_dpio_device(int vdev_fd,
 }
 
 void
-dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)
+__rte_internal dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)
 {
 	int i = 0;
 
@@ -581,7 +581,7 @@  dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)
 }
 
 int
-dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)
+__rte_internal dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)
 {
 	int i = 0;
 
@@ -601,7 +601,7 @@  dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)
 }
 
 uint32_t
-dpaa2_free_eq_descriptors(void)
+__rte_internal dpaa2_free_eq_descriptors(void)
 {
 	struct dpaa2_dpio_dev *dpio_dev = DPAA2_PER_LCORE_DPIO;
 	struct qbman_result *eqresp;
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h
index 17e7e4fad..6f847ed57 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h
@@ -38,21 +38,21 @@  extern uint8_t dpaa2_eqcr_size;
 extern struct dpaa2_io_portal_t dpaa2_io_portal[RTE_MAX_LCORE];
 
 /* Affine a DPIO portal to current processing thread */
-int dpaa2_affine_qbman_swp(void);
+int __rte_internal dpaa2_affine_qbman_swp(void);
 
 /* Affine additional DPIO portal to current crypto processing thread */
-int dpaa2_affine_qbman_ethrx_swp(void);
+int __rte_internal dpaa2_affine_qbman_ethrx_swp(void);
 
 /* allocate memory for FQ - dq storage */
 int
-dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage);
+__rte_internal dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage);
 
 /* free memory for FQ- dq storage */
 void
-dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage);
+__rte_internal dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage);
 
 /* free the enqueue response descriptors */
 uint32_t
-dpaa2_free_eq_descriptors(void);
+__rte_internal dpaa2_free_eq_descriptors(void);
 
 #endif /* _DPAA2_HW_DPIO_H_ */
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
index 0cbde8a9b..2f1e5dde2 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
@@ -418,9 +418,9 @@  void set_swp_active_dqs(uint16_t dpio_index, struct qbman_result *dqs)
 {
 	rte_global_active_dqs_list[dpio_index].global_active_dqs = dqs;
 }
-struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void);
-void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp);
-int dpaa2_dpbp_supported(void);
+struct dpaa2_dpbp_dev *__rte_internal dpaa2_alloc_dpbp_dev(void);
+void __rte_internal dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp);
+int __rte_internal dpaa2_dpbp_supported(void);
 
 struct dpaa2_dpci_dev *rte_dpaa2_alloc_dpci_dev(void);
 void rte_dpaa2_free_dpci_dev(struct dpaa2_dpci_dev *dpci);
diff --git a/drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h b/drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h
index e010b1b6a..69948a13a 100644
--- a/drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h
+++ b/drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h
@@ -24,7 +24,7 @@  uint8_t verb;
 	uint8_t reserved2[29];
 };
 
-int qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
+int __rte_internal qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
 			 struct qbman_fq_query_np_rslt *r);
-uint32_t qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r);
+uint32_t __rte_internal qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r);
 uint32_t qbman_fq_state_byte_count(const struct qbman_fq_query_np_rslt *r);
diff --git a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
index 07b8a4372..d257801c3 100644
--- a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
+++ b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
@@ -108,7 +108,7 @@  uint32_t qbman_swp_interrupt_read_status(struct qbman_swp *p);
  * @p: the given software portal object.
  * @mask: The value to set in SWP_ISR register.
  */
-void qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask);
+void __rte_internal qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask);
 
 /**
  * qbman_swp_dqrr_thrshld_read_status() - Get the data in software portal
@@ -277,7 +277,7 @@  void qbman_swp_push_get(struct qbman_swp *s, uint8_t channel_idx, int *enabled);
  * rather by specifying the index (from 0 to 15) that has been mapped to the
  * desired channel.
  */
-void qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable);
+void __rte_internal qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable);
 
 /* ------------------- */
 /* Pull-mode dequeuing */
@@ -316,7 +316,7 @@  enum qbman_pull_type_e {
  * default/starting state.
  * @d: the pull dequeue descriptor to be cleared.
  */
-void qbman_pull_desc_clear(struct qbman_pull_desc *d);
+void __rte_internal qbman_pull_desc_clear(struct qbman_pull_desc *d);
 
 /**
  * qbman_pull_desc_set_storage()- Set the pull dequeue storage
@@ -331,7 +331,7 @@  void qbman_pull_desc_clear(struct qbman_pull_desc *d);
  * the caller provides in 'storage_phys'), and 'stash' controls whether or not
  * those writes to main-memory express a cache-warming attribute.
  */
-void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
+void __rte_internal qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
 				 struct qbman_result *storage,
 				 uint64_t storage_phys,
 				 int stash);
@@ -340,7 +340,7 @@  void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
  * @d: the pull dequeue descriptor to be set.
  * @numframes: number of frames to be set, must be between 1 and 16, inclusive.
  */
-void qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
+void __rte_internal qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
 				   uint8_t numframes);
 /**
  * qbman_pull_desc_set_token() - Set dequeue token for pull command
@@ -363,7 +363,7 @@  void qbman_pull_desc_set_token(struct qbman_pull_desc *d, uint8_t token);
  * qbman_pull_desc_set_fq() - Set fqid from which the dequeue command dequeues.
  * @fqid: the frame queue index of the given FQ.
  */
-void qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid);
+void __rte_internal qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid);
 
 /**
  * qbman_pull_desc_set_wq() - Set wqid from which the dequeue command dequeues.
@@ -398,7 +398,7 @@  void qbman_pull_desc_set_rad(struct qbman_pull_desc *d, int rad);
  * Return 0 for success, and -EBUSY if the software portal is not ready
  * to do pull dequeue.
  */
-int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d);
+int __rte_internal qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d);
 
 /* -------------------------------- */
 /* Polling DQRR for dequeue results */
@@ -412,13 +412,13 @@  int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d);
  * only once, so repeated calls can return a sequence of DQRR entries, without
  * requiring they be consumed immediately or in any particular order.
  */
-const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *p);
+const struct qbman_result *__rte_internal qbman_swp_dqrr_next(struct qbman_swp *p);
 
 /**
  * qbman_swp_prefetch_dqrr_next() - prefetch the next DQRR entry.
  * @s: the software portal object.
  */
-void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s);
+void __rte_internal qbman_swp_prefetch_dqrr_next(struct qbman_swp *s);
 
 /**
  * qbman_swp_dqrr_consume() -  Consume DQRR entries previously returned from
@@ -426,14 +426,14 @@  void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s);
  * @s: the software portal object.
  * @dq: the DQRR entry to be consumed.
  */
-void qbman_swp_dqrr_consume(struct qbman_swp *s, const struct qbman_result *dq);
+void __rte_internal qbman_swp_dqrr_consume(struct qbman_swp *s, const struct qbman_result *dq);
 
 /**
  * qbman_swp_dqrr_idx_consume() -  Given the DQRR index consume the DQRR entry
  * @s: the software portal object.
  * @dqrr_index: the DQRR index entry to be consumed.
  */
-void qbman_swp_dqrr_idx_consume(struct qbman_swp *s, uint8_t dqrr_index);
+void __rte_internal qbman_swp_dqrr_idx_consume(struct qbman_swp *s, uint8_t dqrr_index);
 
 /**
  * qbman_get_dqrr_idx() - Get dqrr index from the given dqrr
@@ -441,7 +441,7 @@  void qbman_swp_dqrr_idx_consume(struct qbman_swp *s, uint8_t dqrr_index);
  *
  * Return dqrr index.
  */
-uint8_t qbman_get_dqrr_idx(const struct qbman_result *dqrr);
+uint8_t __rte_internal qbman_get_dqrr_idx(const struct qbman_result *dqrr);
 
 /**
  * qbman_get_dqrr_from_idx() - Use index to get the dqrr entry from the
@@ -451,7 +451,7 @@  uint8_t qbman_get_dqrr_idx(const struct qbman_result *dqrr);
  *
  * Return dqrr entry object.
  */
-struct qbman_result *qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx);
+struct qbman_result *__rte_internal qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx);
 
 /* ------------------------------------------------- */
 /* Polling user-provided storage for dequeue results */
@@ -476,7 +476,7 @@  struct qbman_result *qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx);
  * Return 1 for getting a valid dequeue result, or 0 for not getting a valid
  * dequeue result.
  */
-int qbman_result_has_new_result(struct qbman_swp *s,
+int __rte_internal qbman_result_has_new_result(struct qbman_swp *s,
 				struct qbman_result *dq);
 
 /**
@@ -488,9 +488,9 @@  int qbman_result_has_new_result(struct qbman_swp *s,
  * Return 1 for getting a valid dequeue result, or 0 for not getting a valid
  * dequeue result.
  */
-int qbman_check_command_complete(struct qbman_result *dq);
+int __rte_internal __rte_internal qbman_check_command_complete(struct qbman_result *dq);
 
-int qbman_check_new_result(struct qbman_result *dq);
+int __rte_internal qbman_check_new_result(struct qbman_result *dq);
 
 /* -------------------------------------------------------- */
 /* Parsing dequeue entries (DQRR and user-provided storage) */
@@ -649,7 +649,7 @@  static inline int qbman_result_DQ_is_pull_complete(
  *
  * Return seqnum.
  */
-uint16_t qbman_result_DQ_seqnum(const struct qbman_result *dq);
+uint16_t __rte_internal qbman_result_DQ_seqnum(const struct qbman_result *dq);
 
 /**
  * qbman_result_DQ_odpid() - Get the seqnum field in dequeue response
@@ -658,7 +658,7 @@  uint16_t qbman_result_DQ_seqnum(const struct qbman_result *dq);
  *
  * Return odpid.
  */
-uint16_t qbman_result_DQ_odpid(const struct qbman_result *dq);
+uint16_t __rte_internal qbman_result_DQ_odpid(const struct qbman_result *dq);
 
 /**
  * qbman_result_DQ_fqid() - Get the fqid in dequeue response
@@ -690,7 +690,7 @@  uint32_t qbman_result_DQ_frame_count(const struct qbman_result *dq);
  *
  * Return the frame queue context.
  */
-uint64_t qbman_result_DQ_fqd_ctx(const struct qbman_result *dq);
+uint64_t __rte_internal qbman_result_DQ_fqd_ctx(const struct qbman_result *dq);
 
 /**
  * qbman_result_DQ_fd() - Get the frame descriptor in dequeue response
@@ -698,7 +698,7 @@  uint64_t qbman_result_DQ_fqd_ctx(const struct qbman_result *dq);
  *
  * Return the frame descriptor.
  */
-const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq);
+const struct qbman_fd *__rte_internal qbman_result_DQ_fd(const struct qbman_result *dq);
 
 /* State-change notifications (FQDAN/CDAN/CSCN/...). */
 
@@ -708,7 +708,7 @@  const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq);
  *
  * Return the state in the notifiation.
  */
-uint8_t qbman_result_SCN_state(const struct qbman_result *scn);
+uint8_t __rte_internal qbman_result_SCN_state(const struct qbman_result *scn);
 
 /**
  * qbman_result_SCN_rid() - Get the resource id from the notification
@@ -841,7 +841,7 @@  struct qbman_eq_response {
  * default/starting state.
  * @d: the given enqueue descriptor.
  */
-void qbman_eq_desc_clear(struct qbman_eq_desc *d);
+void __rte_internal qbman_eq_desc_clear(struct qbman_eq_desc *d);
 
 /* Exactly one of the following descriptor "actions" should be set. (Calling
  * any one of these will replace the effect of any prior call to one of these.)
@@ -861,7 +861,7 @@  void qbman_eq_desc_clear(struct qbman_eq_desc *d);
  * @response_success: 1 = enqueue with response always; 0 = enqueue with
  * rejections returned on a FQ.
  */
-void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success);
+void __rte_internal qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success);
 /**
  * qbman_eq_desc_set_orp() - Set order-resotration in the enqueue descriptor
  * @d: the enqueue descriptor.
@@ -872,7 +872,7 @@  void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success);
  * @incomplete: indiates whether this is the last fragments using the same
  * sequeue number.
  */
-void qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
+void __rte_internal qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
 			   uint16_t opr_id, uint16_t seqnum, int incomplete);
 
 /**
@@ -906,7 +906,7 @@  void qbman_eq_desc_set_orp_nesn(struct qbman_eq_desc *d, uint16_t opr_id,
  * data structure.) 'stash' controls whether or not the write to main-memory
  * expresses a cache-warming attribute.
  */
-void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
+void __rte_internal qbman_eq_desc_set_response(struct qbman_eq_desc *d,
 				uint64_t storage_phys,
 				int stash);
 
@@ -920,7 +920,7 @@  void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
  * result "storage" before issuing an enqueue, and use any non-zero 'token'
  * value.
  */
-void qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token);
+void __rte_internal qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token);
 
 /**
  * Exactly one of the following descriptor "targets" should be set. (Calling any
@@ -935,7 +935,7 @@  void qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token);
  * @d: the enqueue descriptor
  * @fqid: the id of the frame queue to be enqueued.
  */
-void qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid);
+void __rte_internal qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid);
 
 /**
  * qbman_eq_desc_set_qd() - Set Queuing Destination for the enqueue command.
@@ -944,7 +944,7 @@  void qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid);
  * @qd_bin: the queuing destination bin
  * @qd_prio: the queuing destination priority.
  */
-void qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
+void __rte_internal qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
 			  uint16_t qd_bin, uint8_t qd_prio);
 
 /**
@@ -969,7 +969,7 @@  void qbman_eq_desc_set_eqdi(struct qbman_eq_desc *d, int enable);
  * held-active (order-preserving) FQ, whether the FQ should be parked instead of
  * being rescheduled.)
  */
-void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
+void __rte_internal qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
 			   uint8_t dqrr_idx, int park);
 
 /**
@@ -978,7 +978,7 @@  void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
  *
  * Return the fd pointer.
  */
-struct qbman_fd *qbman_result_eqresp_fd(struct qbman_result *eqresp);
+struct qbman_fd *__rte_internal qbman_result_eqresp_fd(struct qbman_result *eqresp);
 
 /**
  * qbman_result_eqresp_set_rspid() - Set the response id in enqueue response.
@@ -988,7 +988,7 @@  struct qbman_fd *qbman_result_eqresp_fd(struct qbman_result *eqresp);
  * This value is set into the response id before the enqueue command, which,
  * get overwritten by qbman once the enqueue command is complete.
  */
-void qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val);
+void __rte_internal qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val);
 
 /**
  * qbman_result_eqresp_rspid() - Get the response id.
@@ -1000,7 +1000,7 @@  void qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val);
  * copied into the enqueue response to determine if the command has been
  * completed, and response has been updated.
  */
-uint8_t qbman_result_eqresp_rspid(struct qbman_result *eqresp);
+uint8_t __rte_internal qbman_result_eqresp_rspid(struct qbman_result *eqresp);
 
 /**
  * qbman_result_eqresp_rc() - determines if enqueue command is sucessful.
@@ -1008,7 +1008,7 @@  uint8_t qbman_result_eqresp_rspid(struct qbman_result *eqresp);
  *
  * Return 0 when command is sucessful.
  */
-uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp);
+uint8_t __rte_internal qbman_result_eqresp_rc(struct qbman_result *eqresp);
 
 /**
  * qbman_swp_enqueue() - Issue an enqueue command.
@@ -1034,7 +1034,7 @@  int qbman_swp_enqueue(struct qbman_swp *s, const struct qbman_eq_desc *d,
  *
  * Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
  */
-int qbman_swp_enqueue_multiple(struct qbman_swp *s,
+int __rte_internal qbman_swp_enqueue_multiple(struct qbman_swp *s,
 			       const struct qbman_eq_desc *d,
 			       const struct qbman_fd *fd,
 			       uint32_t *flags,
@@ -1051,7 +1051,7 @@  int qbman_swp_enqueue_multiple(struct qbman_swp *s,
  *
  * Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
  */
-int qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
+int __rte_internal qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
 				  const struct qbman_eq_desc *d,
 				  struct qbman_fd **fd,
 				  uint32_t *flags,
@@ -1067,7 +1067,7 @@  int qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
  *
  * Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
  */
-int qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
+int __rte_internal qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
 				    const struct qbman_eq_desc *d,
 				    const struct qbman_fd *fd,
 				    int num_frames);
@@ -1108,13 +1108,13 @@  struct qbman_release_desc {
  * default/starting state.
  * @d: the qbman release descriptor.
  */
-void qbman_release_desc_clear(struct qbman_release_desc *d);
+void __rte_internal qbman_release_desc_clear(struct qbman_release_desc *d);
 
 /**
  * qbman_release_desc_set_bpid() - Set the ID of the buffer pool to release to
  * @d: the qbman release descriptor.
  */
-void qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid);
+void __rte_internal qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid);
 
 /**
  * qbman_release_desc_set_rcdi() - Determines whether or not the portal's RCDI
@@ -1132,7 +1132,7 @@  void qbman_release_desc_set_rcdi(struct qbman_release_desc *d, int enable);
  *
  * Return 0 for success, -EBUSY if the release command ring is not ready.
  */
-int qbman_swp_release(struct qbman_swp *s, const struct qbman_release_desc *d,
+int __rte_internal qbman_swp_release(struct qbman_swp *s, const struct qbman_release_desc *d,
 		      const uint64_t *buffers, unsigned int num_buffers);
 
 /* TODO:
@@ -1157,7 +1157,7 @@  int qbman_swp_release_thresh(struct qbman_swp *s, unsigned int thresh);
  * Return 0 for success, or negative error code if the acquire command
  * fails.
  */
-int qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
+int __rte_internal qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
 		      unsigned int num_buffers);
 
 	/*****************/
diff --git a/drivers/bus/fslmc/qbman/qbman_debug.c b/drivers/bus/fslmc/qbman/qbman_debug.c
index 0bb2ce880..dba14a7c4 100644
--- a/drivers/bus/fslmc/qbman/qbman_debug.c
+++ b/drivers/bus/fslmc/qbman/qbman_debug.c
@@ -23,7 +23,7 @@  struct qbman_fq_query_desc {
 	uint8_t reserved2[57];
 };
 
-int qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
+int __rte_internal qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
 			 struct qbman_fq_query_np_rslt *r)
 {
 	struct qbman_fq_query_desc *p;
@@ -54,7 +54,7 @@  int qbman_fq_query_state(struct qbman_swp *s, uint32_t fqid,
 	return 0;
 }
 
-uint32_t qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r)
+uint32_t __rte_internal qbman_fq_state_frame_count(const struct qbman_fq_query_np_rslt *r)
 {
 	return (r->frm_cnt & 0x00FFFFFF);
 }
diff --git a/drivers/bus/fslmc/qbman/qbman_portal.c b/drivers/bus/fslmc/qbman/qbman_portal.c
index 20da8b921..be3ac01e0 100644
--- a/drivers/bus/fslmc/qbman/qbman_portal.c
+++ b/drivers/bus/fslmc/qbman/qbman_portal.c
@@ -328,7 +328,7 @@  uint32_t qbman_swp_interrupt_read_status(struct qbman_swp *p)
 	return qbman_cinh_read(&p->sys, QBMAN_CINH_SWP_ISR);
 }
 
-void qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask)
+void __rte_internal qbman_swp_interrupt_clear_status(struct qbman_swp *p, uint32_t mask)
 {
 	qbman_cinh_write(&p->sys, QBMAN_CINH_SWP_ISR, mask);
 }
@@ -487,12 +487,12 @@  enum qb_enqueue_commands {
 #define QB_ENQUEUE_CMD_NLIS_SHIFT            14
 #define QB_ENQUEUE_CMD_IS_NESN_SHIFT         15
 
-void qbman_eq_desc_clear(struct qbman_eq_desc *d)
+void __rte_internal qbman_eq_desc_clear(struct qbman_eq_desc *d)
 {
 	memset(d, 0, sizeof(*d));
 }
 
-void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success)
+void __rte_internal qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success)
 {
 	d->eq.verb &= ~(1 << QB_ENQUEUE_CMD_ORP_ENABLE_SHIFT);
 	if (respond_success)
@@ -501,7 +501,7 @@  void qbman_eq_desc_set_no_orp(struct qbman_eq_desc *d, int respond_success)
 		d->eq.verb |= enqueue_rejects_to_fq;
 }
 
-void qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
+void __rte_internal qbman_eq_desc_set_orp(struct qbman_eq_desc *d, int respond_success,
 			   uint16_t opr_id, uint16_t seqnum, int incomplete)
 {
 	d->eq.verb |= 1 << QB_ENQUEUE_CMD_ORP_ENABLE_SHIFT;
@@ -540,7 +540,7 @@  void qbman_eq_desc_set_orp_nesn(struct qbman_eq_desc *d, uint16_t opr_id,
 	d->eq.seqnum |= 1 << QB_ENQUEUE_CMD_IS_NESN_SHIFT;
 }
 
-void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
+void __rte_internal qbman_eq_desc_set_response(struct qbman_eq_desc *d,
 				dma_addr_t storage_phys,
 				int stash)
 {
@@ -548,18 +548,18 @@  void qbman_eq_desc_set_response(struct qbman_eq_desc *d,
 	d->eq.wae = stash;
 }
 
-void qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token)
+void __rte_internal qbman_eq_desc_set_token(struct qbman_eq_desc *d, uint8_t token)
 {
 	d->eq.rspid = token;
 }
 
-void qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid)
+void __rte_internal qbman_eq_desc_set_fq(struct qbman_eq_desc *d, uint32_t fqid)
 {
 	d->eq.verb &= ~(1 << QB_ENQUEUE_CMD_TARGET_TYPE_SHIFT);
 	d->eq.tgtid = fqid;
 }
 
-void qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
+void __rte_internal qbman_eq_desc_set_qd(struct qbman_eq_desc *d, uint32_t qdid,
 			  uint16_t qd_bin, uint8_t qd_prio)
 {
 	d->eq.verb |= 1 << QB_ENQUEUE_CMD_TARGET_TYPE_SHIFT;
@@ -576,7 +576,7 @@  void qbman_eq_desc_set_eqdi(struct qbman_eq_desc *d, int enable)
 		d->eq.verb &= ~(1 << QB_ENQUEUE_CMD_IRQ_ON_DISPATCH_SHIFT);
 }
 
-void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
+void __rte_internal qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
 			   uint8_t dqrr_idx, int park)
 {
 	if (enable) {
@@ -876,7 +876,7 @@  static int qbman_swp_enqueue_multiple_mem_back(struct qbman_swp *s,
 	return num_enqueued;
 }
 
-inline int qbman_swp_enqueue_multiple(struct qbman_swp *s,
+inline int __rte_internal qbman_swp_enqueue_multiple(struct qbman_swp *s,
 				      const struct qbman_eq_desc *d,
 				      const struct qbman_fd *fd,
 				      uint32_t *flags,
@@ -1014,7 +1014,7 @@  static int qbman_swp_enqueue_multiple_fd_mem_back(struct qbman_swp *s,
 	return num_enqueued;
 }
 
-inline int qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
+inline int __rte_internal qbman_swp_enqueue_multiple_fd(struct qbman_swp *s,
 					 const struct qbman_eq_desc *d,
 					 struct qbman_fd **fd,
 					 uint32_t *flags,
@@ -1143,7 +1143,7 @@  static int qbman_swp_enqueue_multiple_desc_mem_back(struct qbman_swp *s,
 
 	return num_enqueued;
 }
-inline int qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
+inline int __rte_internal qbman_swp_enqueue_multiple_desc(struct qbman_swp *s,
 					   const struct qbman_eq_desc *d,
 					   const struct qbman_fd *fd,
 					   int num_frames)
@@ -1163,7 +1163,7 @@  void qbman_swp_push_get(struct qbman_swp *s, uint8_t channel_idx, int *enabled)
 	*enabled = src | (1 << channel_idx);
 }
 
-void qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable)
+void __rte_internal qbman_swp_push_set(struct qbman_swp *s, uint8_t channel_idx, int enable)
 {
 	uint16_t dqsrc;
 
@@ -1200,12 +1200,12 @@  enum qb_pull_dt_e {
 	qb_pull_dt_framequeue
 };
 
-void qbman_pull_desc_clear(struct qbman_pull_desc *d)
+void __rte_internal qbman_pull_desc_clear(struct qbman_pull_desc *d)
 {
 	memset(d, 0, sizeof(*d));
 }
 
-void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
+void __rte_internal qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
 				 struct qbman_result *storage,
 				 dma_addr_t storage_phys,
 				 int stash)
@@ -1225,7 +1225,7 @@  void qbman_pull_desc_set_storage(struct qbman_pull_desc *d,
 	d->pull.rsp_addr = storage_phys;
 }
 
-void qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
+void __rte_internal qbman_pull_desc_set_numframes(struct qbman_pull_desc *d,
 				   uint8_t numframes)
 {
 	d->pull.numf = numframes - 1;
@@ -1236,7 +1236,7 @@  void qbman_pull_desc_set_token(struct qbman_pull_desc *d, uint8_t token)
 	d->pull.tok = token;
 }
 
-void qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid)
+void __rte_internal qbman_pull_desc_set_fq(struct qbman_pull_desc *d, uint32_t fqid)
 {
 	d->pull.verb |= 1 << QB_VDQCR_VERB_DCT_SHIFT;
 	d->pull.verb |= qb_pull_dt_framequeue << QB_VDQCR_VERB_DT_SHIFT;
@@ -1321,7 +1321,7 @@  static int qbman_swp_pull_mem_back(struct qbman_swp *s,
 	return 0;
 }
 
-inline int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
+inline int __rte_internal qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
 {
 	return qbman_swp_pull_ptr(s, d);
 }
@@ -1345,7 +1345,7 @@  inline int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
 
 #include <rte_prefetch.h>
 
-void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s)
+void __rte_internal qbman_swp_prefetch_dqrr_next(struct qbman_swp *s)
 {
 	const struct qbman_result *p;
 
@@ -1358,7 +1358,7 @@  void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s)
  * only once, so repeated calls can return a sequence of DQRR entries, without
  * requiring they be consumed immediately or in any particular order.
  */
-inline const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *s)
+inline const struct qbman_result *__rte_internal qbman_swp_dqrr_next(struct qbman_swp *s)
 {
 	return qbman_swp_dqrr_next_ptr(s);
 }
@@ -1483,7 +1483,7 @@  const struct qbman_result *qbman_swp_dqrr_next_mem_back(struct qbman_swp *s)
 }
 
 /* Consume DQRR entries previously returned from qbman_swp_dqrr_next(). */
-void qbman_swp_dqrr_consume(struct qbman_swp *s,
+void __rte_internal qbman_swp_dqrr_consume(struct qbman_swp *s,
 			    const struct qbman_result *dq)
 {
 	qbman_cinh_write(&s->sys,
@@ -1491,7 +1491,7 @@  void qbman_swp_dqrr_consume(struct qbman_swp *s,
 }
 
 /* Consume DQRR entries previously returned from qbman_swp_dqrr_next(). */
-void qbman_swp_dqrr_idx_consume(struct qbman_swp *s,
+void __rte_internal qbman_swp_dqrr_idx_consume(struct qbman_swp *s,
 			    uint8_t dqrr_index)
 {
 	qbman_cinh_write(&s->sys, QBMAN_CINH_SWP_DCAP, dqrr_index);
@@ -1501,7 +1501,7 @@  void qbman_swp_dqrr_idx_consume(struct qbman_swp *s,
 /* Polling user-provided storage */
 /*********************************/
 
-int qbman_result_has_new_result(struct qbman_swp *s,
+int __rte_internal qbman_result_has_new_result(struct qbman_swp *s,
 				struct qbman_result *dq)
 {
 	if (dq->dq.tok == 0)
@@ -1529,7 +1529,7 @@  int qbman_result_has_new_result(struct qbman_swp *s,
 	return 1;
 }
 
-int qbman_check_new_result(struct qbman_result *dq)
+int __rte_internal qbman_check_new_result(struct qbman_result *dq)
 {
 	if (dq->dq.tok == 0)
 		return 0;
@@ -1544,7 +1544,7 @@  int qbman_check_new_result(struct qbman_result *dq)
 	return 1;
 }
 
-int qbman_check_command_complete(struct qbman_result *dq)
+int __rte_internal __rte_internal qbman_check_command_complete(struct qbman_result *dq)
 {
 	struct qbman_swp *s;
 
@@ -1631,17 +1631,17 @@  int qbman_result_is_FQPN(const struct qbman_result *dq)
 
 /* These APIs assume qbman_result_is_DQ() is TRUE */
 
-uint8_t qbman_result_DQ_flags(const struct qbman_result *dq)
+uint8_t __rte_internal qbman_result_DQ_flags(const struct qbman_result *dq)
 {
 	return dq->dq.stat;
 }
 
-uint16_t qbman_result_DQ_seqnum(const struct qbman_result *dq)
+uint16_t __rte_internal qbman_result_DQ_seqnum(const struct qbman_result *dq)
 {
 	return dq->dq.seqnum;
 }
 
-uint16_t qbman_result_DQ_odpid(const struct qbman_result *dq)
+uint16_t __rte_internal qbman_result_DQ_odpid(const struct qbman_result *dq)
 {
 	return dq->dq.oprid;
 }
@@ -1661,12 +1661,12 @@  uint32_t qbman_result_DQ_frame_count(const struct qbman_result *dq)
 	return dq->dq.fq_frm_cnt;
 }
 
-uint64_t qbman_result_DQ_fqd_ctx(const struct qbman_result *dq)
+uint64_t __rte_internal qbman_result_DQ_fqd_ctx(const struct qbman_result *dq)
 {
 	return dq->dq.fqd_ctx;
 }
 
-const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq)
+const struct qbman_fd *__rte_internal qbman_result_DQ_fd(const struct qbman_result *dq)
 {
 	return (const struct qbman_fd *)&dq->dq.fd[0];
 }
@@ -1674,7 +1674,7 @@  const struct qbman_fd *qbman_result_DQ_fd(const struct qbman_result *dq)
 /**************************************/
 /* Parsing state-change notifications */
 /**************************************/
-uint8_t qbman_result_SCN_state(const struct qbman_result *scn)
+uint8_t __rte_internal qbman_result_SCN_state(const struct qbman_result *scn)
 {
 	return scn->scn.state;
 }
@@ -1733,22 +1733,22 @@  uint64_t qbman_result_cgcu_icnt(const struct qbman_result *scn)
 /********************/
 /* Parsing EQ RESP  */
 /********************/
-struct qbman_fd *qbman_result_eqresp_fd(struct qbman_result *eqresp)
+struct qbman_fd *__rte_internal qbman_result_eqresp_fd(struct qbman_result *eqresp)
 {
 	return (struct qbman_fd *)&eqresp->eq_resp.fd[0];
 }
 
-void qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val)
+void __rte_internal qbman_result_eqresp_set_rspid(struct qbman_result *eqresp, uint8_t val)
 {
 	eqresp->eq_resp.rspid = val;
 }
 
-uint8_t qbman_result_eqresp_rspid(struct qbman_result *eqresp)
+uint8_t __rte_internal qbman_result_eqresp_rspid(struct qbman_result *eqresp)
 {
 	return eqresp->eq_resp.rspid;
 }
 
-uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp)
+uint8_t __rte_internal qbman_result_eqresp_rc(struct qbman_result *eqresp)
 {
 	if (eqresp->eq_resp.rc == 0xE)
 		return 0;
@@ -1762,13 +1762,13 @@  uint8_t qbman_result_eqresp_rc(struct qbman_result *eqresp)
 #define QB_BR_RC_VALID_SHIFT  5
 #define QB_BR_RCDI_SHIFT      6
 
-void qbman_release_desc_clear(struct qbman_release_desc *d)
+void __rte_internal qbman_release_desc_clear(struct qbman_release_desc *d)
 {
 	memset(d, 0, sizeof(*d));
 	d->br.verb = 1 << QB_BR_RC_VALID_SHIFT;
 }
 
-void qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid)
+void __rte_internal qbman_release_desc_set_bpid(struct qbman_release_desc *d, uint16_t bpid)
 {
 	d->br.bpid = bpid;
 }
@@ -1851,7 +1851,7 @@  static int qbman_swp_release_mem_back(struct qbman_swp *s,
 	return 0;
 }
 
-inline int qbman_swp_release(struct qbman_swp *s,
+inline int __rte_internal qbman_swp_release(struct qbman_swp *s,
 			     const struct qbman_release_desc *d,
 			     const uint64_t *buffers,
 			     unsigned int num_buffers)
@@ -1879,7 +1879,7 @@  struct qbman_acquire_rslt {
 	uint64_t buf[7];
 };
 
-int qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
+int __rte_internal qbman_swp_acquire(struct qbman_swp *s, uint16_t bpid, uint64_t *buffers,
 		      unsigned int num_buffers)
 {
 	struct qbman_acquire_desc *p;
@@ -2097,12 +2097,12 @@  int qbman_swp_CDAN_set_context_enable(struct qbman_swp *s, uint16_t channelid,
 				  1, ctx);
 }
 
-uint8_t qbman_get_dqrr_idx(const struct qbman_result *dqrr)
+uint8_t __rte_internal qbman_get_dqrr_idx(const struct qbman_result *dqrr)
 {
 	return QBMAN_IDX_FROM_DQRR(dqrr);
 }
 
-struct qbman_result *qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx)
+struct qbman_result *__rte_internal qbman_get_dqrr_from_idx(struct qbman_swp *s, uint8_t idx)
 {
 	struct qbman_result *dq;
 
diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map
index e86007384..26400a008 100644
--- a/drivers/bus/fslmc/rte_bus_fslmc_version.map
+++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map
@@ -1,44 +1,108 @@ 
-DPDK_17.05 {
+INTERNAL {
 	global:
 
 	dpaa2_affine_qbman_swp;
-	dpaa2_alloc_dpbp_dev;
-	dpaa2_alloc_dq_storage;
-	dpaa2_free_dpbp_dev;
-	dpaa2_free_dq_storage;
-	dpbp_disable;
-	dpbp_enable;
-	dpbp_get_attributes;
-	dpbp_get_num_free_bufs;
-	dpbp_open;
-	dpbp_reset;
-	dpio_close;
-	dpio_disable;
-	dpio_enable;
-	dpio_get_attributes;
-	dpio_open;
-	dpio_reset;
-	dpio_set_stashing_destination;
-	mc_send_command;
-	per_lcore__dpaa2_io;
-	qbman_check_command_complete;
-	qbman_eq_desc_clear;
-	qbman_eq_desc_set_fq;
-	qbman_eq_desc_set_no_orp;
-	qbman_eq_desc_set_qd;
-	qbman_eq_desc_set_response;
-	qbman_pull_desc_clear;
-	qbman_pull_desc_set_fq;
-	qbman_pull_desc_set_numframes;
-	qbman_pull_desc_set_storage;
-	qbman_release_desc_clear;
-	qbman_release_desc_set_bpid;
-	qbman_result_DQ_fd;
-	qbman_result_DQ_flags;
-	qbman_result_has_new_result;
-	qbman_swp_acquire;
-	qbman_swp_pull;
-	qbman_swp_release;
+        dpaa2_alloc_dpbp_dev;
+        dpaa2_alloc_dq_storage;
+        dpaa2_free_dpbp_dev;
+        dpaa2_free_dq_storage;
+        dpbp_disable;
+        dpbp_enable;
+        dpbp_get_attributes;
+        dpbp_get_num_free_bufs;
+        dpbp_open;
+        dpbp_reset;
+        dpio_close;
+        dpio_disable;
+        dpio_enable;
+        dpio_get_attributes;
+        dpio_open;
+        dpio_reset;
+        dpio_set_stashing_destination;
+        mc_send_command;
+        per_lcore__dpaa2_io;
+        qbman_check_command_complete;
+        qbman_eq_desc_clear;
+        qbman_eq_desc_set_fq;
+        qbman_eq_desc_set_no_orp;
+        qbman_eq_desc_set_qd;
+        qbman_eq_desc_set_response;
+        qbman_pull_desc_clear;
+        qbman_pull_desc_set_fq;
+        qbman_pull_desc_set_numframes;
+        qbman_pull_desc_set_storage;
+        qbman_release_desc_clear;
+        qbman_release_desc_set_bpid;
+        qbman_result_DQ_fd;
+        qbman_result_DQ_flags;
+        qbman_result_has_new_result;
+        qbman_swp_acquire;
+        qbman_swp_pull;
+        qbman_swp_release;
+
+	dpaa2_io_portal;
+        dpaa2_get_qbman_swp;
+        dpci_set_rx_queue;
+        dpcon_open;
+        dpcon_get_attributes;
+        dpio_add_static_dequeue_channel;
+        dpio_remove_static_dequeue_channel;
+        mc_get_soc_version;
+        mc_get_version;
+        qbman_check_new_result;
+        qbman_eq_desc_set_dca;
+        qbman_get_dqrr_from_idx;
+        qbman_get_dqrr_idx;
+        qbman_result_DQ_fqd_ctx;
+        qbman_result_SCN_state;
+        qbman_swp_dqrr_consume;
+        qbman_swp_dqrr_next;
+        qbman_swp_enqueue_multiple;
+        qbman_swp_enqueue_multiple_desc;
+        qbman_swp_interrupt_clear_status;
+        qbman_swp_push_set;
+
+	dpaa2_dpbp_supported;
+
+	dpaa2_svr_family;
+        dpaa2_virt_mode;
+        per_lcore_dpaa2_held_bufs;
+        qbman_fq_query_state;
+        qbman_fq_state_frame_count;
+        qbman_swp_dqrr_idx_consume;
+        qbman_swp_prefetch_dqrr_next;
+
+	dpaa2_affine_qbman_ethrx_swp;
+        dpdmai_close;
+        dpdmai_disable;
+        dpdmai_enable;
+        dpdmai_get_attributes;
+        dpdmai_get_rx_queue;
+        dpdmai_get_tx_queue;
+        dpdmai_open;
+        dpdmai_set_rx_queue;
+
+	dpaa2_dqrr_size;
+        dpaa2_eqcr_size;
+        dpci_get_opr;
+        dpci_set_opr;
+
+	dpaa2_free_eq_descriptors;
+
+        qbman_eq_desc_set_orp;
+        qbman_eq_desc_set_token;
+        qbman_result_DQ_odpid;
+        qbman_result_DQ_seqnum;
+        qbman_result_eqresp_fd;
+        qbman_result_eqresp_rc;
+        qbman_result_eqresp_rspid;
+        qbman_result_eqresp_set_rspid;
+        qbman_swp_enqueue_multiple_fd;
+};
+
+DPDK_17.05 {
+	global:
+
 	rte_fslmc_driver_register;
 	rte_fslmc_driver_unregister;
 	rte_fslmc_vfio_dmamap;
@@ -50,27 +114,6 @@  DPDK_17.05 {
 DPDK_17.08 {
 	global:
 
-	dpaa2_io_portal;
-	dpaa2_get_qbman_swp;
-	dpci_set_rx_queue;
-	dpcon_open;
-	dpcon_get_attributes;
-	dpio_add_static_dequeue_channel;
-	dpio_remove_static_dequeue_channel;
-	mc_get_soc_version;
-	mc_get_version;
-	qbman_check_new_result;
-	qbman_eq_desc_set_dca;
-	qbman_get_dqrr_from_idx;
-	qbman_get_dqrr_idx;
-	qbman_result_DQ_fqd_ctx;
-	qbman_result_SCN_state;
-	qbman_swp_dqrr_consume;
-	qbman_swp_dqrr_next;
-	qbman_swp_enqueue_multiple;
-	qbman_swp_enqueue_multiple_desc;
-	qbman_swp_interrupt_clear_status;
-	qbman_swp_push_set;
 	rte_dpaa2_alloc_dpci_dev;
 	rte_fslmc_object_register;
 	rte_global_active_dqs_list;
@@ -80,7 +123,6 @@  DPDK_17.08 {
 DPDK_17.11 {
 	global:
 
-	dpaa2_dpbp_supported;
 	rte_dpaa2_dev_type;
 	rte_dpaa2_intr_disable;
 	rte_dpaa2_intr_enable;
@@ -90,13 +132,6 @@  DPDK_17.11 {
 DPDK_18.02 {
 	global:
 
-	dpaa2_svr_family;
-	dpaa2_virt_mode;
-	per_lcore_dpaa2_held_bufs;
-	qbman_fq_query_state;
-	qbman_fq_state_frame_count;
-	qbman_swp_dqrr_idx_consume;
-	qbman_swp_prefetch_dqrr_next;
 	rte_fslmc_get_device_count;
 
 } DPDK_17.11;
@@ -104,40 +139,8 @@  DPDK_18.02 {
 DPDK_18.05 {
 	global:
 
-	dpaa2_affine_qbman_ethrx_swp;
-	dpdmai_close;
-	dpdmai_disable;
-	dpdmai_enable;
-	dpdmai_get_attributes;
-	dpdmai_get_rx_queue;
-	dpdmai_get_tx_queue;
-	dpdmai_open;
-	dpdmai_set_rx_queue;
 	rte_dpaa2_free_dpci_dev;
 	rte_dpaa2_memsegs;
 
 } DPDK_18.02;
 
-DPDK_18.11 {
-	global:
-	dpaa2_dqrr_size;
-	dpaa2_eqcr_size;
-	dpci_get_opr;
-	dpci_set_opr;
-
-} DPDK_18.05;
-
-DPDK_19.05 {
-	global:
-	dpaa2_free_eq_descriptors;
-
-	qbman_eq_desc_set_orp;
-	qbman_eq_desc_set_token;
-	qbman_result_DQ_odpid;
-	qbman_result_DQ_seqnum;
-	qbman_result_eqresp_fd;
-	qbman_result_eqresp_rc;
-	qbman_result_eqresp_rspid;
-	qbman_result_eqresp_set_rspid;
-	qbman_swp_enqueue_multiple_fd;
-} DPDK_18.11;