2009-02-02 18:34:19

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for February 2 (iwlwifi)

On Mon, 2 Feb 2009 20:16:37 +1100 Stephen Rothwell wrote:

> Hi all,
>
> Changes since 20090126:


a. optional drivers such as iwlwifi should not default to 'y':

config IWLWIFI
bool "Intel Wireless Wifi"
depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL
default y

b. Are there cases where IWLCORE is not needed? I.e., why is it
even a kconfig option?


c. The attached config causes beaucoup build errors with:
CONFIG_IWLWIFI=y
# CONFIG_IWLCORE is not set
# CONFIG_IWLAGN is not set
CONFIG_IWL3945=y
# CONFIG_IWL3945_SPECTRUM_MEASUREMENT is not set
CONFIG_IWL3945_LEDS=y

like:
drivers/built-in.o: In function `iwl3945_mac_stop':
iwl3945-base.c:(.text+0x16b7ae): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `iwl3945_send_power_mode':
iwl3945-base.c:(.text+0x16b8e0): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl3945_activate_qos':
iwl3945-base.c:(.text+0x16b995): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl3945_send_rxon_assoc':
iwl3945-base.c:(.text+0x16ba38): undefined reference to `iwl_send_cmd_sync'
drivers/built-in.o: In function `iwl3945_mac_get_tx_stats':
iwl3945-base.c:(.text+0x16be5a): undefined reference to `iwl_queue_space'
drivers/built-in.o: In function `iwl3945_add_station':
(.text+0x16c0c1): undefined reference to `iwl_send_add_sta'
drivers/built-in.o: In function `iwl3945_commit_rxon':
iwl3945-base.c:(.text+0x16c50d): undefined reference to `iwl_send_cmd_pdu'
iwl3945-base.c:(.text+0x16c55c): undefined reference to `iwl_send_cmd_pdu'
iwl3945-base.c:(.text+0x16c5d0): undefined reference to `iwl_bcast_addr'
drivers/built-in.o: In function `iwl3945_mac_reset_tsf':
iwl3945-base.c:(.text+0x16c727): undefined reference to `iwl_reset_qos'
iwl3945-base.c:(.text+0x16c7b7): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `iwl3945_mac_set_key':
iwl3945-base.c:(.text+0x16c817): undefined reference to `iwl_bcast_addr'
iwl3945-base.c:(.text+0x16c84e): undefined reference to `iwl_scan_cancel_timeout'
iwl3945-base.c:(.text+0x16c93f): undefined reference to `iwl_send_add_sta'
iwl3945-base.c:(.text+0x16c9e2): undefined reference to `iwl_send_add_sta'
drivers/built-in.o: In function `iwl3945_mac_remove_interface':
iwl3945-base.c:(.text+0x16ca43): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `iwl3945_send_beacon_cmd':
iwl3945-base.c:(.text+0x16cba7): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl3945_post_associate':
iwl3945-base.c:(.text+0x16cc4c): undefined reference to `iwl_scan_cancel_timeout'
iwl3945-base.c:(.text+0x16cc89): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl3945_mac_beacon_update':
iwl3945-base.c:(.text+0x16ce2d): undefined reference to `iwl_reset_qos'
drivers/built-in.o: In function `iwl3945_connection_init_rx_config':
iwl3945-base.c:(.text+0x16cf01): undefined reference to `iwl_get_channel_info'
drivers/built-in.o: In function `iwl3945_set_rxon_channel':
iwl3945-base.c:(.text+0x16cf6a): undefined reference to `iwl_get_channel_info'
drivers/built-in.o: In function `iwl3945_mac_tx':
iwl3945-base.c:(.text+0x16d668): undefined reference to `iwl_txq_update_write_ptr'
iwl3945-base.c:(.text+0x16d681): undefined reference to `iwl_queue_space'
iwl3945-base.c:(.text+0x16d6b7): undefined reference to `iwl_txq_update_write_ptr'
drivers/built-in.o: In function `iwl3945_rx_queue_restock':
iwl3945-base.c:(.text+0x16d773): undefined reference to `iwl_rx_queue_space'
iwl3945-base.c:(.text+0x16d7f0): undefined reference to `iwl_rx_queue_update_write_ptr'
drivers/built-in.o: In function `iwl3945_rx_reply_error':
iwl3945-base.c:(.text+0x16d94f): undefined reference to `get_cmd_string'
drivers/built-in.o: In function `iwl3945_bg_alive_start':
iwl3945-base.c:(.text+0x16dc36): undefined reference to `iwl_send_bt_config'
drivers/built-in.o: In function `iwl3945_mac_add_interface':
iwl3945-base.c:(.text+0x16dec7): undefined reference to `iwl_get_channel_info'
iwl3945-base.c:(.text+0x16df47): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `iwl3945_rx_card_state_notif':
iwl3945-base.c:(.text+0x16e27c): undefined reference to `iwl_scan_cancel'
drivers/built-in.o: In function `iwl3945_mac_config':
iwl3945-base.c:(.text+0x16e3de): undefined reference to `iwl_get_channel_info'
iwl3945-base.c:(.text+0x16e45a): undefined reference to `iwl_scan_cancel'
iwl3945-base.c:(.text+0x16e497): undefined reference to `iwl_send_card_state'
drivers/built-in.o: In function `store_filter_flags':
iwl3945-base.c:(.text+0x16e672): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `store_flags':
iwl3945-base.c:(.text+0x16e6f7): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `iwl3945_mac_config_interface':
iwl3945-base.c:(.text+0x16e8eb): undefined reference to `iwl_scan_cancel_timeout'
iwl3945-base.c:(.text+0x16e9b6): undefined reference to `iwl_send_cmd_pdu'
iwl3945-base.c:(.text+0x16ea47): undefined reference to `iwl_bcast_addr'
iwl3945-base.c:(.text+0x16ea91): undefined reference to `iwl_scan_cancel_timeout'
drivers/built-in.o: In function `iwl3945_irq_tasklet':
iwl3945-base.c:(.text+0x16ecc4): undefined reference to `iwl_rx_queue_update_write_ptr'
iwl3945-base.c:(.text+0x16ecd1): undefined reference to `iwl_txq_update_write_ptr'
iwl3945-base.c:(.text+0x16ecde): undefined reference to `iwl_txq_update_write_ptr'
iwl3945-base.c:(.text+0x16eceb): undefined reference to `iwl_txq_update_write_ptr'
iwl3945-base.c:(.text+0x16ecf8): undefined reference to `iwl_txq_update_write_ptr'
iwl3945-base.c:(.text+0x16ed05): undefined reference to `iwl_txq_update_write_ptr'
drivers/built-in.o:iwl3945-base.c:(.text+0x16ed12): more undefined references to `iwl_txq_update_write_ptr' follow
drivers/built-in.o: In function `iwl3945_irq_tasklet':
iwl3945-base.c:(.text+0x16ed4d): undefined reference to `iwl_rx_queue_space'
drivers/built-in.o: In function `show_statistics':
iwl3945-base.c:(.text+0x16f2f3): undefined reference to `iwl_send_statistics_request'
drivers/built-in.o: In function `iwl3945_bg_request_scan':
iwl3945-base.c:(.text+0x16f94f): undefined reference to `iwl_fill_probe_req'
iwl3945-base.c:(.text+0x16f9b8): undefined reference to `iwl_get_active_dwell_time'
iwl3945-base.c:(.text+0x16f9c7): undefined reference to `iwl_get_passive_dwell_time'
iwl3945-base.c:(.text+0x16fa2d): undefined reference to `iwl_get_channel_info'
iwl3945-base.c:(.text+0x16faf5): undefined reference to `iwl_send_cmd_sync'
drivers/built-in.o: In function `iwl3945_pci_probe':
iwl3945-base.c:(.text+0x16fc09): undefined reference to `iwl_alloc_all'
iwl3945-base.c:(.text+0x16fd9b): undefined reference to `iwl_eeprom_init'
iwl3945-base.c:(.text+0x16fee0): undefined reference to `iwl_reset_qos'
iwl3945-base.c:(.text+0x16ff49): undefined reference to `iwl_init_channel_map'
iwl3945-base.c:(.text+0x16ff95): undefined reference to `iwlcore_init_geos'
iwl3945-base.c:(.text+0x170044): undefined reference to `iwl_free_channel_map'
iwl3945-base.c:(.text+0x170265): undefined reference to `iwl_bg_rf_kill'
iwl3945-base.c:(.text+0x1703c9): undefined reference to `iwl_bg_scan_completed'
iwl3945-base.c:(.text+0x170449): undefined reference to `iwl_bg_abort_scan'
iwl3945-base.c:(.text+0x170485): undefined reference to `iwl_bg_scan_check'
iwl3945-base.c:(.text+0x1705b1): undefined reference to `iwlcore_free_geos'
drivers/built-in.o: In function `iwl3945_hw_txq_ctx_free':
(.text+0x1717c4): undefined reference to `iwl_tx_queue_free'
drivers/built-in.o: In function `iwl3945_sync_sta':
(.text+0x1718da): undefined reference to `iwl_send_add_sta'
drivers/built-in.o: In function `iwl3945_send_tx_power':
(.text+0x171de5): undefined reference to `iwl_get_channel_info'
drivers/built-in.o: In function `iwl3945_send_tx_power':
(.text+0x171e8b): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl3945_hw_nic_init':
(.text+0x171f2d): undefined reference to `iwl_rx_queue_alloc'
drivers/built-in.o: In function `iwl3945_hw_nic_init':
(.text+0x171f65): undefined reference to `iwl_rx_queue_reset'
drivers/built-in.o: In function `iwl3945_hw_nic_init':
(.text+0x172149): undefined reference to `iwl_tx_queue_init'
drivers/built-in.o: In function `iwl3945_rx_reply_tx':
iwl-3945.c:(.text+0x1724d2): undefined reference to `iwl_queue_space'
drivers/built-in.o: In function `iwl3945_init_hw_rate_table':
(.text+0x172612): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl3945_init_hw_rate_table':
(.text+0x17262d): undefined reference to `iwl_send_cmd_pdu'
drivers/built-in.o: In function `iwl_send_led_cmd':
iwl-3945-led.c:(.text+0x173508): undefined reference to `iwl_send_cmd'
drivers/built-in.o: In function `iwl3945_pci_remove':
iwl3945-base.c:(.devexit.text+0x14c3): undefined reference to `iwl_rx_queue_free'
iwl3945-base.c:(.devexit.text+0x153a): undefined reference to `iwl_free_channel_map'
iwl3945-base.c:(.devexit.text+0x1541): undefined reference to `iwlcore_free_geos'
drivers/built-in.o:(.data+0x15944): undefined reference to `iwlcore_eeprom_verify_signature'
drivers/built-in.o:(.data+0x15954): undefined reference to `iwlcore_eeprom_query_addr'
make[1]: *** [.tmp_vmlinux1] Error 1


---
~Randy


Attachments:
config-r9091 (65.94 kB)

2009-02-02 20:42:09

by Reinette Chatre

[permalink] [raw]
Subject: Re: linux-next: Tree for February 2 (iwlwifi)

On Mon, 2009-02-02 at 10:34 -0800, Randy Dunlap wrote:
> On Mon, 2 Feb 2009 20:16:37 +1100 Stephen Rothwell wrote:
>
> > Hi all,
> >
> > Changes since 20090126:
>
>
> a. optional drivers such as iwlwifi should not default to 'y':
>
> config IWLWIFI
> bool "Intel Wireless Wifi"
> depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL
> default y

will fix.

>
> b. Are there cases where IWLCORE is not needed? I.e., why is it
> even a kconfig option?

indeed ... now that 3945 depends on IWLCORE also we could replace
IWLWIFI with it because IWLWIFI is not used in code ... we will have to
see if this is possible.

>
>
> c. The attached config causes beaucoup build errors with:
> CONFIG_IWLWIFI=y
> # CONFIG_IWLCORE is not set
> # CONFIG_IWLAGN is not set
> CONFIG_IWL3945=y
> # CONFIG_IWL3945_SPECTRUM_MEASUREMENT is not set
> CONFIG_IWL3945_LEDS=y

3945 is being ported to iwlwifi and we neglected to change Kconfig to
reflect this. We will fix it.

Thank you very much for this report.

Reinette