iPXE
|
#include <stdlib.h>
#include <ipxe/malloc.h>
#include <ipxe/timer.h>
#include <ipxe/netdevice.h>
#include <ipxe/pci.h>
#include <ipxe/pci_io.h>
#include "base.h"
#include "reg.h"
Go to the source code of this file.
Macros | |
#define | ATH5K_CALIB_INTERVAL 10 /* Calibrate PHY every 10 seconds */ |
#define | ATH5K_RETRIES 4 /* Number of times to retry packet sends */ |
#define | ATH5K_DESC_ALIGN 16 /* Alignment for TX/RX descriptors */ |
#define | ATH5K_SPMBL_NO 1 |
#define | ATH5K_SPMBL_YES 2 |
#define | ATH5K_SPMBL_BOTH 3 |
#define | ATH5K_NR_RATES 15 |
Functions | |
FILE_LICENCE (BSD3) | |
static int | ath5k_probe (struct pci_device *pdev) |
static void | ath5k_remove (struct pci_device *pdev) |
static int | ath5k_tx (struct net80211_device *dev, struct io_buffer *skb) |
static int | ath5k_reset (struct ath5k_softc *sc, struct net80211_channel *chan) |
static int | ath5k_reset_wake (struct ath5k_softc *sc) |
static int | ath5k_start (struct net80211_device *dev) |
static void | ath5k_stop (struct net80211_device *dev) |
static int | ath5k_config (struct net80211_device *dev, int changed) |
static void | ath5k_poll (struct net80211_device *dev) |
static void | ath5k_irq (struct net80211_device *dev, int enable) |
static int | ath5k_attach (struct net80211_device *dev) |
static void | ath5k_detach (struct net80211_device *dev) |
static unsigned int | ath5k_copy_channels (struct ath5k_hw *ah, struct net80211_channel *channels, unsigned int mode, unsigned int max) |
static int | ath5k_setup_bands (struct net80211_device *dev) |
static int | ath5k_chan_set (struct ath5k_softc *sc, struct net80211_channel *chan) |
static void | ath5k_setcurmode (struct ath5k_softc *sc, unsigned int mode) |
static void | ath5k_mode_setup (struct ath5k_softc *sc) |
static int | ath5k_desc_alloc (struct ath5k_softc *sc) |
static void | ath5k_desc_free (struct ath5k_softc *sc) |
static int | ath5k_rxbuf_setup (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static int | ath5k_txbuf_setup (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static void | ath5k_txbuf_free (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static void | ath5k_rxbuf_free (struct ath5k_softc *sc __unused, struct ath5k_buf *bf) |
static int | ath5k_txq_setup (struct ath5k_softc *sc, int qtype, int subtype) |
static void | ath5k_txq_drainq (struct ath5k_softc *sc, struct ath5k_txq *txq) |
static void | ath5k_txq_cleanup (struct ath5k_softc *sc) |
static void | ath5k_txq_release (struct ath5k_softc *sc) |
static int | ath5k_rx_start (struct ath5k_softc *sc) |
static void | ath5k_rx_stop (struct ath5k_softc *sc) |
static void | ath5k_tx_processq (struct ath5k_softc *sc, struct ath5k_txq *txq) |
static int | ath5k_init (struct ath5k_softc *sc) |
static int | ath5k_stop_hw (struct ath5k_softc *sc) |
static void | ath5k_calibrate (struct ath5k_softc *sc) |
static void | ath5k_configure_filter (struct ath5k_softc *sc) |
static short | ath5k_ieee2mhz (short chan) |
static int | ath5k_hw_rix_to_bitrate (int hw_rix) |
int | ath5k_bitrate_to_hw_rix (int bitrate) |
static struct io_buffer * | ath5k_rx_iob_alloc (struct ath5k_softc *sc, u32 *iob_addr) |
static void | ath5k_handle_rx (struct ath5k_softc *sc) |
static void | ath5k_handle_tx (struct ath5k_softc *sc) |
Variables | |
static struct pci_device_id | ath5k_nics [] |
struct { | |
u16 bitrate | |
u8 short_pmbl | |
u8 hw_code | |
} | ath5k_rates [] |
struct pci_driver ath5k_pci_driver | __pci_driver |
static struct net80211_device_operations | ath5k_ops |
#define ATH5K_CALIB_INTERVAL 10 /* Calibrate PHY every 10 seconds */ |
#define ATH5K_RETRIES 4 /* Number of times to retry packet sends */ |
FILE_LICENCE | ( | BSD3 | ) |
|
static |
Definition at line 246 of file ath5k.c.
References adjust_pci_device(), ath5k_softc::ah, ath5k_hw::ah_capabilities, ath5k_hw::ah_mac_srev, ath5k_hw::ah_phy_revision, ath5k_hw::ah_radio_2ghz_revision, ath5k_hw::ah_radio_5ghz_revision, ath5k_hw::ah_single_chip, AR5K_MODE_BIT_11A, AR5K_MODE_BIT_11B, AR5K_VERSION_MAC, AR5K_VERSION_RAD, ath5k_attach(), ath5k_hw_attach(), ath5k_hw_detach(), ATH_STAT_INVALID, ath5k_softc::cachelsz, ath5k_capabilities::cap_mode, net80211_hw_info::channel_change_time, DBG, ath5k_softc::dev, net_device::dev, pci_device_id::driver_data, EIO, ENOMEM, net80211_hw_info::flags, free, ath5k_softc::hwinfo, pci_device::id, ath5k_softc::iobase, iounmap(), pci_device::membase, net80211_alloc(), net80211_free(), net80211_device::netdev, PCI_CACHE_LINE_SIZE, pci_ioremap(), PCI_LATENCY_TIMER, pci_read_config_byte(), pci_set_drvdata(), pci_write_config_byte(), ath5k_softc::pdev, net80211_device::priv, net80211_hw_info::signal_max, net80211_hw_info::signal_type, ath5k_softc::status, and zalloc().
|
static |
Definition at line 403 of file ath5k.c.
References ath5k_softc::ah, ath5k_detach(), ath5k_hw_detach(), ath5k_softc::dev, free, ath5k_softc::hwinfo, ath5k_softc::iobase, iounmap(), net80211_free(), pci_get_drvdata(), and net80211_device::priv.
|
static |
Definition at line 1461 of file ath5k.c.
References ath5k_txbuf_setup(), DBG, ath5k_softc::dev, ENOBUFS, ath5k_buf::iob, ath5k_buf::list, list_add_tail, list_del, list_empty, list_entry, list_head::next, NULL, net80211_device::priv, rc, ath5k_softc::txbuf, and ath5k_softc::txbuf_len.
|
static |
Definition at line 1497 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw_reset(), ath5k_hw_set_imr(), ath5k_irq(), ath5k_rx_start(), ath5k_rx_stop(), ath5k_txq_cleanup(), net80211_channel::band, ath5k_softc::curband, ath5k_softc::curchan, DBG, ath5k_softc::dev, ath5k_softc::irq_ena, and strerror().
Referenced by ath5k_chan_set(), ath5k_init(), and ath5k_reset_wake().
|
static |
Definition at line 1540 of file ath5k.c.
References ath5k_reset(), and ath5k_softc::curchan.
Referenced by ath5k_calibrate(), and ath5k_poll().
|
static |
Definition at line 1545 of file ath5k.c.
References ath5k_softc::ah, ath5k_softc::assoc, ath5k_configure_filter(), ath5k_hw_set_lladdr(), ath5k_init(), ath5k_softc::dev, net_device::ll_addr, net80211_device::netdev, and net80211_device::priv.
|
static |
Definition at line 1560 of file ath5k.c.
References ath5k_softc::ah, ath5k_hw_set_lladdr(), ath5k_stop_hw(), ath5k_softc::dev, ETH_ALEN, mac, and net80211_device::priv.
|
static |
Definition at line 1571 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_softc::assoc, ath5k_chan_set(), ath5k_hw_set_associd(), ATH5K_NR_RATES, ath5k_rates, ATH5K_SPMBL_NO, ATH5K_SPMBL_YES, bitrate, net80211_device::bssid, net80211_device::channel, net80211_device::channels, ath5k_softc::dev, ETH_ALEN, ath5k_softc::hw_rate, ath5k_softc::hw_rtscts_rate, net80211_channel::maxpower, memcpy(), memset(), NET80211_ASSOCIATED, NET80211_CFG_ASSOC, NET80211_CFG_CHANNEL, NET80211_CFG_PHY_PARAMS, NET80211_CFG_RATE, NET80211_PHY_USE_SHORT_PREAMBLE, net80211_device::phy_flags, ath5k_softc::power_level, net80211_device::priv, net80211_device::rate, net80211_device::rates, net80211_device::rtscts_rate, short_pmbl, and net80211_device::state.
|
static |
Definition at line 1376 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_INT_FATAL, AR5K_INT_RXEOL, AR5K_INT_RXERR, AR5K_INT_RXOK, AR5K_INT_RXORN, AR5K_INT_TXDESC, AR5K_INT_TXEOL, AR5K_INT_TXERR, AR5K_INT_TXOK, AR5K_INT_TXURN, ATH5K_CALIB_INTERVAL, ath5k_calibrate(), ath5k_handle_rx(), ath5k_handle_tx(), ath5k_hw_get_isr(), ath5k_hw_is_intr_pending(), ath5k_hw_update_tx_triglevel(), ath5k_reset_wake(), ATH_STAT_INVALID, currticks(), DBG, DBGP, ath5k_softc::dev, ath5k_softc::imask, ath5k_softc::irq_ena, ath5k_softc::last_calib_ticks, NULL, net80211_device::priv, ath5k_softc::rxlink, status, ath5k_softc::status, and TICKS_PER_SEC.
|
static |
Definition at line 1281 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_IER, AR5K_IER_DISABLE, AR5K_IER_ENABLE, ath5k_hw_reg_write(), ath5k_hw_set_imr(), ath5k_softc::dev, ath5k_softc::imask, ath5k_softc::irq_ena, and net80211_device::priv.
Referenced by ath5k_reset().
|
static |
Definition at line 421 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_MODE_11A, AR5K_MODE_11B, AR5K_MODE_BIT_11A, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BE, ath5k_desc_alloc(), ath5k_desc_free(), ath5k_eeprom_read_mac(), ath5k_hw_set_bssid_mask(), ath5k_ops, ath5k_setcurmode(), ath5k_setup_bands(), ath5k_txq_release(), ath5k_txq_setup(), ath5k_softc::bssidmask, currticks(), DBG, ath5k_softc::dev, pci_device::device, ETH_ALEN, net80211_hw_info::hwaddr, ath5k_softc::hwinfo, ath5k_softc::last_calib_ticks, memset(), net80211_register(), ath5k_softc::pdev, and net80211_device::priv.
Referenced by ath5k_probe().
|
static |
Definition at line 492 of file ath5k.c.
References ath5k_desc_free(), ath5k_txq_release(), ath5k_softc::dev, net80211_unregister(), and net80211_device::priv.
Referenced by ath5k_remove().
|
static |
Definition at line 524 of file ath5k.c.
References ah, AR5K_MODE_11A, AR5K_MODE_11A_TURBO, AR5K_MODE_11B, AR5K_MODE_11G, AR5K_MODE_11G_TURBO, ath5k_channel_ok(), ath5k_ieee2mhz(), ch, CHANNEL_2GHZ, CHANNEL_5GHZ, CHANNEL_B, CHANNEL_OFDM, CHANNEL_TURBO, channels, count, max, NET80211_BAND_2GHZ, NET80211_BAND_5GHZ, and size.
Referenced by ath5k_setup_bands().
|
static |
Definition at line 585 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw::ah_capabilities, AR5K_MODE_11B, AR5K_MODE_11G, AR5K_MODE_BIT_11A, AR5K_MODE_BIT_11B, AR5K_MODE_BIT_11G, ath5k_copy_channels(), ath5k_rates, net80211_hw_info::bands, ath5k_capabilities::cap_mode, net80211_hw_info::channels, ath5k_softc::dev, ath5k_softc::hwinfo, net80211_hw_info::modes, NET80211_BAND_2GHZ, NET80211_BAND_5GHZ, NET80211_BAND_BIT_2GHZ, NET80211_BAND_BIT_5GHZ, NET80211_MODE_A, NET80211_MODE_B, NET80211_MODE_G, net80211_hw_info::nr_channels, net80211_hw_info::nr_rates, net80211_device::priv, and net80211_hw_info::rates.
Referenced by ath5k_attach().
|
static |
Definition at line 655 of file ath5k.c.
References ath5k_reset(), net80211_channel::center_freq, ath5k_softc::curchan, DBG2, and net80211_channel::hw_value.
Referenced by ath5k_config().
|
static |
Definition at line 674 of file ath5k.c.
References AR5K_MODE_11A, ath5k_softc::curband, ath5k_softc::curmode, NET80211_BAND_2GHZ, and NET80211_BAND_5GHZ.
Referenced by ath5k_attach().
|
static |
Definition at line 686 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw_hasbssidmask, ath5k_hw_set_bssid_mask(), ath5k_hw_set_mcast_filter(), ath5k_hw_set_opmode(), ath5k_hw_set_rx_filter(), ath5k_softc::bssidmask, and ath5k_softc::filter_flags.
Referenced by ath5k_rx_start().
|
static |
Definition at line 870 of file ath5k.c.
References ATH5K_DESC_ALIGN, ATH_RXBUF, ATH_TXBUF, ath5k_softc::bufptr, calloc(), DBG, ath5k_softc::desc, ath5k_softc::desc_daddr, ath5k_softc::desc_len, ds, ENOMEM, free_phys(), INIT_LIST_HEAD, list_add_tail, malloc_phys(), memset(), NULL, ath5k_softc::rxbuf, ath5k_softc::txbuf, ath5k_softc::txbuf_len, and virt_to_bus().
Referenced by ath5k_attach().
|
static |
Definition at line 925 of file ath5k.c.
References ath5k_rxbuf_free(), ath5k_txbuf_free(), ath5k_softc::bufptr, ath5k_softc::desc, ath5k_softc::desc_len, free, free_phys(), ath5k_buf::list, list_for_each_entry, NULL, ath5k_softc::rxbuf, and ath5k_softc::txbuf.
Referenced by ath5k_attach(), and ath5k_detach().
|
static |
Definition at line 770 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_rx_iob_alloc(), ath5k_buf::daddr, DBG, ath5k_buf::desc, ds, EINVAL, ENOMEM, ath5k_buf::iob, iob_tailroom(), ath5k_buf::iobaddr, NULL, and ath5k_softc::rxlink.
Referenced by ath5k_handle_rx(), and ath5k_rx_start().
|
static |
Definition at line 815 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_PKT_TYPE_NORMAL, AR5K_TXDESC_CLRDMASK, AR5K_TXDESC_CTSENA, AR5K_TXDESC_INTREQ, AR5K_TXKEYIX_INVALID, ath5k_hw_set_txdp(), ath5k_hw_start_tx_dma(), ATH5K_RETRIES, ath5k_buf::daddr, io_buffer::data, ath5k_buf::desc, ath5k_softc::dev, ds, duration, flags, ath5k_softc::hw_rate, ath5k_softc::hw_rtscts_rate, IEEE80211_TYP_FRAME_HEADER_LEN, ath5k_buf::iob, iob_len(), ath5k_buf::iobaddr, ath5k_txq::link, ath5k_buf::list, list_add_tail, mb(), net80211_cts_duration(), NET80211_PHY_USE_PROTECTION, NULL, net80211_device::phy_flags, ath5k_softc::power_level, ath5k_txq::q, ath5k_txq::qnum, ath5k_softc::txq, and virt_to_bus().
Referenced by ath5k_tx().
|
inlinestatic |
Definition at line 178 of file ath5k.c.
References ath5k_softc::dev, ECANCELED, ath5k_buf::iob, net80211_tx_complete(), and NULL.
Referenced by ath5k_desc_free(), and ath5k_txq_drainq().
|
inlinestatic |
Definition at line 188 of file ath5k.c.
References free_iob(), ath5k_buf::iob, and NULL.
Referenced by ath5k_desc_free().
|
static |
Definition at line 950 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_TXQ_FLAG_TXDESCINT_ENABLE, AR5K_TXQ_FLAG_TXEOLINT_ENABLE, AR5K_TXQ_USEDEFAULT, ath5k_hw_setup_tx_queue(), DBG, EIO, INIT_LIST_HEAD, ath5k_txq::link, NULL, ath5k_txq::q, ath5k_txq::qnum, ath5k_txq::setup, subtype, ath5k_txq_info::tqi_flags, ath5k_txq_info::tqi_subtype, and ath5k_softc::txq.
Referenced by ath5k_attach().
|
static |
Definition at line 993 of file ath5k.c.
References ath5k_txbuf_free(), ath5k_txq::link, ath5k_buf::list, list_add_tail, list_del, list_for_each_entry_safe, NULL, ath5k_txq::q, ath5k_softc::txbuf, and ath5k_softc::txbuf_len.
Referenced by ath5k_txq_cleanup().
|
static |
Definition at line 1011 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw_get_txdp(), ath5k_hw_stop_tx_dma(), ath5k_txq_drainq(), ATH_STAT_INVALID, DBG, ath5k_txq::link, ath5k_txq::qnum, ath5k_txq::setup, ath5k_softc::status, and ath5k_softc::txq.
Referenced by ath5k_reset(), and ath5k_stop_hw().
|
static |
Definition at line 1031 of file ath5k.c.
References ath5k_softc::ah, ath5k_hw_release_tx_queue(), ath5k_txq::setup, and ath5k_softc::txq.
Referenced by ath5k_attach(), and ath5k_detach().
|
static |
Definition at line 1050 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw_set_rxdp(), ath5k_hw_start_rx_dma(), ath5k_hw_start_rx_pcu(), ath5k_mode_setup(), ath5k_rxbuf_setup(), ath5k_softc::cachelsz, ath5k_buf::daddr, IEEE80211_MAX_LEN, ath5k_buf::list, list_entry, list_for_each_entry, list_head::next, NULL, ath5k_softc::rxbuf, ath5k_softc::rxbufsize, and ath5k_softc::rxlink.
Referenced by ath5k_reset().
|
static |
Definition at line 1082 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw_set_rx_filter(), ath5k_hw_stop_rx_dma(), ath5k_hw_stop_rx_pcu(), NULL, and ath5k_softc::rxlink.
Referenced by ath5k_reset(), and ath5k_stop_hw().
|
static |
Definition at line 1227 of file ath5k.c.
References ath5k_softc::ah, ath5k_hw::ah_proc_tx_desc, DBG, DBG2, ath5k_buf::desc, ath5k_softc::dev, ds, EINPROGRESS, EIO, ath5k_buf::iob, iob_len(), ath5k_txq::link, ath5k_buf::list, io_buffer::list, list_add_tail, list_del, list_empty, list_for_each_entry_safe, memset(), net80211_tx_complete(), NULL, ath5k_txq::q, strerror(), ath5k_tx_status::ts_retry, ath5k_tx_status::ts_status, ath5k_softc::txbuf, and ath5k_softc::txbuf_len.
Referenced by ath5k_handle_tx().
|
static |
Definition at line 1294 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_INT_FATAL, AR5K_INT_GLOBAL, AR5K_INT_RXEOL, AR5K_INT_RXERR, AR5K_INT_RXOK, AR5K_INT_RXORN, AR5K_INT_TXDESC, AR5K_INT_TXEOL, AR5K_KEYTABLE_SIZE, ath5k_hw_reset_key(), ath5k_hw_set_ack_bitrate_high(), ath5k_reset(), ath5k_rfkill_hw_start(), ath5k_stop_hw(), net80211_channel::band, net80211_device::channel, net80211_device::channels, ath5k_softc::curband, ath5k_softc::curchan, ath5k_softc::dev, done, ath5k_softc::imask, mb(), and NULL.
Referenced by ath5k_start().
|
static |
Definition at line 1340 of file ath5k.c.
References ah, ath5k_softc::ah, ath5k_hw_phy_disable(), ath5k_hw_set_imr(), ath5k_rfkill_hw_stop(), ath5k_rx_stop(), ath5k_txq_cleanup(), ATH_STAT_INVALID, NULL, ath5k_softc::rxlink, and ath5k_softc::status.
Referenced by ath5k_init(), and ath5k_stop().
|
static |
Definition at line 1438 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_RFGAIN_NEED_CHANGE, ath5k_hw_gainf_calibrate(), ath5k_hw_phy_calibrate(), ath5k_reset_wake(), net80211_channel::channel_nr, ath5k_softc::curchan, and DBG.
Referenced by ath5k_poll().
|
static |
Definition at line 1636 of file ath5k.c.
References ah, ath5k_softc::ah, AR5K_RX_FILTER_BCAST, AR5K_RX_FILTER_BEACON, AR5K_RX_FILTER_MCAST, AR5K_RX_FILTER_UCAST, ath5k_hw_set_mcast_filter(), ath5k_hw_set_rx_filter(), and ath5k_softc::filter_flags.
Referenced by ath5k_start().
|
inlinestatic |
|
inlinestatic |
Definition at line 705 of file ath5k.c.
References ATH5K_NR_RATES, ath5k_rates, DBG, and hw_code.
Referenced by ath5k_handle_rx().
int ath5k_bitrate_to_hw_rix | ( | int | bitrate | ) |
Definition at line 718 of file ath5k.c.
References ATH5K_NR_RATES, ATH5K_RATE_CODE_1M, ath5k_rates, bitrate, and DBG.
Referenced by ath5k_hw_write_rate_duration().
|
static |
Definition at line 736 of file ath5k.c.
References alloc_iob(), ath5k_softc::cachelsz, io_buffer::data, DBG, iob_reserve, NULL, ath5k_softc::rxbufsize, and virt_to_bus().
Referenced by ath5k_handle_rx(), and ath5k_rxbuf_setup().
|
static |
Definition at line 1094 of file ath5k.c.
References ath5k_softc::ah, ath5k_hw::ah_proc_rx_desc, AR5K_RXERR_CRC, AR5K_RXERR_DECRYPT, AR5K_RXERR_PHY, AR5K_RXKEYIX_INVALID, assert(), ath5k_hw_rix_to_bitrate(), ath5k_rx_iob_alloc(), ath5k_rxbuf_setup(), DBG, DBG2, ath5k_buf::desc, ath5k_softc::dev, ds, EINPROGRESS, EIO, ath5k_buf::flags, ath5k_buf::iob, iob_put, ath5k_buf::iobaddr, ath5k_buf::list, list_add_tail, list_del, list_empty, list_entry, memset(), net80211_rx(), net80211_rx_err(), next, list_head::next, NULL, list_head::prev, ath5k_rx_status::rs_datalen, ath5k_rx_status::rs_keyix, ath5k_rx_status::rs_more, ath5k_rx_status::rs_rate, ath5k_rx_status::rs_rssi, ath5k_rx_status::rs_status, ath5k_softc::rxbuf, and strerror().
Referenced by ath5k_poll().
|
static |
Definition at line 1270 of file ath5k.c.
References ath5k_tx_processq(), and ath5k_softc::txq.
Referenced by ath5k_poll().
|
static |
u16 bitrate |
Definition at line 93 of file ath5k.c.
Referenced by ath5k_bitrate_to_hw_rix(), and ath5k_config().
u8 short_pmbl |
Definition at line 94 of file ath5k.c.
Referenced by ath5k_config().
u8 hw_code |
Definition at line 95 of file ath5k.c.
Referenced by ath5k_hw_rix_to_bitrate().
const { ... } ath5k_rates[] |
Referenced by ath5k_bitrate_to_hw_rix(), ath5k_config(), ath5k_hw_rix_to_bitrate(), and ath5k_setup_bands().
struct pci_driver ath5k_pci_driver __pci_driver |
|
static |
Definition at line 144 of file ath5k.c.
Referenced by ath5k_attach().