All of lore.kernel.org
 help / color / mirror / Atom feed
* [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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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
  2008-02-25 19:12       ` Dan Williams
  0 siblings, 1 reply; 9+ 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] 9+ messages in thread

* Re: [PATCH RESEND] libertas: Remove unused exports
@ 2008-02-25 19:12       ` Dan Williams
  0 siblings, 0 replies; 9+ messages in thread
From: Dan Williams @ 2008-02-25 19:12 UTC (permalink / raw)
  To: Roland Dreier; +Cc: John W. Linville, netdev, David Woodhouse, linux-wireless

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@redhat.com>

> 
> 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	[flat|nested] 9+ messages in thread

* Re: [PATCH RESEND] libertas: Remove unused exports
@ 2008-02-25 19:12       ` Dan Williams
  0 siblings, 0 replies; 9+ 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] 9+ messages in thread

end of thread, other threads:[~2008-02-25 19:15 UTC | newest]

Thread overview: 9+ 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
2008-02-25 19:12     ` Dan Williams
2008-02-25 19:12       ` Dan Williams

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.