Message ID | 1248947897.8925.13.camel@johannes.local (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
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
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
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
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
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
--- 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
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