* [PATCH] libertas: Don't mark exported symbols as static @ 2008-02-09 0:07 Roland Dreier 2008-02-09 0:28 ` Stephen Hemminger 2008-02-12 23:08 ` [PATCH] libertas: Remove unused exports Roland Dreier 0 siblings, 2 replies; 8+ messages in thread From: Roland Dreier @ 2008-02-09 0:07 UTC (permalink / raw) To: John W. Linville; +Cc: netdev, Dan Williams Marking exported symbols as static causes the following build error on ia64 with gcc 4.2.3: drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict Therefore, remove the static marking on lbs_remove_mesh and lbs_add_mesh. Signed-off-by: Roland Dreier <rolandd@cisco.com> --- diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 84fb49c..a688ce8 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c @@ -253,8 +253,8 @@ static ssize_t lbs_anycast_set(struct device *dev, static int lbs_add_rtap(struct lbs_private *priv); static void lbs_remove_rtap(struct lbs_private *priv); -static int lbs_add_mesh(struct lbs_private *priv); -static void lbs_remove_mesh(struct lbs_private *priv); +int lbs_add_mesh(struct lbs_private *priv); +void lbs_remove_mesh(struct lbs_private *priv); /** @@ -1296,7 +1296,7 @@ EXPORT_SYMBOL_GPL(lbs_stop_card); * @param priv A pointer to the struct lbs_private structure * @return 0 if successful, -X otherwise */ -static int lbs_add_mesh(struct lbs_private *priv) +int lbs_add_mesh(struct lbs_private *priv) { struct net_device *mesh_dev = NULL; int ret = 0; @@ -1354,7 +1354,7 @@ done: EXPORT_SYMBOL_GPL(lbs_add_mesh); -static void lbs_remove_mesh(struct lbs_private *priv) +void lbs_remove_mesh(struct lbs_private *priv) { struct net_device *mesh_dev; ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] libertas: Don't mark exported symbols as static 2008-02-09 0:07 [PATCH] libertas: Don't mark exported symbols as static Roland Dreier @ 2008-02-09 0:28 ` Stephen Hemminger 2008-02-09 2:01 ` Roland Dreier 2008-02-12 23:08 ` [PATCH] libertas: Remove unused exports Roland Dreier 1 sibling, 1 reply; 8+ messages in thread From: Stephen Hemminger @ 2008-02-09 0:28 UTC (permalink / raw) To: netdev On Fri, 08 Feb 2008 16:07:26 -0800 Roland Dreier <rdreier@cisco.com> wrote: > Marking exported symbols as static causes the following build error on > ia64 with gcc 4.2.3: > > drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict > drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict > > Therefore, remove the static marking on lbs_remove_mesh and lbs_add_mesh. > > Signed-off-by: Roland Dreier <rolandd@cisco.com> > --- > diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c > index 84fb49c..a688ce8 100644 > --- a/drivers/net/wireless/libertas/main.c > +++ b/drivers/net/wireless/libertas/main.c > @@ -253,8 +253,8 @@ static ssize_t lbs_anycast_set(struct device *dev, > > static int lbs_add_rtap(struct lbs_private *priv); > static void lbs_remove_rtap(struct lbs_private *priv); > -static int lbs_add_mesh(struct lbs_private *priv); > -static void lbs_remove_mesh(struct lbs_private *priv); > +int lbs_add_mesh(struct lbs_private *priv); > +void lbs_remove_mesh(struct lbs_private *priv); > > > /** > @@ -1296,7 +1296,7 @@ EXPORT_SYMBOL_GPL(lbs_stop_card); > * @param priv A pointer to the struct lbs_private structure > * @return 0 if successful, -X otherwise > */ > -static int lbs_add_mesh(struct lbs_private *priv) > +int lbs_add_mesh(struct lbs_private *priv) > { > struct net_device *mesh_dev = NULL; > int ret = 0; > @@ -1354,7 +1354,7 @@ done: > EXPORT_SYMBOL_GPL(lbs_add_mesh); > > > -static void lbs_remove_mesh(struct lbs_private *priv) > +void lbs_remove_mesh(struct lbs_private *priv) > { > struct net_device *mesh_dev; > > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Why not pull the exports? they aren't used anywhere in the existing kernel. -- Stephen Hemminger <stephen.hemminger@vyatta.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] libertas: Don't mark exported symbols as static 2008-02-09 0:28 ` Stephen Hemminger @ 2008-02-09 2:01 ` Roland Dreier 2008-02-09 4:48 ` Christoph Hellwig 0 siblings, 1 reply; 8+ messages in thread From: Roland Dreier @ 2008-02-09 2:01 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev > Why not pull the exports? they aren't used anywhere in the existing kernel. I'm guessing there's some not-(yet-)merged mesh networking stuff that uses the symbols, but it doesn't matter much to me... - R. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] libertas: Don't mark exported symbols as static 2008-02-09 2:01 ` Roland Dreier @ 2008-02-09 4:48 ` Christoph Hellwig 2008-02-09 13:52 ` Dan Williams 0 siblings, 1 reply; 8+ messages in thread From: Christoph Hellwig @ 2008-02-09 4:48 UTC (permalink / raw) To: Roland Dreier; +Cc: Stephen Hemminger, netdev On Fri, Feb 08, 2008 at 06:01:02PM -0800, Roland Dreier wrote: > > Why not pull the exports? they aren't used anywhere in the existing kernel. > > I'm guessing there's some not-(yet-)merged mesh networking stuff that > uses the symbols, but it doesn't matter much to me... The general rule is to not keep symbols for out of tree stuff, so removing the exports makes more sense. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] libertas: Don't mark exported symbols as static 2008-02-09 4:48 ` Christoph Hellwig @ 2008-02-09 13:52 ` Dan Williams 0 siblings, 0 replies; 8+ messages in thread From: Dan Williams @ 2008-02-09 13:52 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Roland Dreier, Stephen Hemminger, netdev On Fri, 2008-02-08 at 23:48 -0500, Christoph Hellwig wrote: > On Fri, Feb 08, 2008 at 06:01:02PM -0800, Roland Dreier wrote: > > > Why not pull the exports? they aren't used anywhere in the existing kernel. > > > > I'm guessing there's some not-(yet-)merged mesh networking stuff that > > uses the symbols, but it doesn't matter much to me... > > The general rule is to not keep symbols for out of tree stuff, so > removing the exports makes more sense. If they aren't used in the in-kernel driver, just kill the export statements. Dan ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] libertas: Remove unused exports 2008-02-09 0:07 [PATCH] libertas: Don't mark exported symbols as static Roland Dreier 2008-02-09 0:28 ` Stephen Hemminger @ 2008-02-12 23:08 ` Roland Dreier 2008-02-24 4:10 ` [PATCH RESEND] " Roland Dreier 1 sibling, 1 reply; 8+ messages in thread From: Roland Dreier @ 2008-02-12 23:08 UTC (permalink / raw) To: John W. Linville; +Cc: netdev, Dan Williams The libertas driver exports a number of symbols with no in-tree users; remove these unused exports. lbs_reset_device() is completely unused, with no callers at all, so remove the function completely. A couple of these unused exported symbols are static, which causes the following build error on ia64 with gcc 4.2.3: drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict This patch fixes this problem. I don't have hardware, so this is not run-tested, but I tested the build with CONFIG_LIBERTAS=y CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m and there were no problems with undefined symbols. Signed-off-by: Roland Dreier <rolandd@cisco.com> --- Here's the patch that removes the unused exports (and a few more that I found). diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c index eab0203..b3c1acb 100644 --- a/drivers/net/wireless/libertas/cmd.c +++ b/drivers/net/wireless/libertas/cmd.c @@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action, lbs_deb_leave(LBS_DEB_CMD); return ret; } -EXPORT_SYMBOL_GPL(lbs_mesh_access); int lbs_mesh_config(struct lbs_private *priv, uint16_t enable, uint16_t chan) { @@ -1576,7 +1575,6 @@ done: lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret); return ret; } -EXPORT_SYMBOL_GPL(lbs_prepare_and_send_command); /** * @brief This function allocates the command buffer and link diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h index aaacd9b..4e22341 100644 --- a/drivers/net/wireless/libertas/decl.h +++ b/drivers/net/wireless/libertas/decl.h @@ -69,7 +69,6 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev); int lbs_remove_card(struct lbs_private *priv); int lbs_start_card(struct lbs_private *priv); int lbs_stop_card(struct lbs_private *priv); -int lbs_reset_device(struct lbs_private *priv); void lbs_host_to_card_done(struct lbs_private *priv); int lbs_update_channel(struct lbs_private *priv); diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 84fb49c..1eaf6af 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c @@ -1351,8 +1350,6 @@ done: lbs_deb_leave_args(LBS_DEB_MESH, "ret %d", ret); return ret; } -EXPORT_SYMBOL_GPL(lbs_add_mesh); - static void lbs_remove_mesh(struct lbs_private *priv) { @@ -1372,7 +1369,6 @@ static void lbs_remove_mesh(struct lbs_private *priv) free_netdev(mesh_dev); lbs_deb_leave(LBS_DEB_MESH); } -EXPORT_SYMBOL_GPL(lbs_remove_mesh); /** * @brief This function finds the CFP in @@ -1458,20 +1454,6 @@ void lbs_interrupt(struct lbs_private *priv) } EXPORT_SYMBOL_GPL(lbs_interrupt); -int lbs_reset_device(struct lbs_private *priv) -{ - int ret; - - lbs_deb_enter(LBS_DEB_MAIN); - ret = lbs_prepare_and_send_command(priv, CMD_802_11_RESET, - CMD_ACT_HALT, 0, 0, NULL); - msleep_interruptible(10); - - lbs_deb_leave_args(LBS_DEB_MAIN, "ret %d", ret); - return ret; -} -EXPORT_SYMBOL_GPL(lbs_reset_device); - static int __init lbs_init_module(void) { lbs_deb_enter(LBS_DEB_MAIN); ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RESEND] libertas: Remove unused exports 2008-02-12 23:08 ` [PATCH] libertas: Remove unused exports Roland Dreier @ 2008-02-24 4:10 ` Roland Dreier [not found] ` <aday79b571e.fsf_-_-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Roland Dreier @ 2008-02-24 4:10 UTC (permalink / raw) To: John W. Linville; +Cc: netdev, Dan Williams Any chance of getting this applied? It seems the build is still broken on ia64 at least due to the export of static functions. --- The libertas driver exports a number of symbols with no in-tree users; remove these unused exports. lbs_reset_device() is completely unused, with no callers at all, so remove the function completely. A couple of these unused exported symbols are static, which causes the following build error on ia64 with gcc 4.2.3: drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict This patch fixes this problem. I don't have hardware, so this is not run-tested, but I tested the build with CONFIG_LIBERTAS=y CONFIG_LIBERTAS_USB=m CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m and there were no problems with undefined symbols. Signed-off-by: Roland Dreier <rolandd@cisco.com> --- diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c index eab0203..b3c1acb 100644 --- a/drivers/net/wireless/libertas/cmd.c +++ b/drivers/net/wireless/libertas/cmd.c @@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action, lbs_deb_leave(LBS_DEB_CMD); return ret; } -EXPORT_SYMBOL_GPL(lbs_mesh_access); int lbs_mesh_config(struct lbs_private *priv, uint16_t enable, uint16_t chan) { @@ -1576,7 +1575,6 @@ done: lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret); return ret; } -EXPORT_SYMBOL_GPL(lbs_prepare_and_send_command); /** * @brief This function allocates the command buffer and link diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h index aaacd9b..4e22341 100644 --- a/drivers/net/wireless/libertas/decl.h +++ b/drivers/net/wireless/libertas/decl.h @@ -69,7 +69,6 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev); int lbs_remove_card(struct lbs_private *priv); int lbs_start_card(struct lbs_private *priv); int lbs_stop_card(struct lbs_private *priv); -int lbs_reset_device(struct lbs_private *priv); void lbs_host_to_card_done(struct lbs_private *priv); int lbs_update_channel(struct lbs_private *priv); diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 84fb49c..1eaf6af 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c @@ -1351,8 +1350,6 @@ done: lbs_deb_leave_args(LBS_DEB_MESH, "ret %d", ret); return ret; } -EXPORT_SYMBOL_GPL(lbs_add_mesh); - static void lbs_remove_mesh(struct lbs_private *priv) { @@ -1372,7 +1369,6 @@ static void lbs_remove_mesh(struct lbs_private *priv) free_netdev(mesh_dev); lbs_deb_leave(LBS_DEB_MESH); } -EXPORT_SYMBOL_GPL(lbs_remove_mesh); /** * @brief This function finds the CFP in @@ -1458,20 +1454,6 @@ void lbs_interrupt(struct lbs_private *priv) } EXPORT_SYMBOL_GPL(lbs_interrupt); -int lbs_reset_device(struct lbs_private *priv) -{ - int ret; - - lbs_deb_enter(LBS_DEB_MAIN); - ret = lbs_prepare_and_send_command(priv, CMD_802_11_RESET, - CMD_ACT_HALT, 0, 0, NULL); - msleep_interruptible(10); - - lbs_deb_leave_args(LBS_DEB_MAIN, "ret %d", ret); - return ret; -} -EXPORT_SYMBOL_GPL(lbs_reset_device); - static int __init lbs_init_module(void) { lbs_deb_enter(LBS_DEB_MAIN); ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <aday79b571e.fsf_-_-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH RESEND] libertas: Remove unused exports [not found] ` <aday79b571e.fsf_-_-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> @ 2008-02-25 19:12 ` Dan Williams 0 siblings, 0 replies; 8+ messages in thread From: Dan Williams @ 2008-02-25 19:12 UTC (permalink / raw) To: Roland Dreier Cc: John W. Linville, netdev-u79uwXL29TY76Z2rM5mHXA, David Woodhouse, linux-wireless-u79uwXL29TY76Z2rM5mHXA On Sat, 2008-02-23 at 20:10 -0800, Roland Dreier wrote: > Any chance of getting this applied? It seems the build is still > broken on ia64 at least due to the export of static functions. > --- Normal route is to linux-wireless@... However; if the symbols aren't used anywhere in drivers/net/wireless/libertas/*, it makes no sense to keep them around & exported. Acked-by: Dan Williams <dcbw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > > The libertas driver exports a number of symbols with no in-tree > users; remove these unused exports. lbs_reset_device() is completely > unused, with no callers at all, so remove the function completely. > > A couple of these unused exported symbols are static, which causes the > following build error on ia64 with gcc 4.2.3: > > drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict > drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict > > This patch fixes this problem. I don't have hardware, so this is not > run-tested, but I tested the build with > > CONFIG_LIBERTAS=y > CONFIG_LIBERTAS_USB=m > CONFIG_LIBERTAS_CS=m > CONFIG_LIBERTAS_SDIO=m > > and there were no problems with undefined symbols. > > Signed-off-by: Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> > --- > diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c > index eab0203..b3c1acb 100644 > --- a/drivers/net/wireless/libertas/cmd.c > +++ b/drivers/net/wireless/libertas/cmd.c > @@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action, > lbs_deb_leave(LBS_DEB_CMD); > return ret; > } > -EXPORT_SYMBOL_GPL(lbs_mesh_access); > > int lbs_mesh_config(struct lbs_private *priv, uint16_t enable, uint16_t chan) > { > @@ -1576,7 +1575,6 @@ done: > lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret); > return ret; > } > -EXPORT_SYMBOL_GPL(lbs_prepare_and_send_command); > > /** > * @brief This function allocates the command buffer and link > diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h > index aaacd9b..4e22341 100644 > --- a/drivers/net/wireless/libertas/decl.h > +++ b/drivers/net/wireless/libertas/decl.h > @@ -69,7 +69,6 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev); > int lbs_remove_card(struct lbs_private *priv); > int lbs_start_card(struct lbs_private *priv); > int lbs_stop_card(struct lbs_private *priv); > -int lbs_reset_device(struct lbs_private *priv); > void lbs_host_to_card_done(struct lbs_private *priv); > > int lbs_update_channel(struct lbs_private *priv); > diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c > index 84fb49c..1eaf6af 100644 > --- a/drivers/net/wireless/libertas/main.c > +++ b/drivers/net/wireless/libertas/main.c > @@ -1351,8 +1350,6 @@ done: > lbs_deb_leave_args(LBS_DEB_MESH, "ret %d", ret); > return ret; > } > -EXPORT_SYMBOL_GPL(lbs_add_mesh); > - > > static void lbs_remove_mesh(struct lbs_private *priv) > { > @@ -1372,7 +1369,6 @@ static void lbs_remove_mesh(struct lbs_private *priv) > free_netdev(mesh_dev); > lbs_deb_leave(LBS_DEB_MESH); > } > -EXPORT_SYMBOL_GPL(lbs_remove_mesh); > > /** > * @brief This function finds the CFP in > @@ -1458,20 +1454,6 @@ void lbs_interrupt(struct lbs_private *priv) > } > EXPORT_SYMBOL_GPL(lbs_interrupt); > > -int lbs_reset_device(struct lbs_private *priv) > -{ > - int ret; > - > - lbs_deb_enter(LBS_DEB_MAIN); > - ret = lbs_prepare_and_send_command(priv, CMD_802_11_RESET, > - CMD_ACT_HALT, 0, 0, NULL); > - msleep_interruptible(10); > - > - lbs_deb_leave_args(LBS_DEB_MAIN, "ret %d", ret); > - return ret; > -} > -EXPORT_SYMBOL_GPL(lbs_reset_device); > - > static int __init lbs_init_module(void) > { > lbs_deb_enter(LBS_DEB_MAIN); ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-02-25 19:12 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-09 0:07 [PATCH] libertas: Don't mark exported symbols as static Roland Dreier
2008-02-09 0:28 ` Stephen Hemminger
2008-02-09 2:01 ` Roland Dreier
2008-02-09 4:48 ` Christoph Hellwig
2008-02-09 13:52 ` Dan Williams
2008-02-12 23:08 ` [PATCH] libertas: Remove unused exports Roland Dreier
2008-02-24 4:10 ` [PATCH RESEND] " Roland Dreier
[not found] ` <aday79b571e.fsf_-_-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2008-02-25 19:12 ` Dan Williams
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).