On Friday, April 04/19/19, 2019 at 05:07:02 +0530, Stephen Hemminger wrote: > This driver defines lots of functions (like init_rss) which are intended > to only be used in this device. But when doing static linking these > global functions cause link failures when similar function name is > used in application. > > This patch prefixes all functions defined in cxgbe.h with cxgbe_ > to avoid these kind of conflicts. >
Agreed. Thanks for fixing it up. > Fixes: bfcb257d3014 ("net/cxgbe: enable RSS for VF") > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> > --- > drivers/net/cxgbe/cxgbe.h | 27 +++++++++++++------------ > drivers/net/cxgbe/cxgbe_ethdev.c | 15 +++++++------- > drivers/net/cxgbe/cxgbe_main.c | 34 ++++++++++++++++---------------- > drivers/net/cxgbe/cxgbevf_main.c | 10 +++++----- > 4 files changed, 44 insertions(+), 42 deletions(-) > > diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h > index 5a7490f914c8..951b3ed3e9b6 100644 > --- a/drivers/net/cxgbe/cxgbe.h > +++ b/drivers/net/cxgbe/cxgbe.h > @@ -52,7 +52,7 @@ > #define CXGBE_DEVARG_KEEP_OVLAN "keep_ovlan" > #define CXGBE_DEVARG_FORCE_LINK_UP "force_link_up" > > -bool force_linkup(struct adapter *adap); > +bool cxgbe_force_linkup(struct adapter *adap); > int cxgbe_probe(struct adapter *adapter); > int cxgbevf_probe(struct adapter *adapter); > void cxgbe_get_speed_caps(struct port_info *pi, u32 *speed_caps); > @@ -65,19 +65,20 @@ void cxgbevf_stats_get(struct port_info *pi, struct > port_stats *stats); > void cxgbe_stats_reset(struct port_info *pi); > int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us, > unsigned int cnt, struct t4_completion *c); > -int link_start(struct port_info *pi); > -void init_rspq(struct adapter *adap, struct sge_rspq *q, unsigned int us, > - unsigned int cnt, unsigned int size, unsigned int iqe_size); > -int setup_sge_fwevtq(struct adapter *adapter); > -int setup_sge_ctrl_txq(struct adapter *adapter); > -void cfg_queues(struct rte_eth_dev *eth_dev); > -int cfg_queue_count(struct rte_eth_dev *eth_dev); > -int init_rss(struct adapter *adap); > -int setup_rss(struct port_info *pi); > +int cxgbe_link_start(struct port_info *pi); > +void cxgbe_init_rspq(struct adapter *adap, struct sge_rspq *q, unsigned int > us, > + unsigned int cnt, unsigned int size, > + unsigned int iqe_size); I see following build error. cxgbe_main.c:468:13: error: no previous prototype for ‘init_rspq’ [-Werror=missing-prototypes] inline void init_rspq(struct adapter *adap, struct sge_rspq *q, ^ Since init_rspq() is not used outside cxgbe_main.c, let's make it static. Thanks, Rahul