diff mbox

iwlwifi: don't export symbols not needed in other modules

Message ID 1248947897.8925.13.camel@johannes.local (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Johannes Berg July 30, 2009, 9:58 a.m. UTC
Even with the split into iwlcore/agn/3945 not all symbols
that cross file boundaries are needed in other modules, a
few are only used within iwlcore, for example.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
 drivers/net/wireless/iwlwifi/iwl-core.c |    3 ---
 drivers/net/wireless/iwlwifi/iwl-led.c  |    1 -
 drivers/net/wireless/iwlwifi/iwl-rx.c   |    1 -
 drivers/net/wireless/iwlwifi/iwl-sta.c  |    1 -
 4 files changed, 6 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Reinette Chatre July 30, 2009, 6:28 p.m. UTC | #1
Hi Johannes,

On Thu, 2009-07-30 at 02:58 -0700, Johannes Berg wrote:
> Even with the split into iwlcore/agn/3945 not all symbols
> that cross file boundaries are needed in other modules, a
> few are only used within iwlcore, for example.

I think in this case we need to be explicit when talking about "need"
and "used". Yes, some of these exported symbols are only used within a
module and this needs to be fixed. At the same time, some of these may
be needed outside, but are just not currently used. Examples of the
latter are: iwl_remove_station, iwl_rx_ant_restriction, and
iwl_send_card_state. I think this is especially important for
iwl_remove_station and iwl_rx_ant_restriction because their partners
(iwl_add_station and iwl_tx_ant_restriction) are exported and used and I
think it will be clean if they are also, even if they are not currently
used.

I'm thus ok with the removal of symbols iwl_set_flags_for_band,
iwl_clear_isr_stats, iwl_leds_background, and iwl_rx_queue_reset.


> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
> ---
>  drivers/net/wireless/iwlwifi/iwl-core.c |    3 ---
>  drivers/net/wireless/iwlwifi/iwl-led.c  |    1 -
>  drivers/net/wireless/iwlwifi/iwl-rx.c   |    1 -
>  drivers/net/wireless/iwlwifi/iwl-sta.c  |    1 -
>  4 files changed, 6 deletions(-)
> 
> --- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-core.c	2009-07-30 11:42:11.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-core.c	2009-07-30 11:51:28.000000000 +0200
> @@ -1139,7 +1139,6 @@ void iwl_set_flags_for_band(struct iwl_p
>  		priv->staging_rxon.flags &= ~RXON_FLG_CCK_MSK;
>  	}
>  }
> -EXPORT_SYMBOL(iwl_set_flags_for_band);
>  
>  /*
>   * initialize rxon structure with default values from eeprom
> @@ -2289,7 +2288,6 @@ int iwl_send_card_state(struct iwl_priv 
>  
>  	return iwl_send_cmd(priv, &cmd);
>  }
> -EXPORT_SYMBOL(iwl_send_card_state);
>  
>  void iwl_rx_pm_sleep_notif(struct iwl_priv *priv,
>  			   struct iwl_rx_mem_buffer *rxb)
> @@ -2333,7 +2331,6 @@ void iwl_clear_isr_stats(struct iwl_priv
>  {
>  	memset(&priv->isr_stats, 0, sizeof(priv->isr_stats));
>  }
> -EXPORT_SYMBOL(iwl_clear_isr_stats);
>  
>  int iwl_mac_conf_tx(struct ieee80211_hw *hw, u16 queue,
>  			   const struct ieee80211_tx_queue_params *params)
> --- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-led.c	2009-07-30 11:42:11.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-led.c	2009-07-30 11:50:58.000000000 +0200
> @@ -335,7 +335,6 @@ void iwl_leds_background(struct iwl_priv
>  	priv->last_blink_time = jiffies;
>  	priv->last_blink_rate = blink_idx;
>  }
> -EXPORT_SYMBOL(iwl_leds_background);
>  
>  /* Register all led handler */
>  int iwl_leds_register(struct iwl_priv *priv)
> --- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-rx.c	2009-07-30 11:42:11.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-rx.c	2009-07-30 11:51:15.000000000 +0200
> @@ -406,7 +406,6 @@ void iwl_rx_queue_reset(struct iwl_priv 
>  	rxq->free_count = 0;
>  	spin_unlock_irqrestore(&rxq->lock, flags);
>  }
> -EXPORT_SYMBOL(iwl_rx_queue_reset);
>  
>  int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
>  {
> --- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-sta.c	2009-07-30 11:42:11.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-sta.c	2009-07-30 11:51:07.000000000 +0200
> @@ -464,7 +464,6 @@ out:
>  	spin_unlock_irqrestore(&priv->sta_lock, flags);
>  	return ret;
>  }
> -EXPORT_SYMBOL(iwl_remove_station);
>  
>  /**
>   * iwl_clear_stations_table - Clear the driver's station table
> 
> 

Reinette

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Johannes Berg July 30, 2009, 6:36 p.m. UTC | #2
On Thu, 2009-07-30 at 11:28 -0700, reinette chatre wrote:
> Hi Johannes,
> 
> On Thu, 2009-07-30 at 02:58 -0700, Johannes Berg wrote:
> > Even with the split into iwlcore/agn/3945 not all symbols
> > that cross file boundaries are needed in other modules, a
> > few are only used within iwlcore, for example.
> 
> I think in this case we need to be explicit when talking about "need"
> and "used". Yes, some of these exported symbols are only used within a
> module and this needs to be fixed. At the same time, some of these may
> be needed outside, but are just not currently used. Examples of the
> latter are: iwl_remove_station, iwl_rx_ant_restriction, and
> iwl_send_card_state. I think this is especially important for
> iwl_remove_station and iwl_rx_ant_restriction because their partners
> (iwl_add_station and iwl_tx_ant_restriction) are exported and used and I
> think it will be clean if they are also, even if they are not currently
> used.

But they can easily be exported when used. That's done even for
subsystem symbols, for instance some generic netlink stuff wasn't
exported until it was needed in wimax.

Is there a problem with adding the export back whenever it's needed?

johannes
Reinette Chatre July 30, 2009, 6:47 p.m. UTC | #3
On Thu, 2009-07-30 at 11:36 -0700, Johannes Berg wrote:
> On Thu, 2009-07-30 at 11:28 -0700, reinette chatre wrote:
> > Hi Johannes,
> > 
> > On Thu, 2009-07-30 at 02:58 -0700, Johannes Berg wrote:
> > > Even with the split into iwlcore/agn/3945 not all symbols
> > > that cross file boundaries are needed in other modules, a
> > > few are only used within iwlcore, for example.
> > 
> > I think in this case we need to be explicit when talking about "need"
> > and "used". Yes, some of these exported symbols are only used within a
> > module and this needs to be fixed. At the same time, some of these may
> > be needed outside, but are just not currently used. Examples of the
> > latter are: iwl_remove_station, iwl_rx_ant_restriction, and
> > iwl_send_card_state. I think this is especially important for
> > iwl_remove_station and iwl_rx_ant_restriction because their partners
> > (iwl_add_station and iwl_tx_ant_restriction) are exported and used and I
> > think it will be clean if they are also, even if they are not currently
> > used.
> 
> But they can easily be exported when used. That's done even for
> subsystem symbols, for instance some generic netlink stuff wasn't
> exported until it was needed in wimax.
> 
> Is there a problem with adding the export back whenever it's needed?

No. If this is what you want then I think you also need to remove
iwl_rx_ant_restriction.

Reinette


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Johannes Berg July 30, 2009, 7:26 p.m. UTC | #4
On Thu, 2009-07-30 at 11:47 -0700, reinette chatre wrote:

> No. If this is what you want then I think you also need to remove
> iwl_rx_ant_restriction.

Hm, I missed that, I actually have removed as part of my powersave
patch.

johannes
Reinette Chatre July 31, 2009, 7:45 p.m. UTC | #5
On Thu, 2009-07-30 at 12:26 -0700, Johannes Berg wrote:
> On Thu, 2009-07-30 at 11:47 -0700, reinette chatre wrote:
> 
> > No. If this is what you want then I think you also need to remove
> > iwl_rx_ant_restriction.
> 
> Hm, I missed that, I actually have removed as part of my powersave
> patch.

now I see. 

Acked-by: Reinette Chatre <reinette.chatre@intel.com>

Reinette

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-core.c	2009-07-30 11:42:11.000000000 +0200
+++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-core.c	2009-07-30 11:51:28.000000000 +0200
@@ -1139,7 +1139,6 @@  void iwl_set_flags_for_band(struct iwl_p
 		priv->staging_rxon.flags &= ~RXON_FLG_CCK_MSK;
 	}
 }
-EXPORT_SYMBOL(iwl_set_flags_for_band);
 
 /*
  * initialize rxon structure with default values from eeprom
@@ -2289,7 +2288,6 @@  int iwl_send_card_state(struct iwl_priv 
 
 	return iwl_send_cmd(priv, &cmd);
 }
-EXPORT_SYMBOL(iwl_send_card_state);
 
 void iwl_rx_pm_sleep_notif(struct iwl_priv *priv,
 			   struct iwl_rx_mem_buffer *rxb)
@@ -2333,7 +2331,6 @@  void iwl_clear_isr_stats(struct iwl_priv
 {
 	memset(&priv->isr_stats, 0, sizeof(priv->isr_stats));
 }
-EXPORT_SYMBOL(iwl_clear_isr_stats);
 
 int iwl_mac_conf_tx(struct ieee80211_hw *hw, u16 queue,
 			   const struct ieee80211_tx_queue_params *params)
--- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-led.c	2009-07-30 11:42:11.000000000 +0200
+++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-led.c	2009-07-30 11:50:58.000000000 +0200
@@ -335,7 +335,6 @@  void iwl_leds_background(struct iwl_priv
 	priv->last_blink_time = jiffies;
 	priv->last_blink_rate = blink_idx;
 }
-EXPORT_SYMBOL(iwl_leds_background);
 
 /* Register all led handler */
 int iwl_leds_register(struct iwl_priv *priv)
--- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-rx.c	2009-07-30 11:42:11.000000000 +0200
+++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-rx.c	2009-07-30 11:51:15.000000000 +0200
@@ -406,7 +406,6 @@  void iwl_rx_queue_reset(struct iwl_priv 
 	rxq->free_count = 0;
 	spin_unlock_irqrestore(&rxq->lock, flags);
 }
-EXPORT_SYMBOL(iwl_rx_queue_reset);
 
 int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
 {
--- wireless-testing.orig/drivers/net/wireless/iwlwifi/iwl-sta.c	2009-07-30 11:42:11.000000000 +0200
+++ wireless-testing/drivers/net/wireless/iwlwifi/iwl-sta.c	2009-07-30 11:51:07.000000000 +0200
@@ -464,7 +464,6 @@  out:
 	spin_unlock_irqrestore(&priv->sta_lock, flags);
 	return ret;
 }
-EXPORT_SYMBOL(iwl_remove_station);
 
 /**
  * iwl_clear_stations_table - Clear the driver's station table