Commit fd97ba5d authored by David S. Miller's avatar David S. Miller

Merge branch '20130925_dn_externs_3' of git://repo.or.cz/linux-2.6/trivial-mods

More extern removals from Joe Perches.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents c359ca88 a958df5d
...@@ -410,9 +410,9 @@ int ...@@ -410,9 +410,9 @@ int
vmxnet3_create_queues(struct vmxnet3_adapter *adapter, vmxnet3_create_queues(struct vmxnet3_adapter *adapter,
u32 tx_ring_size, u32 rx_ring_size, u32 rx_ring2_size); u32 tx_ring_size, u32 rx_ring_size, u32 rx_ring2_size);
extern void vmxnet3_set_ethtool_ops(struct net_device *netdev); void vmxnet3_set_ethtool_ops(struct net_device *netdev);
extern struct rtnl_link_stats64 * struct rtnl_link_stats64 *
vmxnet3_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats); vmxnet3_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats);
extern char vmxnet3_driver_name[]; extern char vmxnet3_driver_name[];
......
...@@ -41,6 +41,6 @@ struct x25_asy { ...@@ -41,6 +41,6 @@ struct x25_asy {
#define X25_ASY_MAGIC 0x5303 #define X25_ASY_MAGIC 0x5303
extern int x25_asy_init(struct net_device *dev); int x25_asy_init(struct net_device *dev);
#endif /* _LINUX_X25_ASY.H */ #endif /* _LINUX_X25_ASY.H */
...@@ -395,20 +395,19 @@ struct z8530_dev ...@@ -395,20 +395,19 @@ struct z8530_dev
extern u8 z8530_dead_port[]; extern u8 z8530_dead_port[];
extern u8 z8530_hdlc_kilostream_85230[]; extern u8 z8530_hdlc_kilostream_85230[];
extern u8 z8530_hdlc_kilostream[]; extern u8 z8530_hdlc_kilostream[];
extern irqreturn_t z8530_interrupt(int, void *); irqreturn_t z8530_interrupt(int, void *);
extern void z8530_describe(struct z8530_dev *, char *mapping, unsigned long io); void z8530_describe(struct z8530_dev *, char *mapping, unsigned long io);
extern int z8530_init(struct z8530_dev *); int z8530_init(struct z8530_dev *);
extern int z8530_shutdown(struct z8530_dev *); int z8530_shutdown(struct z8530_dev *);
extern int z8530_sync_open(struct net_device *, struct z8530_channel *); int z8530_sync_open(struct net_device *, struct z8530_channel *);
extern int z8530_sync_close(struct net_device *, struct z8530_channel *); int z8530_sync_close(struct net_device *, struct z8530_channel *);
extern int z8530_sync_dma_open(struct net_device *, struct z8530_channel *); int z8530_sync_dma_open(struct net_device *, struct z8530_channel *);
extern int z8530_sync_dma_close(struct net_device *, struct z8530_channel *); int z8530_sync_dma_close(struct net_device *, struct z8530_channel *);
extern int z8530_sync_txdma_open(struct net_device *, struct z8530_channel *); int z8530_sync_txdma_open(struct net_device *, struct z8530_channel *);
extern int z8530_sync_txdma_close(struct net_device *, struct z8530_channel *); int z8530_sync_txdma_close(struct net_device *, struct z8530_channel *);
extern int z8530_channel_load(struct z8530_channel *, u8 *); int z8530_channel_load(struct z8530_channel *, u8 *);
extern netdev_tx_t z8530_queue_xmit(struct z8530_channel *c, netdev_tx_t z8530_queue_xmit(struct z8530_channel *c, struct sk_buff *skb);
struct sk_buff *skb); void z8530_null_rx(struct z8530_channel *c, struct sk_buff *skb);
extern void z8530_null_rx(struct z8530_channel *c, struct sk_buff *skb);
/* /*
......
...@@ -256,21 +256,20 @@ void i2400mu_init(struct i2400mu *i2400mu) ...@@ -256,21 +256,20 @@ void i2400mu_init(struct i2400mu *i2400mu)
i2400mu->rx_size_auto_shrink = 1; i2400mu->rx_size_auto_shrink = 1;
} }
extern int i2400mu_notification_setup(struct i2400mu *); int i2400mu_notification_setup(struct i2400mu *);
extern void i2400mu_notification_release(struct i2400mu *); void i2400mu_notification_release(struct i2400mu *);
extern int i2400mu_rx_setup(struct i2400mu *); int i2400mu_rx_setup(struct i2400mu *);
extern void i2400mu_rx_release(struct i2400mu *); void i2400mu_rx_release(struct i2400mu *);
extern void i2400mu_rx_kick(struct i2400mu *); void i2400mu_rx_kick(struct i2400mu *);
extern int i2400mu_tx_setup(struct i2400mu *); int i2400mu_tx_setup(struct i2400mu *);
extern void i2400mu_tx_release(struct i2400mu *); void i2400mu_tx_release(struct i2400mu *);
extern void i2400mu_bus_tx_kick(struct i2400m *); void i2400mu_bus_tx_kick(struct i2400m *);
extern ssize_t i2400mu_bus_bm_cmd_send(struct i2400m *, ssize_t i2400mu_bus_bm_cmd_send(struct i2400m *,
const struct i2400m_bootrom_header *, const struct i2400m_bootrom_header *, size_t,
size_t, int); int);
extern ssize_t i2400mu_bus_bm_wait_for_ack(struct i2400m *, ssize_t i2400mu_bus_bm_wait_for_ack(struct i2400m *,
struct i2400m_bootrom_header *, struct i2400m_bootrom_header *, size_t);
size_t);
#endif /* #ifndef __I2400M_USB_H__ */ #endif /* #ifndef __I2400M_USB_H__ */
...@@ -710,18 +710,18 @@ enum i2400m_bri { ...@@ -710,18 +710,18 @@ enum i2400m_bri {
I2400M_BRI_MAC_REINIT = 1 << 3, I2400M_BRI_MAC_REINIT = 1 << 3,
}; };
extern void i2400m_bm_cmd_prepare(struct i2400m_bootrom_header *); void i2400m_bm_cmd_prepare(struct i2400m_bootrom_header *);
extern int i2400m_dev_bootstrap(struct i2400m *, enum i2400m_bri); int i2400m_dev_bootstrap(struct i2400m *, enum i2400m_bri);
extern int i2400m_read_mac_addr(struct i2400m *); int i2400m_read_mac_addr(struct i2400m *);
extern int i2400m_bootrom_init(struct i2400m *, enum i2400m_bri); int i2400m_bootrom_init(struct i2400m *, enum i2400m_bri);
extern int i2400m_is_boot_barker(struct i2400m *, const void *, size_t); int i2400m_is_boot_barker(struct i2400m *, const void *, size_t);
static inline static inline
int i2400m_is_d2h_barker(const void *buf) int i2400m_is_d2h_barker(const void *buf)
{ {
const __le32 *barker = buf; const __le32 *barker = buf;
return le32_to_cpu(*barker) == I2400M_D2H_MSG_BARKER; return le32_to_cpu(*barker) == I2400M_D2H_MSG_BARKER;
} }
extern void i2400m_unknown_barker(struct i2400m *, const void *, size_t); void i2400m_unknown_barker(struct i2400m *, const void *, size_t);
/* Make/grok boot-rom header commands */ /* Make/grok boot-rom header commands */
...@@ -789,32 +789,31 @@ unsigned i2400m_brh_get_signature(const struct i2400m_bootrom_header *hdr) ...@@ -789,32 +789,31 @@ unsigned i2400m_brh_get_signature(const struct i2400m_bootrom_header *hdr)
/* /*
* Driver / device setup and internal functions * Driver / device setup and internal functions
*/ */
extern void i2400m_init(struct i2400m *); void i2400m_init(struct i2400m *);
extern int i2400m_reset(struct i2400m *, enum i2400m_reset_type); int i2400m_reset(struct i2400m *, enum i2400m_reset_type);
extern void i2400m_netdev_setup(struct net_device *net_dev); void i2400m_netdev_setup(struct net_device *net_dev);
extern int i2400m_sysfs_setup(struct device_driver *); int i2400m_sysfs_setup(struct device_driver *);
extern void i2400m_sysfs_release(struct device_driver *); void i2400m_sysfs_release(struct device_driver *);
extern int i2400m_tx_setup(struct i2400m *); int i2400m_tx_setup(struct i2400m *);
extern void i2400m_wake_tx_work(struct work_struct *); void i2400m_wake_tx_work(struct work_struct *);
extern void i2400m_tx_release(struct i2400m *); void i2400m_tx_release(struct i2400m *);
extern int i2400m_rx_setup(struct i2400m *); int i2400m_rx_setup(struct i2400m *);
extern void i2400m_rx_release(struct i2400m *); void i2400m_rx_release(struct i2400m *);
extern void i2400m_fw_cache(struct i2400m *); void i2400m_fw_cache(struct i2400m *);
extern void i2400m_fw_uncache(struct i2400m *); void i2400m_fw_uncache(struct i2400m *);
extern void i2400m_net_rx(struct i2400m *, struct sk_buff *, unsigned, void i2400m_net_rx(struct i2400m *, struct sk_buff *, unsigned, const void *,
const void *, int); int);
extern void i2400m_net_erx(struct i2400m *, struct sk_buff *, void i2400m_net_erx(struct i2400m *, struct sk_buff *, enum i2400m_cs);
enum i2400m_cs); void i2400m_net_wake_stop(struct i2400m *);
extern void i2400m_net_wake_stop(struct i2400m *);
enum i2400m_pt; enum i2400m_pt;
extern int i2400m_tx(struct i2400m *, const void *, size_t, enum i2400m_pt); int i2400m_tx(struct i2400m *, const void *, size_t, enum i2400m_pt);
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
extern int i2400m_debugfs_add(struct i2400m *); int i2400m_debugfs_add(struct i2400m *);
extern void i2400m_debugfs_rm(struct i2400m *); void i2400m_debugfs_rm(struct i2400m *);
#else #else
static inline int i2400m_debugfs_add(struct i2400m *i2400m) static inline int i2400m_debugfs_add(struct i2400m *i2400m)
{ {
...@@ -824,8 +823,8 @@ static inline void i2400m_debugfs_rm(struct i2400m *i2400m) {} ...@@ -824,8 +823,8 @@ static inline void i2400m_debugfs_rm(struct i2400m *i2400m) {}
#endif #endif
/* Initialize/shutdown the device */ /* Initialize/shutdown the device */
extern int i2400m_dev_initialize(struct i2400m *); int i2400m_dev_initialize(struct i2400m *);
extern void i2400m_dev_shutdown(struct i2400m *); void i2400m_dev_shutdown(struct i2400m *);
extern struct attribute_group i2400m_dev_attr_group; extern struct attribute_group i2400m_dev_attr_group;
...@@ -873,21 +872,21 @@ void i2400m_put(struct i2400m *i2400m) ...@@ -873,21 +872,21 @@ void i2400m_put(struct i2400m *i2400m)
dev_put(i2400m->wimax_dev.net_dev); dev_put(i2400m->wimax_dev.net_dev);
} }
extern int i2400m_dev_reset_handle(struct i2400m *, const char *); int i2400m_dev_reset_handle(struct i2400m *, const char *);
extern int i2400m_pre_reset(struct i2400m *); int i2400m_pre_reset(struct i2400m *);
extern int i2400m_post_reset(struct i2400m *); int i2400m_post_reset(struct i2400m *);
extern void i2400m_error_recovery(struct i2400m *); void i2400m_error_recovery(struct i2400m *);
/* /*
* _setup()/_release() are called by the probe/disconnect functions of * _setup()/_release() are called by the probe/disconnect functions of
* the bus-specific drivers. * the bus-specific drivers.
*/ */
extern int i2400m_setup(struct i2400m *, enum i2400m_bri bm_flags); int i2400m_setup(struct i2400m *, enum i2400m_bri bm_flags);
extern void i2400m_release(struct i2400m *); void i2400m_release(struct i2400m *);
extern int i2400m_rx(struct i2400m *, struct sk_buff *); int i2400m_rx(struct i2400m *, struct sk_buff *);
extern struct i2400m_msg_hdr *i2400m_tx_msg_get(struct i2400m *, size_t *); struct i2400m_msg_hdr *i2400m_tx_msg_get(struct i2400m *, size_t *);
extern void i2400m_tx_msg_sent(struct i2400m *); void i2400m_tx_msg_sent(struct i2400m *);
/* /*
...@@ -900,20 +899,19 @@ struct device *i2400m_dev(struct i2400m *i2400m) ...@@ -900,20 +899,19 @@ struct device *i2400m_dev(struct i2400m *i2400m)
return i2400m->wimax_dev.net_dev->dev.parent; return i2400m->wimax_dev.net_dev->dev.parent;
} }
extern int i2400m_msg_check_status(const struct i2400m_l3l4_hdr *, int i2400m_msg_check_status(const struct i2400m_l3l4_hdr *, char *, size_t);
char *, size_t); int i2400m_msg_size_check(struct i2400m *, const struct i2400m_l3l4_hdr *,
extern int i2400m_msg_size_check(struct i2400m *, size_t);
const struct i2400m_l3l4_hdr *, size_t); struct sk_buff *i2400m_msg_to_dev(struct i2400m *, const void *, size_t);
extern struct sk_buff *i2400m_msg_to_dev(struct i2400m *, const void *, size_t); void i2400m_msg_to_dev_cancel_wait(struct i2400m *, int);
extern void i2400m_msg_to_dev_cancel_wait(struct i2400m *, int); void i2400m_report_hook(struct i2400m *, const struct i2400m_l3l4_hdr *,
extern void i2400m_report_hook(struct i2400m *, size_t);
const struct i2400m_l3l4_hdr *, size_t); void i2400m_report_hook_work(struct work_struct *);
extern void i2400m_report_hook_work(struct work_struct *); int i2400m_cmd_enter_powersave(struct i2400m *);
extern int i2400m_cmd_enter_powersave(struct i2400m *); int i2400m_cmd_exit_idle(struct i2400m *);
extern int i2400m_cmd_exit_idle(struct i2400m *); struct sk_buff *i2400m_get_device_info(struct i2400m *);
extern struct sk_buff *i2400m_get_device_info(struct i2400m *); int i2400m_firmware_check(struct i2400m *);
extern int i2400m_firmware_check(struct i2400m *); int i2400m_set_idle_timeout(struct i2400m *, unsigned);
extern int i2400m_set_idle_timeout(struct i2400m *, unsigned);
static inline static inline
struct usb_endpoint_descriptor *usb_get_epd(struct usb_interface *iface, int ep) struct usb_endpoint_descriptor *usb_get_epd(struct usb_interface *iface, int ep)
...@@ -921,10 +919,9 @@ struct usb_endpoint_descriptor *usb_get_epd(struct usb_interface *iface, int ep) ...@@ -921,10 +919,9 @@ struct usb_endpoint_descriptor *usb_get_epd(struct usb_interface *iface, int ep)
return &iface->cur_altsetting->endpoint[ep].desc; return &iface->cur_altsetting->endpoint[ep].desc;
} }
extern int i2400m_op_rfkill_sw_toggle(struct wimax_dev *, int i2400m_op_rfkill_sw_toggle(struct wimax_dev *, enum wimax_rf_state);
enum wimax_rf_state); void i2400m_report_tlv_rf_switches_status(struct i2400m *,
extern void i2400m_report_tlv_rf_switches_status( const struct i2400m_tlv_rf_switches_status *);
struct i2400m *, const struct i2400m_tlv_rf_switches_status *);
/* /*
* Helpers for firmware backwards compatibility * Helpers for firmware backwards compatibility
...@@ -968,8 +965,8 @@ void __i2400m_msleep(unsigned ms) ...@@ -968,8 +965,8 @@ void __i2400m_msleep(unsigned ms)
/* module initialization helpers */ /* module initialization helpers */
extern int i2400m_barker_db_init(const char *); int i2400m_barker_db_init(const char *);
extern void i2400m_barker_db_exit(void); void i2400m_barker_db_exit(void);
......
...@@ -37,9 +37,9 @@ enum ath10k_debug_mask { ...@@ -37,9 +37,9 @@ enum ath10k_debug_mask {
extern unsigned int ath10k_debug_mask; extern unsigned int ath10k_debug_mask;
extern __printf(1, 2) int ath10k_info(const char *fmt, ...); __printf(1, 2) int ath10k_info(const char *fmt, ...);
extern __printf(1, 2) int ath10k_err(const char *fmt, ...); __printf(1, 2) int ath10k_err(const char *fmt, ...);
extern __printf(1, 2) int ath10k_warn(const char *fmt, ...); __printf(1, 2) int ath10k_warn(const char *fmt, ...);
#ifdef CONFIG_ATH10K_DEBUGFS #ifdef CONFIG_ATH10K_DEBUGFS
int ath10k_debug_create(struct ath10k *ar); int ath10k_debug_create(struct ath10k *ar);
...@@ -68,7 +68,7 @@ static inline void ath10k_debug_read_target_stats(struct ath10k *ar, ...@@ -68,7 +68,7 @@ static inline void ath10k_debug_read_target_stats(struct ath10k *ar,
#endif /* CONFIG_ATH10K_DEBUGFS */ #endif /* CONFIG_ATH10K_DEBUGFS */
#ifdef CONFIG_ATH10K_DEBUG #ifdef CONFIG_ATH10K_DEBUG
extern __printf(2, 3) void ath10k_dbg(enum ath10k_debug_mask mask, __printf(2, 3) void ath10k_dbg(enum ath10k_debug_mask mask,
const char *fmt, ...); const char *fmt, ...);
void ath10k_dbg_dump(enum ath10k_debug_mask mask, void ath10k_dbg_dump(enum ath10k_debug_mask mask,
const char *msg, const char *prefix, const char *msg, const char *prefix,
......
...@@ -22,8 +22,7 @@ ...@@ -22,8 +22,7 @@
#define ATH6KL_MAX_IE 256 #define ATH6KL_MAX_IE 256
extern __printf(2, 3) __printf(2, 3) int ath6kl_printk(const char *level, const char *fmt, ...);
int ath6kl_printk(const char *level, const char *fmt, ...);
/* /*
* Reflects the version of binary interface exposed by ATH6KL target * Reflects the version of binary interface exposed by ATH6KL target
......
...@@ -50,11 +50,10 @@ enum ATH6K_DEBUG_MASK { ...@@ -50,11 +50,10 @@ enum ATH6K_DEBUG_MASK {
}; };
extern unsigned int debug_mask; extern unsigned int debug_mask;
extern __printf(2, 3) __printf(2, 3) int ath6kl_printk(const char *level, const char *fmt, ...);
int ath6kl_printk(const char *level, const char *fmt, ...); __printf(1, 2) int ath6kl_info(const char *fmt, ...);
extern __printf(1, 2) int ath6kl_info(const char *fmt, ...); __printf(1, 2) int ath6kl_err(const char *fmt, ...);
extern __printf(1, 2) int ath6kl_err(const char *fmt, ...); __printf(1, 2) int ath6kl_warn(const char *fmt, ...);
extern __printf(1, 2) int ath6kl_warn(const char *fmt, ...);
enum ath6kl_war { enum ath6kl_war {
ATH6KL_WAR_INVALID_RATE, ATH6KL_WAR_INVALID_RATE,
......
...@@ -952,7 +952,7 @@ void ath9k_ps_restore(struct ath_softc *sc); ...@@ -952,7 +952,7 @@ void ath9k_ps_restore(struct ath_softc *sc);
u8 ath_txchainmask_reduction(struct ath_softc *sc, u8 chainmask, u32 rate); u8 ath_txchainmask_reduction(struct ath_softc *sc, u8 chainmask, u32 rate);
void ath_start_rfkill_poll(struct ath_softc *sc); void ath_start_rfkill_poll(struct ath_softc *sc);
extern void ath9k_rfkill_poll_state(struct ieee80211_hw *hw); void ath9k_rfkill_poll_state(struct ieee80211_hw *hw);
void ath9k_calculate_iter_data(struct ieee80211_hw *hw, void ath9k_calculate_iter_data(struct ieee80211_hw *hw,
struct ieee80211_vif *vif, struct ieee80211_vif *vif,
struct ath9k_vif_iter_data *iter_data); struct ath9k_vif_iter_data *iter_data);
......
...@@ -632,29 +632,29 @@ struct brcmf_skb_reorder_data { ...@@ -632,29 +632,29 @@ struct brcmf_skb_reorder_data {
u8 *reorder; u8 *reorder;
}; };
extern int brcmf_netdev_wait_pend8021x(struct net_device *ndev); int brcmf_netdev_wait_pend8021x(struct net_device *ndev);
/* Return pointer to interface name */ /* Return pointer to interface name */
extern char *brcmf_ifname(struct brcmf_pub *drvr, int idx); char *brcmf_ifname(struct brcmf_pub *drvr, int idx);
/* Query dongle */ /* Query dongle */
extern int brcmf_proto_cdc_query_dcmd(struct brcmf_pub *drvr, int ifidx, int brcmf_proto_cdc_query_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd,
uint cmd, void *buf, uint len); void *buf, uint len);
extern int brcmf_proto_cdc_set_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd, int brcmf_proto_cdc_set_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd,
void *buf, uint len); void *buf, uint len);
/* Remove any protocol-specific data header. */ /* Remove any protocol-specific data header. */
extern int brcmf_proto_hdrpull(struct brcmf_pub *drvr, bool do_fws, u8 *ifidx, int brcmf_proto_hdrpull(struct brcmf_pub *drvr, bool do_fws, u8 *ifidx,
struct sk_buff *rxp); struct sk_buff *rxp);
extern int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked); int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked);
extern struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bssidx, struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bssidx, s32 ifidx,
s32 ifidx, char *name, u8 *mac_addr); char *name, u8 *mac_addr);
extern void brcmf_del_if(struct brcmf_pub *drvr, s32 bssidx); void brcmf_del_if(struct brcmf_pub *drvr, s32 bssidx);
void brcmf_txflowblock_if(struct brcmf_if *ifp, void brcmf_txflowblock_if(struct brcmf_if *ifp,
enum brcmf_netif_stop_reason reason, bool state); enum brcmf_netif_stop_reason reason, bool state);
extern u32 brcmf_get_chip_info(struct brcmf_if *ifp); u32 brcmf_get_chip_info(struct brcmf_if *ifp);
extern void brcmf_txfinalize(struct brcmf_pub *drvr, struct sk_buff *txp, void brcmf_txfinalize(struct brcmf_pub *drvr, struct sk_buff *txp,
bool success); bool success);
#endif /* _BRCMF_H_ */ #endif /* _BRCMF_H_ */
...@@ -132,34 +132,33 @@ struct pktq *brcmf_bus_gettxq(struct brcmf_bus *bus) ...@@ -132,34 +132,33 @@ struct pktq *brcmf_bus_gettxq(struct brcmf_bus *bus)
* interface functions from common layer * interface functions from common layer
*/ */
extern bool brcmf_c_prec_enq(struct device *dev, struct pktq *q, bool brcmf_c_prec_enq(struct device *dev, struct pktq *q, struct sk_buff *pkt,
struct sk_buff *pkt, int prec); int prec);
/* Receive frame for delivery to OS. Callee disposes of rxp. */ /* Receive frame for delivery to OS. Callee disposes of rxp. */
extern void brcmf_rx_frames(struct device *dev, struct sk_buff_head *rxlist); void brcmf_rx_frames(struct device *dev, struct sk_buff_head *rxlist);
/* Indication from bus module regarding presence/insertion of dongle. */ /* Indication from bus module regarding presence/insertion of dongle. */
extern int brcmf_attach(uint bus_hdrlen, struct device *dev); int brcmf_attach(uint bus_hdrlen, struct device *dev);
/* Indication from bus module regarding removal/absence of dongle */ /* Indication from bus module regarding removal/absence of dongle */
extern void brcmf_detach(struct device *dev); void brcmf_detach(struct device *dev);
/* Indication from bus module that dongle should be reset */ /* Indication from bus module that dongle should be reset */
extern void brcmf_dev_reset(struct device *dev); void brcmf_dev_reset(struct device *dev);
/* Indication from bus module to change flow-control state */ /* Indication from bus module to change flow-control state */
extern void brcmf_txflowblock(struct device *dev, bool state); void brcmf_txflowblock(struct device *dev, bool state);
/* Notify the bus has transferred the tx packet to firmware */ /* Notify the bus has transferred the tx packet to firmware */
extern void brcmf_txcomplete(struct device *dev, struct sk_buff *txp, void brcmf_txcomplete(struct device *dev, struct sk_buff *txp, bool success);
bool success);
extern int brcmf_bus_start(struct device *dev); int brcmf_bus_start(struct device *dev);
#ifdef CONFIG_BRCMFMAC_SDIO #ifdef CONFIG_BRCMFMAC_SDIO
extern void brcmf_sdio_exit(void); void brcmf_sdio_exit(void);
extern void brcmf_sdio_init(void); void brcmf_sdio_init(void);
#endif #endif
#ifdef CONFIG_BRCMFMAC_USB #ifdef CONFIG_BRCMFMAC_USB
extern void brcmf_usb_exit(void); void brcmf_usb_exit(void);
extern void brcmf_usb_init(void); void brcmf_usb_init(void);
#endif #endif
#endif /* _BRCMF_BUS_H_ */ #endif /* _BRCMF_BUS_H_ */
...@@ -22,21 +22,21 @@ ...@@ -22,21 +22,21 @@
*/ */
/* Linkage, sets prot link and updates hdrlen in pub */ /* Linkage, sets prot link and updates hdrlen in pub */
extern int brcmf_proto_attach(struct brcmf_pub *drvr); int brcmf_proto_attach(struct brcmf_pub *drvr);
/* Unlink, frees allocated protocol memory (including brcmf_proto) */ /* Unlink, frees allocated protocol memory (including brcmf_proto) */
extern void brcmf_proto_detach(struct brcmf_pub *drvr); void brcmf_proto_detach(struct brcmf_pub *drvr);
/* Stop protocol: sync w/dongle state. */ /* Stop protocol: sync w/dongle state. */
extern void brcmf_proto_stop(struct brcmf_pub *drvr); void brcmf_proto_stop(struct brcmf_pub *drvr);
/* Add any protocol-specific data header. /* Add any protocol-specific data header.
* Caller must reserve prot_hdrlen prepend space. * Caller must reserve prot_hdrlen prepend space.
*/ */
extern void brcmf_proto_hdrpush(struct brcmf_pub *, int ifidx, u8 offset, void brcmf_proto_hdrpush(struct brcmf_pub *, int ifidx, u8 offset,
struct sk_buff *txp); struct sk_buff *txp);
/* Sets dongle media info (drv_version, mac address). */ /* Sets dongle media info (drv_version, mac address). */
extern int brcmf_c_preinit_dcmds(struct brcmf_if *ifp); int brcmf_c_preinit_dcmds(struct brcmf_if *ifp);
#endif /* _BRCMF_PROTO_H_ */ #endif /* _BRCMF_PROTO_H_ */
...@@ -215,17 +215,16 @@ struct sdpcmd_regs { ...@@ -215,17 +215,16 @@ struct sdpcmd_regs {
u16 PAD[0x80]; u16 PAD[0x80];
}; };
extern int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev, int brcmf_sdio_chip_attach(struct brcmf_sdio_dev *sdiodev,
struct chip_info **ci_ptr, u32 regs); struct chip_info **ci_ptr, u32 regs);
extern void brcmf_sdio_chip_detach(struct chip_info **ci_ptr); void brcmf_sdio_chip_detach(struct chip_info **ci_ptr);
extern void brcmf_sdio_chip_drivestrengthinit(struct brcmf_sdio_dev *sdiodev, void brcmf_sdio_chip_drivestrengthinit(struct brcmf_sdio_dev *sdiodev,
struct chip_info *ci, struct chip_info *ci, u32 drivestrength);
u32 drivestrength); u8 brcmf_sdio_chip_getinfidx(struct chip_info *ci, u16 coreid);
extern u8 brcmf_sdio_chip_getinfidx(struct chip_info *ci, u16 coreid); void brcmf_sdio_chip_enter_download(struct brcmf_sdio_dev *sdiodev,
extern void brcmf_sdio_chip_enter_download(struct brcmf_sdio_dev *sdiodev, struct chip_info *ci);
struct chip_info *ci); bool brcmf_sdio_chip_exit_download(struct brcmf_sdio_dev *sdiodev,
extern bool brcmf_sdio_chip_exit_download(struct brcmf_sdio_dev *sdiodev, struct chip_info *ci, char *nvram_dat,
struct chip_info *ci, char *nvram_dat, uint nvram_sz);
uint nvram_sz);
#endif /* _BRCMFMAC_SDIO_CHIP_H_ */ #endif /* _BRCMFMAC_SDIO_CHIP_H_ */
...@@ -181,18 +181,18 @@ struct brcmf_sdio_dev { ...@@ -181,18 +181,18 @@ struct brcmf_sdio_dev {
}; };
/* Register/deregister interrupt handler. */ /* Register/deregister interrupt handler. */
extern int brcmf_sdio_intr_register(struct brcmf_sdio_dev *sdiodev); int brcmf_sdio_intr_register(struct brcmf_sdio_dev *sdiodev);
extern int brcmf_sdio_intr_unregister(struct brcmf_sdio_dev *sdiodev); int brcmf_sdio_intr_unregister(struct brcmf_sdio_dev *sdiodev);
/* sdio device register access interface */ /* sdio device register access interface */
extern u8 brcmf_sdio_regrb(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret); u8 brcmf_sdio_regrb(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret);
extern u32 brcmf_sdio_regrl(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret); u32 brcmf_sdio_regrl(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret);
extern void brcmf_sdio_regwb(struct brcmf_sdio_dev *sdiodev, u32 addr, void brcmf_sdio_regwb(struct brcmf_sdio_dev *sdiodev, u32 addr, u8 data,
u8 data, int *ret); int *ret);
extern void brcmf_sdio_regwl(struct brcmf_sdio_dev *sdiodev, u32 addr, void brcmf_sdio_regwl(struct brcmf_sdio_dev *sdiodev, u32 addr, u32 data,
u32 data, int *ret); int *ret);
extern int brcmf_sdio_regrw_helper(struct brcmf_sdio_dev *sdiodev, u32 addr, int brcmf_sdio_regrw_helper(struct brcmf_sdio_dev *sdiodev, u32 addr,
void *data, bool write); void *data, bool write);
/* Buffer transfer to/from device (client) core via cmd53. /* Buffer transfer to/from device (client) core via cmd53.
* fn: function number * fn: function number
...@@ -206,22 +206,17 @@ extern int brcmf_sdio_regrw_helper(struct brcmf_sdio_dev *sdiodev, u32 addr, ...@@ -206,22 +206,17 @@ extern int brcmf_sdio_regrw_helper(struct brcmf_sdio_dev *sdiodev, u32 addr,
* Returns 0 or error code. * Returns 0 or error code.
* NOTE: Async operation is not currently supported. * NOTE: Async operation is not currently supported.
*/ */
extern int int brcmf_sdcard_send_pkt(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
brcmf_sdcard_send_pkt(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn, uint flags, struct sk_buff_head *pktq);
uint flags, struct sk_buff_head *pktq); int brcmf_sdcard_send_buf(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
extern int uint flags, u8 *buf, uint nbytes);
brcmf_sdcard_send_buf(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
uint flags, u8 *buf, uint nbytes); int brcmf_sdcard_recv_pkt(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
uint flags, struct sk_buff *pkt);
extern int int brcmf_sdcard_recv_buf(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
brcmf_sdcard_recv_pkt(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn, uint flags, u8 *buf, uint nbytes);
uint flags, struct sk_buff *pkt); int brcmf_sdcard_recv_chain(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
extern int uint flags, struct sk_buff_head *pktq);
brcmf_sdcard_recv_buf(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
uint flags, u8 *buf, uint nbytes);
extern int
brcmf_sdcard_recv_chain(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
uint flags, struct sk_buff_head *pktq);
/* Flags bits */ /* Flags bits */
...@@ -237,46 +232,43 @@ brcmf_sdcard_recv_chain(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn, ...@@ -237,46 +232,43 @@ brcmf_sdcard_recv_chain(struct brcmf_sdio_dev *sdiodev, u32 addr, uint fn,
* nbytes: number of bytes to transfer to/from buf * nbytes: number of bytes to transfer to/from buf
* Returns 0 or error code. * Returns 0 or error code.
*/ */
extern int brcmf_sdcard_rwdata(struct brcmf_sdio_dev *sdiodev, uint rw, int brcmf_sdcard_rwdata(struct brcmf_sdio_dev *sdiodev, uint rw, u32 addr,
u32 addr, u8 *buf, uint nbytes); u8 *buf, uint nbytes);
extern int brcmf_sdio_ramrw(struct brcmf_sdio_dev *sdiodev, bool write, int brcmf_sdio_ramrw(struct brcmf_sdio_dev *sdiodev, bool write, u32 address,
u32 address, u8 *data, uint size); u8 *data, uint size);
/* Issue an abort to the specified function */ /* Issue an abort to the specified function */
extern int brcmf_sdcard_abort(struct brcmf_sdio_dev *sdiodev, uint fn); int brcmf_sdcard_abort(struct brcmf_sdio_dev *sdiodev, uint fn);
/* platform specific/high level functions */ /* platform specific/high level functions */
extern int brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev); int brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev);
extern int brcmf_sdio_remove(struct brcmf_sdio_dev *sdiodev); int brcmf_sdio_remove(struct brcmf_sdio_dev *sdiodev);
/* attach, return handler on success, NULL if failed. /* attach, return handler on success, NULL if failed.
* The handler shall be provided by all subsequent calls. No local cache * The handler shall be provided by all subsequent calls. No local cache
* cfghdl points to the starting address of pci device mapped memory * cfghdl points to the starting address of pci device mapped memory
*/ */
extern int brcmf_sdioh_attach(struct brcmf_sdio_dev *sdiodev); int brcmf_sdioh_attach(struct brcmf_sdio_dev *sdiodev);
extern void brcmf_sdioh_detach(struct brcmf_sdio_dev *sdiodev); void brcmf_sdioh_detach(struct brcmf_sdio_dev *sdiodev);
/* read or write one byte using cmd52 */ /* read or write one byte using cmd52 */
extern int brcmf_sdioh_request_byte(struct brcmf_sdio_dev *sdiodev, uint rw, int brcmf_sdioh_request_byte(struct brcmf_sdio_dev *sdiodev, uint rw, uint fnc,
uint fnc, uint addr, u8 *byte); uint addr, u8 *byte);
/* read or write 2/4 bytes using cmd53 */ /* read or write 2/4 bytes using cmd53 */
extern int int brcmf_sdioh_request_word(struct brcmf_sdio_dev *sdiodev, uint rw, uint fnc,
brcmf_sdioh_request_word(struct brcmf_sdio_dev *sdiodev, uint addr, u32 *word, uint nbyte);
uint rw, uint fnc, uint addr,
u32 *word, uint nbyte);
/* Watchdog timer interface for pm ops */ /* Watchdog timer interface for pm ops */
extern void brcmf_sdio_wdtmr_enable(struct brcmf_sdio_dev *sdiodev, void brcmf_sdio_wdtmr_enable(struct brcmf_sdio_dev *sdiodev, bool enable);
bool enable);
extern void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev); void *brcmf_sdbrcm_probe(u32 regsva, struct brcmf_sdio_dev *sdiodev);
extern void brcmf_sdbrcm_disconnect(void *ptr); void brcmf_sdbrcm_disconnect(void *ptr);
extern void brcmf_sdbrcm_isr(void *arg); void brcmf_sdbrcm_isr(void *arg);
extern void brcmf_sdbrcm_wd_timer(struct brcmf_sdio *bus, uint wdtick); void brcmf_sdbrcm_wd_timer(struct brcmf_sdio *bus, uint wdtick);
extern void brcmf_pm_resume_wait(struct brcmf_sdio_dev *sdiodev, void brcmf_pm_resume_wait(struct brcmf_sdio_dev *sdiodev,
wait_queue_head_t *wq); wait_queue_head_t *wq);
extern bool brcmf_pm_resume_error(struct brcmf_sdio_dev *sdiodev); bool brcmf_pm_resume_error(struct brcmf_sdio_dev *sdiodev);
#endif /* _BRCM_SDH_H_ */ #endif /* _BRCM_SDH_H_ */
...@@ -172,19 +172,19 @@ struct si_info { ...@@ -172,19 +172,19 @@ struct si_info {
/* AMBA Interconnect exported externs */ /* AMBA Interconnect exported externs */
extern u32 ai_core_cflags(struct bcma_device *core, u32 mask, u32 val); u32 ai_core_cflags(struct bcma_device *core, u32 mask, u32 val);
/* === exported functions === */ /* === exported functions === */
extern struct si_pub *ai_attach(struct bcma_bus *pbus); struct si_pub *ai_attach(struct bcma_bus *pbus);
extern void ai_detach(struct si_pub *sih); void ai_detach(struct si_pub *sih);
extern uint ai_cc_reg(struct si_pub *sih, uint regoff, u32 mask, u32 val); uint ai_cc_reg(struct si_pub *sih, uint regoff, u32 mask, u32 val);
extern void ai_clkctl_init(struct si_pub *sih); void ai_clkctl_init(struct si_pub *sih);
extern u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih); u16 ai_clkctl_fast_pwrup_delay(struct si_pub *sih);
extern bool ai_clkctl_cc(struct si_pub *sih, enum bcma_clkmode mode); bool ai_clkctl_cc(struct si_pub *sih, enum bcma_clkmode mode);
extern bool ai_deviceremoved(struct si_pub *sih); bool ai_deviceremoved(struct si_pub *sih);
/* Enable Ex-PA for 4313 */ /* Enable Ex-PA for 4313 */
extern void ai_epa_4313war(struct si_pub *sih); void ai_epa_4313war(struct si_pub *sih);
static inline u32 ai_get_cccaps(struct si_pub *sih) static inline u32 ai_get_cccaps(struct si_pub *sih)
{ {
......
...@@ -37,17 +37,17 @@ struct brcms_ampdu_session { ...@@ -37,17 +37,17 @@ struct brcms_ampdu_session {
u16 dma_len; u16 dma_len;
}; };
extern void brcms_c_ampdu_reset_session(struct brcms_ampdu_session *session, void brcms_c_ampdu_reset_session(struct brcms_ampdu_session *session,
struct brcms_c_info *wlc); struct brcms_c_info *wlc);
extern int brcms_c_ampdu_add_frame(struct brcms_ampdu_session *session, int brcms_c_ampdu_add_frame(struct brcms_ampdu_session *session,
struct sk_buff *p); struct sk_buff *p);
extern void brcms_c_ampdu_finalize(struct brcms_ampdu_session *session); void brcms_c_ampdu_finalize(struct brcms_ampdu_session *session);
extern struct ampdu_info *brcms_c_ampdu_attach(struct brcms_c_info *wlc); struct ampdu_info *brcms_c_ampdu_attach(struct brcms_c_info *wlc);
extern void brcms_c_ampdu_detach(struct ampdu_info *ampdu); void brcms_c_ampdu_detach(struct ampdu_info *ampdu);
extern void brcms_c_ampdu_dotxstatus(struct ampdu_info *ampdu, struct scb *scb, void brcms_c_ampdu_dotxstatus(struct ampdu_info *ampdu, struct scb *scb,
struct sk_buff *p, struct tx_status *txs); struct sk_buff *p, struct tx_status *txs);
extern void brcms_c_ampdu_macaddr_upd(struct brcms_c_info *wlc); void brcms_c_ampdu_macaddr_upd(struct brcms_c_info *wlc);
extern void brcms_c_ampdu_shm_upd(struct ampdu_info *ampdu); void brcms_c_ampdu_shm_upd(struct ampdu_info *ampdu);
#endif /* _BRCM_AMPDU_H_ */ #endif /* _BRCM_AMPDU_H_ */
...@@ -17,13 +17,11 @@ ...@@ -17,13 +17,11 @@
#ifndef _BRCM_ANTSEL_H_ #ifndef _BRCM_ANTSEL_H_
#define _BRCM_ANTSEL_H_ #define _BRCM_ANTSEL_H_
extern struct antsel_info *brcms_c_antsel_attach(struct brcms_c_info *wlc); struct antsel_info *brcms_c_antsel_attach(struct brcms_c_info *wlc);
extern void brcms_c_antsel_detach(struct antsel_info *asi); void brcms_c_antsel_detach(struct antsel_info *asi);
extern void brcms_c_antsel_init(struct antsel_info *asi); void brcms_c_antsel_init(struct antsel_info *asi);
extern void brcms_c_antsel_antcfg_get(struct antsel_info *asi, bool usedef, void brcms_c_antsel_antcfg_get(struct antsel_info *asi, bool usedef, bool sel,
bool sel, u8 id, u8 fbid, u8 *antcfg, u8 *fbantcfg);
u8 id, u8 fbid, u8 *antcfg, u8 brcms_c_antsel_antsel2id(struct antsel_info *asi, u16 antsel);
u8 *fbantcfg);
extern u8 brcms_c_antsel_antsel2id(struct antsel_info *asi, u16 antsel);
#endif /* _BRCM_ANTSEL_H_ */ #endif /* _BRCM_ANTSEL_H_ */
...@@ -32,20 +32,16 @@ ...@@ -32,20 +32,16 @@
#define BRCMS_DFS_EU (BRCMS_DFS_TPC | BRCMS_RADAR_TYPE_EU) /* Flag for DFS EU */ #define BRCMS_DFS_EU (BRCMS_DFS_TPC | BRCMS_RADAR_TYPE_EU) /* Flag for DFS EU */
extern struct brcms_cm_info * struct brcms_cm_info *brcms_c_channel_mgr_attach(struct brcms_c_info *wlc);
brcms_c_channel_mgr_attach(struct brcms_c_info *wlc);
extern void brcms_c_channel_mgr_detach(struct brcms_cm_info *wlc_cm); void brcms_c_channel_mgr_detach(struct brcms_cm_info *wlc_cm);
extern bool brcms_c_valid_chanspec_db(struct brcms_cm_info *wlc_cm, bool brcms_c_valid_chanspec_db(struct brcms_cm_info *wlc_cm, u16 chspec);
u16 chspec);
extern void brcms_c_channel_reg_limits(struct brcms_cm_info *wlc_cm, void brcms_c_channel_reg_limits(struct brcms_cm_info *wlc_cm, u16 chanspec,
u16 chanspec, struct txpwr_limits *txpwr);
struct txpwr_limits *txpwr); void brcms_c_channel_set_chanspec(struct brcms_cm_info *wlc_cm, u16 chanspec,
extern void brcms_c_channel_set_chanspec(struct brcms_cm_info *wlc_cm, u8 local_constraint_qdbm);
u16 chanspec, void brcms_c_regd_init(struct brcms_c_info *wlc);
u8 local_constraint_qdbm);
extern void brcms_c_regd_init(struct brcms_c_info *wlc);
#endif /* _WLC_CHANNEL_H */ #endif /* _WLC_CHANNEL_H */
...@@ -88,26 +88,26 @@ struct brcms_info { ...@@ -88,26 +88,26 @@ struct brcms_info {
}; };
/* misc callbacks */ /* misc callbacks */
extern void brcms_init(struct brcms_info *wl); void brcms_init(struct brcms_info *wl);
extern uint brcms_reset(struct brcms_info *wl); uint brcms_reset(struct brcms_info *wl);
extern void brcms_intrson(struct brcms_info *wl); void brcms_intrson(struct brcms_info *wl);
extern u32 brcms_intrsoff(struct brcms_info *wl); u32 brcms_intrsoff(struct brcms_info *wl);
extern void brcms_intrsrestore(struct brcms_info *wl, u32 macintmask); void brcms_intrsrestore(struct brcms_info *wl, u32 macintmask);
extern int brcms_up(struct brcms_info *wl); int brcms_up(struct brcms_info *wl);
extern void brcms_down(struct brcms_info *wl); void brcms_down(struct brcms_info *wl);
extern void brcms_txflowcontrol(struct brcms_info *wl, struct brcms_if *wlif, void brcms_txflowcontrol(struct brcms_info *wl, struct brcms_if *wlif,
bool state, int prio); bool state, int prio);
extern bool brcms_rfkill_set_hw_state(struct brcms_info *wl); bool brcms_rfkill_set_hw_state(struct brcms_info *wl);
/* timer functions */ /* timer functions */
extern struct brcms_timer *brcms_init_timer(struct brcms_info *wl, struct brcms_timer *brcms_init_timer(struct brcms_info *wl,
void (*fn) (void *arg), void *arg, void (*fn) (void *arg), void *arg,
const char *name); const char *name);
extern void brcms_free_timer(struct brcms_timer *timer); void brcms_free_timer(struct brcms_timer *timer);
extern void brcms_add_timer(struct brcms_timer *timer, uint ms, int periodic); void brcms_add_timer(struct brcms_timer *timer, uint ms, int periodic);
extern bool brcms_del_timer(struct brcms_timer *timer); bool brcms_del_timer(struct brcms_timer *timer);
extern void brcms_dpc(unsigned long data); void brcms_dpc(unsigned long data);
extern void brcms_timer(struct brcms_timer *t); void brcms_timer(struct brcms_timer *t);
extern void brcms_fatal_error(struct brcms_info *wl); void brcms_fatal_error(struct brcms_info *wl);
#endif /* _BRCM_MAC80211_IF_H_ */ #endif /* _BRCM_MAC80211_IF_H_ */
...@@ -616,66 +616,54 @@ struct brcms_bss_cfg { ...@@ -616,66 +616,54 @@ struct brcms_bss_cfg {
struct brcms_bss_info *current_bss; struct brcms_bss_info *current_bss;
}; };
extern int brcms_c_txfifo(struct brcms_c_info *wlc, uint fifo, int brcms_c_txfifo(struct brcms_c_info *wlc, uint fifo, struct sk_buff *p);
struct sk_buff *p); int brcms_b_xmtfifo_sz_get(struct brcms_hardware *wlc_hw, uint fifo,
extern int brcms_b_xmtfifo_sz_get(struct brcms_hardware *wlc_hw, uint fifo, uint *blocks);
uint *blocks);
int brcms_c_set_gmode(struct brcms_c_info *wlc, u8 gmode, bool config);
extern int brcms_c_set_gmode(struct brcms_c_info *wlc, u8 gmode, bool config); void brcms_c_mac_promisc(struct brcms_c_info *wlc, uint filter_flags);
extern void brcms_c_mac_promisc(struct brcms_c_info *wlc, uint filter_flags); u16 brcms_c_calc_lsig_len(struct brcms_c_info *wlc, u32 ratespec, uint mac_len);
extern u16 brcms_c_calc_lsig_len(struct brcms_c_info *wlc, u32 ratespec, u32 brcms_c_rspec_to_rts_rspec(struct brcms_c_info *wlc, u32 rspec,
uint mac_len); bool use_rspec, u16 mimo_ctlchbw);
extern u32 brcms_c_rspec_to_rts_rspec(struct brcms_c_info *wlc, u16 brcms_c_compute_rtscts_dur(struct brcms_c_info *wlc, bool cts_only,
u32 rspec, u32 rts_rate, u32 frame_rate,
bool use_rspec, u16 mimo_ctlchbw); u8 rts_preamble_type, u8 frame_preamble_type,
extern u16 brcms_c_compute_rtscts_dur(struct brcms_c_info *wlc, bool cts_only, uint frame_len, bool ba);
u32 rts_rate, void brcms_c_inval_dma_pkts(struct brcms_hardware *hw,
u32 frame_rate, struct ieee80211_sta *sta, void (*dma_callback_fn));
u8 rts_preamble_type, void brcms_c_update_probe_resp(struct brcms_c_info *wlc, bool suspend);
u8 frame_preamble_type, uint frame_len, int brcms_c_set_nmode(struct brcms_c_info *wlc);
bool ba); void brcms_c_beacon_phytxctl_txant_upd(struct brcms_c_info *wlc, u32 bcn_rate);
extern void brcms_c_inval_dma_pkts(struct brcms_hardware *hw, void brcms_b_antsel_type_set(struct brcms_hardware *wlc_hw, u8 antsel_type);
struct ieee80211_sta *sta, void brcms_b_set_chanspec(struct brcms_hardware *wlc_hw, u16 chanspec,
void (*dma_callback_fn)); bool mute, struct txpwr_limits *txpwr);
extern void brcms_c_update_probe_resp(struct brcms_c_info *wlc, bool suspend); void brcms_b_write_shm(struct brcms_hardware *wlc_hw, uint offset, u16 v);
extern int brcms_c_set_nmode(struct brcms_c_info *wlc); u16 brcms_b_read_shm(struct brcms_hardware *wlc_hw, uint offset);
extern void brcms_c_beacon_phytxctl_txant_upd(struct brcms_c_info *wlc, void brcms_b_mhf(struct brcms_hardware *wlc_hw, u8 idx, u16 mask, u16 val,
u32 bcn_rate); int bands);
extern void brcms_b_antsel_type_set(struct brcms_hardware *wlc_hw, void brcms_b_corereset(struct brcms_hardware *wlc_hw, u32 flags);
u8 antsel_type); void brcms_b_mctrl(struct brcms_hardware *wlc_hw, u32 mask, u32 val);
extern void brcms_b_set_chanspec(struct brcms_hardware *wlc_hw, void brcms_b_phy_reset(struct brcms_hardware *wlc_hw);
u16 chanspec, void brcms_b_bw_set(struct brcms_hardware *wlc_hw, u16 bw);
bool mute, struct txpwr_limits *txpwr); void brcms_b_core_phypll_reset(struct brcms_hardware *wlc_hw);
extern void brcms_b_write_shm(struct brcms_hardware *wlc_hw, uint offset, void brcms_c_ucode_wake_override_set(struct brcms_hardware *wlc_hw,
u16 v); u32 override_bit);
extern u16 brcms_b_read_shm(struct brcms_hardware *wlc_hw, uint offset); void brcms_c_ucode_wake_override_clear(struct brcms_hardware *wlc_hw,
extern void brcms_b_mhf(struct brcms_hardware *wlc_hw, u8 idx, u16 mask, u32 override_bit);
u16 val, int bands); void brcms_b_write_template_ram(struct brcms_hardware *wlc_hw, int offset,
extern void brcms_b_corereset(struct brcms_hardware *wlc_hw, u32 flags); int len, void *buf);
extern void brcms_b_mctrl(struct brcms_hardware *wlc_hw, u32 mask, u32 val); u16 brcms_b_rate_shm_offset(struct brcms_hardware *wlc_hw, u8 rate);
extern void brcms_b_phy_reset(struct brcms_hardware *wlc_hw); void brcms_b_copyto_objmem(struct brcms_hardware *wlc_hw, uint offset,
extern void brcms_b_bw_set(struct brcms_hardware *wlc_hw, u16 bw); const void *buf, int len, u32 sel);
extern void brcms_b_core_phypll_reset(struct brcms_hardware *wlc_hw); void brcms_b_copyfrom_objmem(struct brcms_hardware *wlc_hw, uint offset,
extern void brcms_c_ucode_wake_override_set(struct brcms_hardware *wlc_hw, void *buf, int len, u32 sel);
u32 override_bit); void brcms_b_switch_macfreq(struct brcms_hardware *wlc_hw, u8 spurmode);
extern void brcms_c_ucode_wake_override_clear(struct brcms_hardware *wlc_hw, u16 brcms_b_get_txant(struct brcms_hardware *wlc_hw);
u32 override_bit); void brcms_b_phyclk_fgc(struct brcms_hardware *wlc_hw, bool clk);
extern void brcms_b_write_template_ram(struct brcms_hardware *wlc_hw, void brcms_b_macphyclk_set(struct brcms_hardware *wlc_hw, bool clk);
int offset, int len, void *buf); void brcms_b_core_phypll_ctl(struct brcms_hardware *wlc_hw, bool on);
extern u16 brcms_b_rate_shm_offset(struct brcms_hardware *wlc_hw, u8 rate); void brcms_b_txant_set(struct brcms_hardware *wlc_hw, u16 phytxant);
extern void brcms_b_copyto_objmem(struct brcms_hardware *wlc_hw, void brcms_b_band_stf_ss_set(struct brcms_hardware *wlc_hw, u8 stf_mode);
uint offset, const void *buf, int len, void brcms_c_init_scb(struct scb *scb);
u32 sel);
extern void brcms_b_copyfrom_objmem(struct brcms_hardware *wlc_hw, uint offset,
void *buf, int len, u32 sel);
extern void brcms_b_switch_macfreq(struct brcms_hardware *wlc_hw, u8 spurmode);
extern u16 brcms_b_get_txant(struct brcms_hardware *wlc_hw);
extern void brcms_b_phyclk_fgc(struct brcms_hardware *wlc_hw, bool clk);
extern void brcms_b_macphyclk_set(struct brcms_hardware *wlc_hw, bool clk);
extern void brcms_b_core_phypll_ctl(struct brcms_hardware *wlc_hw, bool on);
extern void brcms_b_txant_set(struct brcms_hardware *wlc_hw, u16 phytxant);
extern void brcms_b_band_stf_ss_set(struct brcms_hardware *wlc_hw,
u8 stf_mode);
extern void brcms_c_init_scb(struct scb *scb);
#endif /* _BRCM_MAIN_H_ */ #endif /* _BRCM_MAIN_H_ */
...@@ -179,121 +179,106 @@ struct shared_phy_params { ...@@ -179,121 +179,106 @@ struct shared_phy_params {
}; };
extern struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp); struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp);
extern struct brcms_phy_pub *wlc_phy_attach(struct shared_phy *sh, struct brcms_phy_pub *wlc_phy_attach(struct shared_phy *sh,
struct bcma_device *d11core, struct bcma_device *d11core, int bandtype,
int bandtype, struct wiphy *wiphy); struct wiphy *wiphy);
extern void wlc_phy_detach(struct brcms_phy_pub *ppi); void wlc_phy_detach(struct brcms_phy_pub *ppi);
extern bool wlc_phy_get_phyversion(struct brcms_phy_pub *pih, u16 *phytype, bool wlc_phy_get_phyversion(struct brcms_phy_pub *pih, u16 *phytype,
u16 *phyrev, u16 *radioid, u16 *phyrev, u16 *radioid, u16 *radiover);
u16 *radiover); bool wlc_phy_get_encore(struct brcms_phy_pub *pih);
extern bool wlc_phy_get_encore(struct brcms_phy_pub *pih); u32 wlc_phy_get_coreflags(struct brcms_phy_pub *pih);
extern u32 wlc_phy_get_coreflags(struct brcms_phy_pub *pih);
void wlc_phy_hw_clk_state_upd(struct brcms_phy_pub *ppi, bool newstate);
extern void wlc_phy_hw_clk_state_upd(struct brcms_phy_pub *ppi, bool newstate); void wlc_phy_hw_state_upd(struct brcms_phy_pub *ppi, bool newstate);
extern void wlc_phy_hw_state_upd(struct brcms_phy_pub *ppi, bool newstate); void wlc_phy_init(struct brcms_phy_pub *ppi, u16 chanspec);
extern void wlc_phy_init(struct brcms_phy_pub *ppi, u16 chanspec); void wlc_phy_watchdog(struct brcms_phy_pub *ppi);
extern void wlc_phy_watchdog(struct brcms_phy_pub *ppi); int wlc_phy_down(struct brcms_phy_pub *ppi);
extern int wlc_phy_down(struct brcms_phy_pub *ppi); u32 wlc_phy_clk_bwbits(struct brcms_phy_pub *pih);
extern u32 wlc_phy_clk_bwbits(struct brcms_phy_pub *pih); void wlc_phy_cal_init(struct brcms_phy_pub *ppi);
extern void wlc_phy_cal_init(struct brcms_phy_pub *ppi); void wlc_phy_antsel_init(struct brcms_phy_pub *ppi, bool lut_init);
extern void wlc_phy_antsel_init(struct brcms_phy_pub *ppi, bool lut_init);
void wlc_phy_chanspec_set(struct brcms_phy_pub *ppi, u16 chanspec);
extern void wlc_phy_chanspec_set(struct brcms_phy_pub *ppi, u16 wlc_phy_chanspec_get(struct brcms_phy_pub *ppi);
u16 chanspec); void wlc_phy_chanspec_radio_set(struct brcms_phy_pub *ppi, u16 newch);
extern u16 wlc_phy_chanspec_get(struct brcms_phy_pub *ppi); u16 wlc_phy_bw_state_get(struct brcms_phy_pub *ppi);
extern void wlc_phy_chanspec_radio_set(struct brcms_phy_pub *ppi, void wlc_phy_bw_state_set(struct brcms_phy_pub *ppi, u16 bw);
u16 newch);
extern u16 wlc_phy_bw_state_get(struct brcms_phy_pub *ppi); int wlc_phy_rssi_compute(struct brcms_phy_pub *pih, struct d11rxhdr *rxh);
extern void wlc_phy_bw_state_set(struct brcms_phy_pub *ppi, u16 bw); void wlc_phy_por_inform(struct brcms_phy_pub *ppi);
void wlc_phy_noise_sample_intr(struct brcms_phy_pub *ppi);
extern int wlc_phy_rssi_compute(struct brcms_phy_pub *pih, bool wlc_phy_bist_check_phy(struct brcms_phy_pub *ppi);
struct d11rxhdr *rxh);
extern void wlc_phy_por_inform(struct brcms_phy_pub *ppi); void wlc_phy_set_deaf(struct brcms_phy_pub *ppi, bool user_flag);
extern void wlc_phy_noise_sample_intr(struct brcms_phy_pub *ppi);
extern bool wlc_phy_bist_check_phy(struct brcms_phy_pub *ppi); void wlc_phy_switch_radio(struct brcms_phy_pub *ppi, bool on);
void wlc_phy_anacore(struct brcms_phy_pub *ppi, bool on);
extern void wlc_phy_set_deaf(struct brcms_phy_pub *ppi, bool user_flag);
extern void wlc_phy_switch_radio(struct brcms_phy_pub *ppi, bool on); void wlc_phy_BSSinit(struct brcms_phy_pub *ppi, bool bonlyap, int rssi);
extern void wlc_phy_anacore(struct brcms_phy_pub *ppi, bool on);
void wlc_phy_chanspec_ch14_widefilter_set(struct brcms_phy_pub *ppi,
bool wide_filter);
extern void wlc_phy_BSSinit(struct brcms_phy_pub *ppi, bool bonlyap, int rssi); void wlc_phy_chanspec_band_validch(struct brcms_phy_pub *ppi, uint band,
struct brcms_chanvec *channels);
extern void wlc_phy_chanspec_ch14_widefilter_set(struct brcms_phy_pub *ppi, u16 wlc_phy_chanspec_band_firstch(struct brcms_phy_pub *ppi, uint band);
bool wide_filter);
extern void wlc_phy_chanspec_band_validch(struct brcms_phy_pub *ppi, uint band, void wlc_phy_txpower_sromlimit(struct brcms_phy_pub *ppi, uint chan, u8 *_min_,
struct brcms_chanvec *channels); u8 *_max_, int rate);
extern u16 wlc_phy_chanspec_band_firstch(struct brcms_phy_pub *ppi, void wlc_phy_txpower_sromlimit_max_get(struct brcms_phy_pub *ppi, uint chan,
uint band); u8 *_max_, u8 *_min_);
void wlc_phy_txpower_boardlimit_band(struct brcms_phy_pub *ppi, uint band,
extern void wlc_phy_txpower_sromlimit(struct brcms_phy_pub *ppi, uint chan, s32 *, s32 *, u32 *);
u8 *_min_, u8 *_max_, int rate); void wlc_phy_txpower_limit_set(struct brcms_phy_pub *ppi, struct txpwr_limits *,
extern void wlc_phy_txpower_sromlimit_max_get(struct brcms_phy_pub *ppi, u16 chanspec);
uint chan, u8 *_max_, u8 *_min_); int wlc_phy_txpower_get(struct brcms_phy_pub *ppi, uint *qdbm, bool *override);
extern void wlc_phy_txpower_boardlimit_band(struct brcms_phy_pub *ppi, int wlc_phy_txpower_set(struct brcms_phy_pub *ppi, uint qdbm, bool override);
uint band, s32 *, s32 *, u32 *); void wlc_phy_txpower_target_set(struct brcms_phy_pub *ppi,
extern void wlc_phy_txpower_limit_set(struct brcms_phy_pub *ppi, struct txpwr_limits *);
struct txpwr_limits *, bool wlc_phy_txpower_hw_ctrl_get(struct brcms_phy_pub *ppi);
u16 chanspec); void wlc_phy_txpower_hw_ctrl_set(struct brcms_phy_pub *ppi, bool hwpwrctrl);
extern int wlc_phy_txpower_get(struct brcms_phy_pub *ppi, uint *qdbm, u8 wlc_phy_txpower_get_target_min(struct brcms_phy_pub *ppi);
bool *override); u8 wlc_phy_txpower_get_target_max(struct brcms_phy_pub *ppi);
extern int wlc_phy_txpower_set(struct brcms_phy_pub *ppi, uint qdbm, bool wlc_phy_txpower_ipa_ison(struct brcms_phy_pub *pih);
bool override);
extern void wlc_phy_txpower_target_set(struct brcms_phy_pub *ppi, void wlc_phy_stf_chain_init(struct brcms_phy_pub *pih, u8 txchain, u8 rxchain);
struct txpwr_limits *); void wlc_phy_stf_chain_set(struct brcms_phy_pub *pih, u8 txchain, u8 rxchain);
extern bool wlc_phy_txpower_hw_ctrl_get(struct brcms_phy_pub *ppi); void wlc_phy_stf_chain_get(struct brcms_phy_pub *pih, u8 *txchain, u8 *rxchain);
extern void wlc_phy_txpower_hw_ctrl_set(struct brcms_phy_pub *ppi, u8 wlc_phy_stf_chain_active_get(struct brcms_phy_pub *pih);
bool hwpwrctrl); s8 wlc_phy_stf_ssmode_get(struct brcms_phy_pub *pih, u16 chanspec);
extern u8 wlc_phy_txpower_get_target_min(struct brcms_phy_pub *ppi); void wlc_phy_ldpc_override_set(struct brcms_phy_pub *ppi, bool val);
extern u8 wlc_phy_txpower_get_target_max(struct brcms_phy_pub *ppi);
extern bool wlc_phy_txpower_ipa_ison(struct brcms_phy_pub *pih); void wlc_phy_cal_perical(struct brcms_phy_pub *ppi, u8 reason);
void wlc_phy_noise_sample_request_external(struct brcms_phy_pub *ppi);
extern void wlc_phy_stf_chain_init(struct brcms_phy_pub *pih, u8 txchain, void wlc_phy_edcrs_lock(struct brcms_phy_pub *pih, bool lock);
u8 rxchain); void wlc_phy_cal_papd_recal(struct brcms_phy_pub *ppi);
extern void wlc_phy_stf_chain_set(struct brcms_phy_pub *pih, u8 txchain,
u8 rxchain); void wlc_phy_ant_rxdiv_set(struct brcms_phy_pub *ppi, u8 val);
extern void wlc_phy_stf_chain_get(struct brcms_phy_pub *pih, u8 *txchain, void wlc_phy_clear_tssi(struct brcms_phy_pub *ppi);
u8 *rxchain); void wlc_phy_hold_upd(struct brcms_phy_pub *ppi, u32 id, bool val);
extern u8 wlc_phy_stf_chain_active_get(struct brcms_phy_pub *pih); void wlc_phy_mute_upd(struct brcms_phy_pub *ppi, bool val, u32 flags);
extern s8 wlc_phy_stf_ssmode_get(struct brcms_phy_pub *pih,
u16 chanspec); void wlc_phy_antsel_type_set(struct brcms_phy_pub *ppi, u8 antsel_type);
extern void wlc_phy_ldpc_override_set(struct brcms_phy_pub *ppi, bool val);
void wlc_phy_txpower_get_current(struct brcms_phy_pub *ppi,
extern void wlc_phy_cal_perical(struct brcms_phy_pub *ppi, u8 reason); struct tx_power *power, uint channel);
extern void wlc_phy_noise_sample_request_external(struct brcms_phy_pub *ppi);
extern void wlc_phy_edcrs_lock(struct brcms_phy_pub *pih, bool lock); void wlc_phy_initcal_enable(struct brcms_phy_pub *pih, bool initcal);
extern void wlc_phy_cal_papd_recal(struct brcms_phy_pub *ppi); bool wlc_phy_test_ison(struct brcms_phy_pub *ppi);
void wlc_phy_txpwr_percent_set(struct brcms_phy_pub *ppi, u8 txpwr_percent);
extern void wlc_phy_ant_rxdiv_set(struct brcms_phy_pub *ppi, u8 val); void wlc_phy_ofdm_rateset_war(struct brcms_phy_pub *pih, bool war);
extern void wlc_phy_clear_tssi(struct brcms_phy_pub *ppi); void wlc_phy_bf_preempt_enable(struct brcms_phy_pub *pih, bool bf_preempt);
extern void wlc_phy_hold_upd(struct brcms_phy_pub *ppi, u32 id, bool val); void wlc_phy_machwcap_set(struct brcms_phy_pub *ppi, u32 machwcap);
extern void wlc_phy_mute_upd(struct brcms_phy_pub *ppi, bool val, u32 flags);
void wlc_phy_runbist_config(struct brcms_phy_pub *ppi, bool start_end);
extern void wlc_phy_antsel_type_set(struct brcms_phy_pub *ppi, u8 antsel_type);
void wlc_phy_freqtrack_start(struct brcms_phy_pub *ppi);
extern void wlc_phy_txpower_get_current(struct brcms_phy_pub *ppi, void wlc_phy_freqtrack_end(struct brcms_phy_pub *ppi);
struct tx_power *power, uint channel);
const u8 *wlc_phy_get_ofdm_rate_lookup(void);
extern void wlc_phy_initcal_enable(struct brcms_phy_pub *pih, bool initcal);
extern bool wlc_phy_test_ison(struct brcms_phy_pub *ppi); s8 wlc_phy_get_tx_power_offset_by_mcs(struct brcms_phy_pub *ppi,
extern void wlc_phy_txpwr_percent_set(struct brcms_phy_pub *ppi, u8 mcs_offset);
u8 txpwr_percent); s8 wlc_phy_get_tx_power_offset(struct brcms_phy_pub *ppi, u8 tbl_offset);
extern void wlc_phy_ofdm_rateset_war(struct brcms_phy_pub *pih, bool war);
extern void wlc_phy_bf_preempt_enable(struct brcms_phy_pub *pih,
bool bf_preempt);
extern void wlc_phy_machwcap_set(struct brcms_phy_pub *ppi, u32 machwcap);
extern void wlc_phy_runbist_config(struct brcms_phy_pub *ppi, bool start_end);
extern void wlc_phy_freqtrack_start(struct brcms_phy_pub *ppi);
extern void wlc_phy_freqtrack_end(struct brcms_phy_pub *ppi);
extern const u8 *wlc_phy_get_ofdm_rate_lookup(void);
extern s8 wlc_phy_get_tx_power_offset_by_mcs(struct brcms_phy_pub *ppi,
u8 mcs_offset);
extern s8 wlc_phy_get_tx_power_offset(struct brcms_phy_pub *ppi, u8 tbl_offset);
#endif /* _BRCM_PHY_HAL_H_ */ #endif /* _BRCM_PHY_HAL_H_ */
...@@ -910,113 +910,103 @@ struct lcnphy_radio_regs { ...@@ -910,113 +910,103 @@ struct lcnphy_radio_regs {
u8 do_init_g; u8 do_init_g;
}; };
extern u16 read_phy_reg(struct brcms_phy *pi, u16 addr); u16 read_phy_reg(struct brcms_phy *pi, u16 addr);
extern void write_phy_reg(struct brcms_phy *pi, u16 addr, u16 val); void write_phy_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void and_phy_reg(struct brcms_phy *pi, u16 addr, u16 val); void and_phy_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void or_phy_reg(struct brcms_phy *pi, u16 addr, u16 val); void or_phy_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void mod_phy_reg(struct brcms_phy *pi, u16 addr, u16 mask, u16 val); void mod_phy_reg(struct brcms_phy *pi, u16 addr, u16 mask, u16 val);
extern u16 read_radio_reg(struct brcms_phy *pi, u16 addr); u16 read_radio_reg(struct brcms_phy *pi, u16 addr);
extern void or_radio_reg(struct brcms_phy *pi, u16 addr, u16 val); void or_radio_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void and_radio_reg(struct brcms_phy *pi, u16 addr, u16 val); void and_radio_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void mod_radio_reg(struct brcms_phy *pi, u16 addr, u16 mask, void mod_radio_reg(struct brcms_phy *pi, u16 addr, u16 mask, u16 val);
u16 val); void xor_radio_reg(struct brcms_phy *pi, u16 addr, u16 mask);
extern void xor_radio_reg(struct brcms_phy *pi, u16 addr, u16 mask);
void write_radio_reg(struct brcms_phy *pi, u16 addr, u16 val);
extern void write_radio_reg(struct brcms_phy *pi, u16 addr, u16 val);
void wlc_phyreg_enter(struct brcms_phy_pub *pih);
extern void wlc_phyreg_enter(struct brcms_phy_pub *pih); void wlc_phyreg_exit(struct brcms_phy_pub *pih);
extern void wlc_phyreg_exit(struct brcms_phy_pub *pih); void wlc_radioreg_enter(struct brcms_phy_pub *pih);
extern void wlc_radioreg_enter(struct brcms_phy_pub *pih); void wlc_radioreg_exit(struct brcms_phy_pub *pih);
extern void wlc_radioreg_exit(struct brcms_phy_pub *pih);
void wlc_phy_read_table(struct brcms_phy *pi,
extern void wlc_phy_read_table(struct brcms_phy *pi, const struct phytbl_info *ptbl_info,
const struct phytbl_info *ptbl_info, u16 tblAddr, u16 tblDataHi, u16 tblDatalo);
u16 tblAddr, u16 tblDataHi, void wlc_phy_write_table(struct brcms_phy *pi,
u16 tblDatalo); const struct phytbl_info *ptbl_info,
extern void wlc_phy_write_table(struct brcms_phy *pi, u16 tblAddr, u16 tblDataHi, u16 tblDatalo);
const struct phytbl_info *ptbl_info, void wlc_phy_table_addr(struct brcms_phy *pi, uint tbl_id, uint tbl_offset,
u16 tblAddr, u16 tblDataHi, u16 tblDatalo); u16 tblAddr, u16 tblDataHi, u16 tblDataLo);
extern void wlc_phy_table_addr(struct brcms_phy *pi, uint tbl_id, void wlc_phy_table_data_write(struct brcms_phy *pi, uint width, u32 val);
uint tbl_offset, u16 tblAddr, u16 tblDataHi,
u16 tblDataLo); void write_phy_channel_reg(struct brcms_phy *pi, uint val);
extern void wlc_phy_table_data_write(struct brcms_phy *pi, uint width, u32 val); void wlc_phy_txpower_update_shm(struct brcms_phy *pi);
extern void write_phy_channel_reg(struct brcms_phy *pi, uint val); u8 wlc_phy_nbits(s32 value);
extern void wlc_phy_txpower_update_shm(struct brcms_phy *pi); void wlc_phy_compute_dB(u32 *cmplx_pwr, s8 *p_dB, u8 core);
extern u8 wlc_phy_nbits(s32 value); uint wlc_phy_init_radio_regs_allbands(struct brcms_phy *pi,
extern void wlc_phy_compute_dB(u32 *cmplx_pwr, s8 *p_dB, u8 core); struct radio_20xx_regs *radioregs);
uint wlc_phy_init_radio_regs(struct brcms_phy *pi,
extern uint wlc_phy_init_radio_regs_allbands(struct brcms_phy *pi, const struct radio_regs *radioregs,
struct radio_20xx_regs *radioregs); u16 core_offset);
extern uint wlc_phy_init_radio_regs(struct brcms_phy *pi,
const struct radio_regs *radioregs, void wlc_phy_txpower_ipa_upd(struct brcms_phy *pi);
u16 core_offset);
void wlc_phy_do_dummy_tx(struct brcms_phy *pi, bool ofdm, bool pa_on);
extern void wlc_phy_txpower_ipa_upd(struct brcms_phy *pi); void wlc_phy_papd_decode_epsilon(u32 epsilon, s32 *eps_real, s32 *eps_imag);
extern void wlc_phy_do_dummy_tx(struct brcms_phy *pi, bool ofdm, bool pa_on); void wlc_phy_cal_perical_mphase_reset(struct brcms_phy *pi);
extern void wlc_phy_papd_decode_epsilon(u32 epsilon, s32 *eps_real, void wlc_phy_cal_perical_mphase_restart(struct brcms_phy *pi);
s32 *eps_imag);
bool wlc_phy_attach_nphy(struct brcms_phy *pi);
extern void wlc_phy_cal_perical_mphase_reset(struct brcms_phy *pi); bool wlc_phy_attach_lcnphy(struct brcms_phy *pi);
extern void wlc_phy_cal_perical_mphase_restart(struct brcms_phy *pi);
void wlc_phy_detach_lcnphy(struct brcms_phy *pi);
extern bool wlc_phy_attach_nphy(struct brcms_phy *pi);
extern bool wlc_phy_attach_lcnphy(struct brcms_phy *pi); void wlc_phy_init_nphy(struct brcms_phy *pi);
void wlc_phy_init_lcnphy(struct brcms_phy *pi);
extern void wlc_phy_detach_lcnphy(struct brcms_phy *pi);
void wlc_phy_cal_init_nphy(struct brcms_phy *pi);
extern void wlc_phy_init_nphy(struct brcms_phy *pi); void wlc_phy_cal_init_lcnphy(struct brcms_phy *pi);
extern void wlc_phy_init_lcnphy(struct brcms_phy *pi);
void wlc_phy_chanspec_set_nphy(struct brcms_phy *pi, u16 chanspec);
extern void wlc_phy_cal_init_nphy(struct brcms_phy *pi); void wlc_phy_chanspec_set_lcnphy(struct brcms_phy *pi, u16 chanspec);
extern void wlc_phy_cal_init_lcnphy(struct brcms_phy *pi); void wlc_phy_chanspec_set_fixup_lcnphy(struct brcms_phy *pi, u16 chanspec);
int wlc_phy_channel2freq(uint channel);
extern void wlc_phy_chanspec_set_nphy(struct brcms_phy *pi, int wlc_phy_chanspec_freq2bandrange_lpssn(uint);
u16 chanspec); int wlc_phy_chanspec_bandrange_get(struct brcms_phy *, u16 chanspec);
extern void wlc_phy_chanspec_set_lcnphy(struct brcms_phy *pi,
u16 chanspec); void wlc_lcnphy_set_tx_pwr_ctrl(struct brcms_phy *pi, u16 mode);
extern void wlc_phy_chanspec_set_fixup_lcnphy(struct brcms_phy *pi, s8 wlc_lcnphy_get_current_tx_pwr_idx(struct brcms_phy *pi);
u16 chanspec);
extern int wlc_phy_channel2freq(uint channel); void wlc_phy_txpower_recalc_target_nphy(struct brcms_phy *pi);
extern int wlc_phy_chanspec_freq2bandrange_lpssn(uint); void wlc_lcnphy_txpower_recalc_target(struct brcms_phy *pi);
extern int wlc_phy_chanspec_bandrange_get(struct brcms_phy *, u16 chanspec); void wlc_phy_txpower_recalc_target_lcnphy(struct brcms_phy *pi);
extern void wlc_lcnphy_set_tx_pwr_ctrl(struct brcms_phy *pi, u16 mode); void wlc_lcnphy_set_tx_pwr_by_index(struct brcms_phy *pi, int index);
extern s8 wlc_lcnphy_get_current_tx_pwr_idx(struct brcms_phy *pi); void wlc_lcnphy_tx_pu(struct brcms_phy *pi, bool bEnable);
void wlc_lcnphy_stop_tx_tone(struct brcms_phy *pi);
extern void wlc_phy_txpower_recalc_target_nphy(struct brcms_phy *pi); void wlc_lcnphy_start_tx_tone(struct brcms_phy *pi, s32 f_kHz, u16 max_val,
extern void wlc_lcnphy_txpower_recalc_target(struct brcms_phy *pi); bool iqcalmode);
extern void wlc_phy_txpower_recalc_target_lcnphy(struct brcms_phy *pi);
void wlc_phy_txpower_sromlimit_get_nphy(struct brcms_phy *pi, uint chan,
extern void wlc_lcnphy_set_tx_pwr_by_index(struct brcms_phy *pi, int index); u8 *max_pwr, u8 rate_id);
extern void wlc_lcnphy_tx_pu(struct brcms_phy *pi, bool bEnable); void wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
extern void wlc_lcnphy_stop_tx_tone(struct brcms_phy *pi); u8 rate_mcs_end, u8 rate_ofdm_start);
extern void wlc_lcnphy_start_tx_tone(struct brcms_phy *pi, s32 f_kHz, void wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
u16 max_val, bool iqcalmode); u8 rate_ofdm_end, u8 rate_mcs_start);
extern void wlc_phy_txpower_sromlimit_get_nphy(struct brcms_phy *pi, uint chan, u16 wlc_lcnphy_tempsense(struct brcms_phy *pi, bool mode);
u8 *max_pwr, u8 rate_id); s16 wlc_lcnphy_tempsense_new(struct brcms_phy *pi, bool mode);
extern void wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start, s8 wlc_lcnphy_tempsense_degree(struct brcms_phy *pi, bool mode);
u8 rate_mcs_end, s8 wlc_lcnphy_vbatsense(struct brcms_phy *pi, bool mode);
u8 rate_ofdm_start); void wlc_phy_carrier_suppress_lcnphy(struct brcms_phy *pi);
extern void wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, void wlc_lcnphy_crsuprs(struct brcms_phy *pi, int channel);
u8 rate_ofdm_start, void wlc_lcnphy_epa_switch(struct brcms_phy *pi, bool mode);
u8 rate_ofdm_end, void wlc_2064_vco_cal(struct brcms_phy *pi);
u8 rate_mcs_start);
void wlc_phy_txpower_recalc_target(struct brcms_phy *pi);
extern u16 wlc_lcnphy_tempsense(struct brcms_phy *pi, bool mode);
extern s16 wlc_lcnphy_tempsense_new(struct brcms_phy *pi, bool mode);
extern s8 wlc_lcnphy_tempsense_degree(struct brcms_phy *pi, bool mode);
extern s8 wlc_lcnphy_vbatsense(struct brcms_phy *pi, bool mode);
extern void wlc_phy_carrier_suppress_lcnphy(struct brcms_phy *pi);
extern void wlc_lcnphy_crsuprs(struct brcms_phy *pi, int channel);
extern void wlc_lcnphy_epa_switch(struct brcms_phy *pi, bool mode);
extern void wlc_2064_vco_cal(struct brcms_phy *pi);
extern void wlc_phy_txpower_recalc_target(struct brcms_phy *pi);
#define LCNPHY_TBL_ID_PAPDCOMPDELTATBL 0x18 #define LCNPHY_TBL_ID_PAPDCOMPDELTATBL 0x18
#define LCNPHY_TX_POWER_TABLE_SIZE 128 #define LCNPHY_TX_POWER_TABLE_SIZE 128
...@@ -1030,26 +1020,24 @@ extern void wlc_phy_txpower_recalc_target(struct brcms_phy *pi); ...@@ -1030,26 +1020,24 @@ extern void wlc_phy_txpower_recalc_target(struct brcms_phy *pi);
#define LCNPHY_TX_PWR_CTRL_TEMPBASED 0xE001 #define LCNPHY_TX_PWR_CTRL_TEMPBASED 0xE001
extern void wlc_lcnphy_write_table(struct brcms_phy *pi, void wlc_lcnphy_write_table(struct brcms_phy *pi,
const struct phytbl_info *pti); const struct phytbl_info *pti);
extern void wlc_lcnphy_read_table(struct brcms_phy *pi, void wlc_lcnphy_read_table(struct brcms_phy *pi, struct phytbl_info *pti);
struct phytbl_info *pti); void wlc_lcnphy_set_tx_iqcc(struct brcms_phy *pi, u16 a, u16 b);
extern void wlc_lcnphy_set_tx_iqcc(struct brcms_phy *pi, u16 a, u16 b); void wlc_lcnphy_set_tx_locc(struct brcms_phy *pi, u16 didq);
extern void wlc_lcnphy_set_tx_locc(struct brcms_phy *pi, u16 didq); void wlc_lcnphy_get_tx_iqcc(struct brcms_phy *pi, u16 *a, u16 *b);
extern void wlc_lcnphy_get_tx_iqcc(struct brcms_phy *pi, u16 *a, u16 *b); u16 wlc_lcnphy_get_tx_locc(struct brcms_phy *pi);
extern u16 wlc_lcnphy_get_tx_locc(struct brcms_phy *pi); void wlc_lcnphy_get_radio_loft(struct brcms_phy *pi, u8 *ei0, u8 *eq0, u8 *fi0,
extern void wlc_lcnphy_get_radio_loft(struct brcms_phy *pi, u8 *ei0, u8 *fq0);
u8 *eq0, u8 *fi0, u8 *fq0); void wlc_lcnphy_calib_modes(struct brcms_phy *pi, uint mode);
extern void wlc_lcnphy_calib_modes(struct brcms_phy *pi, uint mode); void wlc_lcnphy_deaf_mode(struct brcms_phy *pi, bool mode);
extern void wlc_lcnphy_deaf_mode(struct brcms_phy *pi, bool mode); bool wlc_phy_tpc_isenabled_lcnphy(struct brcms_phy *pi);
extern bool wlc_phy_tpc_isenabled_lcnphy(struct brcms_phy *pi); void wlc_lcnphy_tx_pwr_update_npt(struct brcms_phy *pi);
extern void wlc_lcnphy_tx_pwr_update_npt(struct brcms_phy *pi); s32 wlc_lcnphy_tssi2dbm(s32 tssi, s32 a1, s32 b0, s32 b1);
extern s32 wlc_lcnphy_tssi2dbm(s32 tssi, s32 a1, s32 b0, s32 b1); void wlc_lcnphy_get_tssi(struct brcms_phy *pi, s8 *ofdm_pwr, s8 *cck_pwr);
extern void wlc_lcnphy_get_tssi(struct brcms_phy *pi, s8 *ofdm_pwr, void wlc_lcnphy_tx_power_adjustment(struct brcms_phy_pub *ppi);
s8 *cck_pwr);
extern void wlc_lcnphy_tx_power_adjustment(struct brcms_phy_pub *ppi); s32 wlc_lcnphy_rx_signal_power(struct brcms_phy *pi, s32 gain_index);
extern s32 wlc_lcnphy_rx_signal_power(struct brcms_phy *pi, s32 gain_index);
#define NPHY_MAX_HPVGA1_INDEX 10 #define NPHY_MAX_HPVGA1_INDEX 10
#define NPHY_DEF_HPVGA1_INDEXLIMIT 7 #define NPHY_DEF_HPVGA1_INDEXLIMIT 7
...@@ -1060,9 +1048,8 @@ struct phy_iq_est { ...@@ -1060,9 +1048,8 @@ struct phy_iq_est {
u32 q_pwr; u32 q_pwr;
}; };
extern void wlc_phy_stay_in_carriersearch_nphy(struct brcms_phy *pi, void wlc_phy_stay_in_carriersearch_nphy(struct brcms_phy *pi, bool enable);
bool enable); void wlc_nphy_deaf_mode(struct brcms_phy *pi, bool mode);
extern void wlc_nphy_deaf_mode(struct brcms_phy *pi, bool mode);
#define wlc_phy_write_table_nphy(pi, pti) \ #define wlc_phy_write_table_nphy(pi, pti) \
wlc_phy_write_table(pi, pti, 0x72, 0x74, 0x73) wlc_phy_write_table(pi, pti, 0x72, 0x74, 0x73)
...@@ -1076,10 +1063,10 @@ extern void wlc_nphy_deaf_mode(struct brcms_phy *pi, bool mode); ...@@ -1076,10 +1063,10 @@ extern void wlc_nphy_deaf_mode(struct brcms_phy *pi, bool mode);
#define wlc_nphy_table_data_write(pi, w, v) \ #define wlc_nphy_table_data_write(pi, w, v) \
wlc_phy_table_data_write((pi), (w), (v)) wlc_phy_table_data_write((pi), (w), (v))
extern void wlc_phy_table_read_nphy(struct brcms_phy *pi, u32, u32 l, u32 o, void wlc_phy_table_read_nphy(struct brcms_phy *pi, u32, u32 l, u32 o, u32 w,
u32 w, void *d); void *d);
extern void wlc_phy_table_write_nphy(struct brcms_phy *pi, u32, u32, u32, void wlc_phy_table_write_nphy(struct brcms_phy *pi, u32, u32, u32, u32,
u32, const void *); const void *);
#define PHY_IPA(pi) \ #define PHY_IPA(pi) \
((pi->ipa2g_on && CHSPEC_IS2G(pi->radio_chanspec)) || \ ((pi->ipa2g_on && CHSPEC_IS2G(pi->radio_chanspec)) || \
...@@ -1089,73 +1076,67 @@ extern void wlc_phy_table_write_nphy(struct brcms_phy *pi, u32, u32, u32, ...@@ -1089,73 +1076,67 @@ extern void wlc_phy_table_write_nphy(struct brcms_phy *pi, u32, u32, u32,
if (NREV_LT((pi)->pubpi.phy_rev, 3)) \ if (NREV_LT((pi)->pubpi.phy_rev, 3)) \
(void)bcma_read32(pi->d11core, D11REGOFFS(maccontrol)) (void)bcma_read32(pi->d11core, D11REGOFFS(maccontrol))
extern void wlc_phy_cal_perical_nphy_run(struct brcms_phy *pi, u8 caltype); void wlc_phy_cal_perical_nphy_run(struct brcms_phy *pi, u8 caltype);
extern void wlc_phy_aci_reset_nphy(struct brcms_phy *pi); void wlc_phy_aci_reset_nphy(struct brcms_phy *pi);
extern void wlc_phy_pa_override_nphy(struct brcms_phy *pi, bool en); void wlc_phy_pa_override_nphy(struct brcms_phy *pi, bool en);
extern u8 wlc_phy_get_chan_freq_range_nphy(struct brcms_phy *pi, uint chan); u8 wlc_phy_get_chan_freq_range_nphy(struct brcms_phy *pi, uint chan);
extern void wlc_phy_switch_radio_nphy(struct brcms_phy *pi, bool on); void wlc_phy_switch_radio_nphy(struct brcms_phy *pi, bool on);
extern void wlc_phy_stf_chain_upd_nphy(struct brcms_phy *pi); void wlc_phy_stf_chain_upd_nphy(struct brcms_phy *pi);
extern void wlc_phy_force_rfseq_nphy(struct brcms_phy *pi, u8 cmd); void wlc_phy_force_rfseq_nphy(struct brcms_phy *pi, u8 cmd);
extern s16 wlc_phy_tempsense_nphy(struct brcms_phy *pi); s16 wlc_phy_tempsense_nphy(struct brcms_phy *pi);
extern u16 wlc_phy_classifier_nphy(struct brcms_phy *pi, u16 mask, u16 val); u16 wlc_phy_classifier_nphy(struct brcms_phy *pi, u16 mask, u16 val);
extern void wlc_phy_rx_iq_est_nphy(struct brcms_phy *pi, struct phy_iq_est *est, void wlc_phy_rx_iq_est_nphy(struct brcms_phy *pi, struct phy_iq_est *est,
u16 num_samps, u8 wait_time, u16 num_samps, u8 wait_time, u8 wait_for_crs);
u8 wait_for_crs);
void wlc_phy_rx_iq_coeffs_nphy(struct brcms_phy *pi, u8 write,
extern void wlc_phy_rx_iq_coeffs_nphy(struct brcms_phy *pi, u8 write, struct nphy_iq_comp *comp);
struct nphy_iq_comp *comp); void wlc_phy_aci_and_noise_reduction_nphy(struct brcms_phy *pi);
extern void wlc_phy_aci_and_noise_reduction_nphy(struct brcms_phy *pi);
void wlc_phy_rxcore_setstate_nphy(struct brcms_phy_pub *pih, u8 rxcore_bitmask);
extern void wlc_phy_rxcore_setstate_nphy(struct brcms_phy_pub *pih, u8 wlc_phy_rxcore_getstate_nphy(struct brcms_phy_pub *pih);
u8 rxcore_bitmask);
extern u8 wlc_phy_rxcore_getstate_nphy(struct brcms_phy_pub *pih); void wlc_phy_txpwrctrl_enable_nphy(struct brcms_phy *pi, u8 ctrl_type);
void wlc_phy_txpwr_fixpower_nphy(struct brcms_phy *pi);
extern void wlc_phy_txpwrctrl_enable_nphy(struct brcms_phy *pi, u8 ctrl_type); void wlc_phy_txpwr_apply_nphy(struct brcms_phy *pi);
extern void wlc_phy_txpwr_fixpower_nphy(struct brcms_phy *pi); void wlc_phy_txpwr_papd_cal_nphy(struct brcms_phy *pi);
extern void wlc_phy_txpwr_apply_nphy(struct brcms_phy *pi); u16 wlc_phy_txpwr_idx_get_nphy(struct brcms_phy *pi);
extern void wlc_phy_txpwr_papd_cal_nphy(struct brcms_phy *pi);
extern u16 wlc_phy_txpwr_idx_get_nphy(struct brcms_phy *pi); struct nphy_txgains wlc_phy_get_tx_gain_nphy(struct brcms_phy *pi);
int wlc_phy_cal_txiqlo_nphy(struct brcms_phy *pi,
extern struct nphy_txgains wlc_phy_get_tx_gain_nphy(struct brcms_phy *pi); struct nphy_txgains target_gain, bool full, bool m);
extern int wlc_phy_cal_txiqlo_nphy(struct brcms_phy *pi, int wlc_phy_cal_rxiq_nphy(struct brcms_phy *pi, struct nphy_txgains target_gain,
struct nphy_txgains target_gain, u8 type, bool d);
bool full, bool m); void wlc_phy_txpwr_index_nphy(struct brcms_phy *pi, u8 core_mask,
extern int wlc_phy_cal_rxiq_nphy(struct brcms_phy *pi, s8 txpwrindex, bool res);
struct nphy_txgains target_gain, void wlc_phy_rssisel_nphy(struct brcms_phy *pi, u8 core, u8 rssi_type);
u8 type, bool d); int wlc_phy_poll_rssi_nphy(struct brcms_phy *pi, u8 rssi_type,
extern void wlc_phy_txpwr_index_nphy(struct brcms_phy *pi, u8 core_mask, s32 *rssi_buf, u8 nsamps);
s8 txpwrindex, bool res); void wlc_phy_rssi_cal_nphy(struct brcms_phy *pi);
extern void wlc_phy_rssisel_nphy(struct brcms_phy *pi, u8 core, u8 rssi_type); int wlc_phy_aci_scan_nphy(struct brcms_phy *pi);
extern int wlc_phy_poll_rssi_nphy(struct brcms_phy *pi, u8 rssi_type, void wlc_phy_cal_txgainctrl_nphy(struct brcms_phy *pi, s32 dBm_targetpower,
s32 *rssi_buf, u8 nsamps); bool debug);
extern void wlc_phy_rssi_cal_nphy(struct brcms_phy *pi); int wlc_phy_tx_tone_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val, u8 mode,
extern int wlc_phy_aci_scan_nphy(struct brcms_phy *pi); u8, bool);
extern void wlc_phy_cal_txgainctrl_nphy(struct brcms_phy *pi, void wlc_phy_stopplayback_nphy(struct brcms_phy *pi);
s32 dBm_targetpower, bool debug); void wlc_phy_est_tonepwr_nphy(struct brcms_phy *pi, s32 *qdBm_pwrbuf,
extern int wlc_phy_tx_tone_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val, u8 num_samps);
u8 mode, u8, bool); void wlc_phy_radio205x_vcocal_nphy(struct brcms_phy *pi);
extern void wlc_phy_stopplayback_nphy(struct brcms_phy *pi);
extern void wlc_phy_est_tonepwr_nphy(struct brcms_phy *pi, s32 *qdBm_pwrbuf, int wlc_phy_rssi_compute_nphy(struct brcms_phy *pi, struct d11rxhdr *rxh);
u8 num_samps);
extern void wlc_phy_radio205x_vcocal_nphy(struct brcms_phy *pi);
extern int wlc_phy_rssi_compute_nphy(struct brcms_phy *pi,
struct d11rxhdr *rxh);
#define NPHY_TESTPATTERN_BPHY_EVM 0 #define NPHY_TESTPATTERN_BPHY_EVM 0
#define NPHY_TESTPATTERN_BPHY_RFCS 1 #define NPHY_TESTPATTERN_BPHY_RFCS 1
extern void wlc_phy_nphy_tkip_rifs_war(struct brcms_phy *pi, u8 rifs); void wlc_phy_nphy_tkip_rifs_war(struct brcms_phy *pi, u8 rifs);
void wlc_phy_get_pwrdet_offsets(struct brcms_phy *pi, s8 *cckoffset, void wlc_phy_get_pwrdet_offsets(struct brcms_phy *pi, s8 *cckoffset,
s8 *ofdmoffset); s8 *ofdmoffset);
extern s8 wlc_phy_upd_rssi_offset(struct brcms_phy *pi, s8 rssi, s8 wlc_phy_upd_rssi_offset(struct brcms_phy *pi, s8 rssi, u16 chanspec);
u16 chanspec);
extern bool wlc_phy_n_txpower_ipa_ison(struct brcms_phy *pih); bool wlc_phy_n_txpower_ipa_ison(struct brcms_phy *pih);
#endif /* _BRCM_PHY_INT_H_ */ #endif /* _BRCM_PHY_INT_H_ */
...@@ -124,56 +124,49 @@ ...@@ -124,56 +124,49 @@
struct brcms_phy; struct brcms_phy;
extern struct phy_shim_info *wlc_phy_shim_attach(struct brcms_hardware *wlc_hw, struct phy_shim_info *wlc_phy_shim_attach(struct brcms_hardware *wlc_hw,
struct brcms_info *wl, struct brcms_info *wl,
struct brcms_c_info *wlc); struct brcms_c_info *wlc);
extern void wlc_phy_shim_detach(struct phy_shim_info *physhim); void wlc_phy_shim_detach(struct phy_shim_info *physhim);
/* PHY to WL utility functions */ /* PHY to WL utility functions */
extern struct wlapi_timer *wlapi_init_timer(struct phy_shim_info *physhim, struct wlapi_timer *wlapi_init_timer(struct phy_shim_info *physhim,
void (*fn) (struct brcms_phy *pi), void (*fn)(struct brcms_phy *pi),
void *arg, const char *name); void *arg, const char *name);
extern void wlapi_free_timer(struct wlapi_timer *t); void wlapi_free_timer(struct wlapi_timer *t);
extern void wlapi_add_timer(struct wlapi_timer *t, uint ms, int periodic); void wlapi_add_timer(struct wlapi_timer *t, uint ms, int periodic);
extern bool wlapi_del_timer(struct wlapi_timer *t); bool wlapi_del_timer(struct wlapi_timer *t);
extern void wlapi_intrson(struct phy_shim_info *physhim); void wlapi_intrson(struct phy_shim_info *physhim);
extern u32 wlapi_intrsoff(struct phy_shim_info *physhim); u32 wlapi_intrsoff(struct phy_shim_info *physhim);
extern void wlapi_intrsrestore(struct phy_shim_info *physhim, void wlapi_intrsrestore(struct phy_shim_info *physhim, u32 macintmask);
u32 macintmask);
void wlapi_bmac_write_shm(struct phy_shim_info *physhim, uint offset, u16 v);
extern void wlapi_bmac_write_shm(struct phy_shim_info *physhim, uint offset, u16 wlapi_bmac_read_shm(struct phy_shim_info *physhim, uint offset);
u16 v); void wlapi_bmac_mhf(struct phy_shim_info *physhim, u8 idx, u16 mask, u16 val,
extern u16 wlapi_bmac_read_shm(struct phy_shim_info *physhim, uint offset); int bands);
extern void wlapi_bmac_mhf(struct phy_shim_info *physhim, u8 idx, void wlapi_bmac_corereset(struct phy_shim_info *physhim, u32 flags);
u16 mask, u16 val, int bands); void wlapi_suspend_mac_and_wait(struct phy_shim_info *physhim);
extern void wlapi_bmac_corereset(struct phy_shim_info *physhim, u32 flags); void wlapi_switch_macfreq(struct phy_shim_info *physhim, u8 spurmode);
extern void wlapi_suspend_mac_and_wait(struct phy_shim_info *physhim); void wlapi_enable_mac(struct phy_shim_info *physhim);
extern void wlapi_switch_macfreq(struct phy_shim_info *physhim, u8 spurmode); void wlapi_bmac_mctrl(struct phy_shim_info *physhim, u32 mask, u32 val);
extern void wlapi_enable_mac(struct phy_shim_info *physhim); void wlapi_bmac_phy_reset(struct phy_shim_info *physhim);
extern void wlapi_bmac_mctrl(struct phy_shim_info *physhim, u32 mask, void wlapi_bmac_bw_set(struct phy_shim_info *physhim, u16 bw);
u32 val); void wlapi_bmac_phyclk_fgc(struct phy_shim_info *physhim, bool clk);
extern void wlapi_bmac_phy_reset(struct phy_shim_info *physhim); void wlapi_bmac_macphyclk_set(struct phy_shim_info *physhim, bool clk);
extern void wlapi_bmac_bw_set(struct phy_shim_info *physhim, u16 bw); void wlapi_bmac_core_phypll_ctl(struct phy_shim_info *physhim, bool on);
extern void wlapi_bmac_phyclk_fgc(struct phy_shim_info *physhim, bool clk); void wlapi_bmac_core_phypll_reset(struct phy_shim_info *physhim);
extern void wlapi_bmac_macphyclk_set(struct phy_shim_info *physhim, bool clk); void wlapi_bmac_ucode_wake_override_phyreg_set(struct phy_shim_info *physhim);
extern void wlapi_bmac_core_phypll_ctl(struct phy_shim_info *physhim, bool on); void wlapi_bmac_ucode_wake_override_phyreg_clear(struct phy_shim_info *physhim);
extern void wlapi_bmac_core_phypll_reset(struct phy_shim_info *physhim); void wlapi_bmac_write_template_ram(struct phy_shim_info *physhim, int o,
extern void wlapi_bmac_ucode_wake_override_phyreg_set(struct phy_shim_info * int len, void *buf);
physhim); u16 wlapi_bmac_rate_shm_offset(struct phy_shim_info *physhim, u8 rate);
extern void wlapi_bmac_ucode_wake_override_phyreg_clear(struct phy_shim_info * void wlapi_ucode_sample_init(struct phy_shim_info *physhim);
physhim); void wlapi_copyfrom_objmem(struct phy_shim_info *physhim, uint, void *buf,
extern void wlapi_bmac_write_template_ram(struct phy_shim_info *physhim, int o, int, u32 sel);
int len, void *buf); void wlapi_copyto_objmem(struct phy_shim_info *physhim, uint, const void *buf,
extern u16 wlapi_bmac_rate_shm_offset(struct phy_shim_info *physhim, int, u32);
u8 rate);
extern void wlapi_ucode_sample_init(struct phy_shim_info *physhim); void wlapi_high_update_phy_mode(struct phy_shim_info *physhim, u32 phy_mode);
extern void wlapi_copyfrom_objmem(struct phy_shim_info *physhim, uint, u16 wlapi_bmac_get_txant(struct phy_shim_info *physhim);
void *buf, int, u32 sel);
extern void wlapi_copyto_objmem(struct phy_shim_info *physhim, uint,
const void *buf, int, u32);
extern void wlapi_high_update_phy_mode(struct phy_shim_info *physhim,
u32 phy_mode);
extern u16 wlapi_bmac_get_txant(struct phy_shim_info *physhim);
#endif /* _BRCM_PHY_SHIM_H_ */ #endif /* _BRCM_PHY_SHIM_H_ */
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include "types.h" #include "types.h"
extern u16 si_pmu_fast_pwrup_delay(struct si_pub *sih); u16 si_pmu_fast_pwrup_delay(struct si_pub *sih);
extern u32 si_pmu_measure_alpclk(struct si_pub *sih); u32 si_pmu_measure_alpclk(struct si_pub *sih);
#endif /* _BRCM_PMU_H_ */ #endif /* _BRCM_PMU_H_ */
...@@ -266,83 +266,76 @@ struct brcms_antselcfg { ...@@ -266,83 +266,76 @@ struct brcms_antselcfg {
}; };
/* common functions for every port */ /* common functions for every port */
extern struct brcms_c_info * struct brcms_c_info *brcms_c_attach(struct brcms_info *wl,
brcms_c_attach(struct brcms_info *wl, struct bcma_device *core, uint unit, struct bcma_device *core, uint unit,
bool piomode, uint *perr); bool piomode, uint *perr);
extern uint brcms_c_detach(struct brcms_c_info *wlc); uint brcms_c_detach(struct brcms_c_info *wlc);
extern int brcms_c_up(struct brcms_c_info *wlc); int brcms_c_up(struct brcms_c_info *wlc);
extern uint brcms_c_down(struct brcms_c_info *wlc); uint brcms_c_down(struct brcms_c_info *wlc);
extern bool brcms_c_chipmatch(struct bcma_device *core); bool brcms_c_chipmatch(struct bcma_device *core);
extern void brcms_c_init(struct brcms_c_info *wlc, bool mute_tx); void brcms_c_init(struct brcms_c_info *wlc, bool mute_tx);
extern void brcms_c_reset(struct brcms_c_info *wlc); void brcms_c_reset(struct brcms_c_info *wlc);
extern void brcms_c_intrson(struct brcms_c_info *wlc); void brcms_c_intrson(struct brcms_c_info *wlc);
extern u32 brcms_c_intrsoff(struct brcms_c_info *wlc); u32 brcms_c_intrsoff(struct brcms_c_info *wlc);
extern void brcms_c_intrsrestore(struct brcms_c_info *wlc, u32 macintmask); void brcms_c_intrsrestore(struct brcms_c_info *wlc, u32 macintmask);
extern bool brcms_c_intrsupd(struct brcms_c_info *wlc); bool brcms_c_intrsupd(struct brcms_c_info *wlc);
extern bool brcms_c_isr(struct brcms_c_info *wlc); bool brcms_c_isr(struct brcms_c_info *wlc);
extern bool brcms_c_dpc(struct brcms_c_info *wlc, bool bounded); bool brcms_c_dpc(struct brcms_c_info *wlc, bool bounded);
extern bool brcms_c_sendpkt_mac80211(struct brcms_c_info *wlc, bool brcms_c_sendpkt_mac80211(struct brcms_c_info *wlc, struct sk_buff *sdu,
struct sk_buff *sdu, struct ieee80211_hw *hw);
struct ieee80211_hw *hw); bool brcms_c_aggregatable(struct brcms_c_info *wlc, u8 tid);
extern bool brcms_c_aggregatable(struct brcms_c_info *wlc, u8 tid); void brcms_c_protection_upd(struct brcms_c_info *wlc, uint idx, int val);
extern void brcms_c_protection_upd(struct brcms_c_info *wlc, uint idx, int brcms_c_get_header_len(void);
int val); void brcms_c_set_addrmatch(struct brcms_c_info *wlc, int match_reg_offset,
extern int brcms_c_get_header_len(void); const u8 *addr);
extern void brcms_c_set_addrmatch(struct brcms_c_info *wlc, void brcms_c_wme_setparams(struct brcms_c_info *wlc, u16 aci,
int match_reg_offset, const struct ieee80211_tx_queue_params *arg,
const u8 *addr); bool suspend);
extern void brcms_c_wme_setparams(struct brcms_c_info *wlc, u16 aci, struct brcms_pub *brcms_c_pub(struct brcms_c_info *wlc);
const struct ieee80211_tx_queue_params *arg, void brcms_c_ampdu_flush(struct brcms_c_info *wlc, struct ieee80211_sta *sta,
bool suspend); u16 tid);
extern struct brcms_pub *brcms_c_pub(struct brcms_c_info *wlc); void brcms_c_ampdu_tx_operational(struct brcms_c_info *wlc, u8 tid,
extern void brcms_c_ampdu_flush(struct brcms_c_info *wlc, u8 ba_wsize, uint max_rx_ampdu_bytes);
struct ieee80211_sta *sta, u16 tid); int brcms_c_module_register(struct brcms_pub *pub, const char *name,
extern void brcms_c_ampdu_tx_operational(struct brcms_c_info *wlc, u8 tid, struct brcms_info *hdl,
u8 ba_wsize, uint max_rx_ampdu_bytes); int (*down_fn)(void *handle));
extern int brcms_c_module_register(struct brcms_pub *pub, int brcms_c_module_unregister(struct brcms_pub *pub, const char *name,
const char *name, struct brcms_info *hdl, struct brcms_info *hdl);
int (*down_fn)(void *handle)); void brcms_c_suspend_mac_and_wait(struct brcms_c_info *wlc);
extern int brcms_c_module_unregister(struct brcms_pub *pub, const char *name, void brcms_c_enable_mac(struct brcms_c_info *wlc);
struct brcms_info *hdl); void brcms_c_associate_upd(struct brcms_c_info *wlc, bool state);
extern void brcms_c_suspend_mac_and_wait(struct brcms_c_info *wlc); void brcms_c_scan_start(struct brcms_c_info *wlc);
extern void brcms_c_enable_mac(struct brcms_c_info *wlc); void brcms_c_scan_stop(struct brcms_c_info *wlc);
extern void brcms_c_associate_upd(struct brcms_c_info *wlc, bool state); int brcms_c_get_curband(struct brcms_c_info *wlc);
extern void brcms_c_scan_start(struct brcms_c_info *wlc); int brcms_c_set_channel(struct brcms_c_info *wlc, u16 channel);
extern void brcms_c_scan_stop(struct brcms_c_info *wlc); int brcms_c_set_rate_limit(struct brcms_c_info *wlc, u16 srl, u16 lrl);
extern int brcms_c_get_curband(struct brcms_c_info *wlc); void brcms_c_get_current_rateset(struct brcms_c_info *wlc,
extern int brcms_c_set_channel(struct brcms_c_info *wlc, u16 channel);
extern int brcms_c_set_rate_limit(struct brcms_c_info *wlc, u16 srl, u16 lrl);
extern void brcms_c_get_current_rateset(struct brcms_c_info *wlc,
struct brcm_rateset *currs); struct brcm_rateset *currs);
extern int brcms_c_set_rateset(struct brcms_c_info *wlc, int brcms_c_set_rateset(struct brcms_c_info *wlc, struct brcm_rateset *rs);
struct brcm_rateset *rs); int brcms_c_set_beacon_period(struct brcms_c_info *wlc, u16 period);
extern int brcms_c_set_beacon_period(struct brcms_c_info *wlc, u16 period); u16 brcms_c_get_phy_type(struct brcms_c_info *wlc, int phyidx);
extern u16 brcms_c_get_phy_type(struct brcms_c_info *wlc, int phyidx); void brcms_c_set_shortslot_override(struct brcms_c_info *wlc,
extern void brcms_c_set_shortslot_override(struct brcms_c_info *wlc,
s8 sslot_override); s8 sslot_override);
extern void brcms_c_set_beacon_listen_interval(struct brcms_c_info *wlc, void brcms_c_set_beacon_listen_interval(struct brcms_c_info *wlc, u8 interval);
u8 interval); u64 brcms_c_tsf_get(struct brcms_c_info *wlc);
extern u64 brcms_c_tsf_get(struct brcms_c_info *wlc); void brcms_c_tsf_set(struct brcms_c_info *wlc, u64 tsf);
extern void brcms_c_tsf_set(struct brcms_c_info *wlc, u64 tsf); int brcms_c_set_tx_power(struct brcms_c_info *wlc, int txpwr);
extern int brcms_c_set_tx_power(struct brcms_c_info *wlc, int txpwr); int brcms_c_get_tx_power(struct brcms_c_info *wlc);
extern int brcms_c_get_tx_power(struct brcms_c_info *wlc); bool brcms_c_check_radio_disabled(struct brcms_c_info *wlc);
extern bool brcms_c_check_radio_disabled(struct brcms_c_info *wlc); void brcms_c_mute(struct brcms_c_info *wlc, bool on);
extern void brcms_c_mute(struct brcms_c_info *wlc, bool on); bool brcms_c_tx_flush_completed(struct brcms_c_info *wlc);
extern bool brcms_c_tx_flush_completed(struct brcms_c_info *wlc); void brcms_c_start_station(struct brcms_c_info *wlc, u8 *addr);
extern void brcms_c_start_station(struct brcms_c_info *wlc, u8 *addr); void brcms_c_start_ap(struct brcms_c_info *wlc, u8 *addr, const u8 *bssid,
extern void brcms_c_start_ap(struct brcms_c_info *wlc, u8 *addr, u8 *ssid, size_t ssid_len);
const u8 *bssid, u8 *ssid, size_t ssid_len); void brcms_c_start_adhoc(struct brcms_c_info *wlc, u8 *addr);
extern void brcms_c_start_adhoc(struct brcms_c_info *wlc, u8 *addr); void brcms_c_update_beacon(struct brcms_c_info *wlc);
extern void brcms_c_update_beacon(struct brcms_c_info *wlc); void brcms_c_set_new_beacon(struct brcms_c_info *wlc, struct sk_buff *beacon,
extern void brcms_c_set_new_beacon(struct brcms_c_info *wlc, u16 tim_offset, u16 dtim_period);
struct sk_buff *beacon, u16 tim_offset, void brcms_c_set_new_probe_resp(struct brcms_c_info *wlc,
u16 dtim_period); struct sk_buff *probe_resp);
extern void brcms_c_set_new_probe_resp(struct brcms_c_info *wlc, void brcms_c_enable_probe_resp(struct brcms_c_info *wlc, bool enable);
struct sk_buff *probe_resp); void brcms_c_set_ssid(struct brcms_c_info *wlc, u8 *ssid, size_t ssid_len);
extern void brcms_c_enable_probe_resp(struct brcms_c_info *wlc, bool enable);
extern void brcms_c_set_ssid(struct brcms_c_info *wlc, u8 *ssid,
size_t ssid_len);
#endif /* _BRCM_PUB_H_ */ #endif /* _BRCM_PUB_H_ */
...@@ -216,34 +216,30 @@ static inline u8 cck_phy2mac_rate(u8 signal) ...@@ -216,34 +216,30 @@ static inline u8 cck_phy2mac_rate(u8 signal)
/* sanitize, and sort a rateset with the basic bit(s) preserved, validate /* sanitize, and sort a rateset with the basic bit(s) preserved, validate
* rateset */ * rateset */
extern bool bool brcms_c_rate_hwrs_filter_sort_validate(struct brcms_c_rateset *rs,
brcms_c_rate_hwrs_filter_sort_validate(struct brcms_c_rateset *rs, const struct brcms_c_rateset *hw_rs,
const struct brcms_c_rateset *hw_rs, bool check_brate, u8 txstreams);
bool check_brate, u8 txstreams);
/* copy rateset src to dst as-is (no masking or sorting) */ /* copy rateset src to dst as-is (no masking or sorting) */
extern void brcms_c_rateset_copy(const struct brcms_c_rateset *src, void brcms_c_rateset_copy(const struct brcms_c_rateset *src,
struct brcms_c_rateset *dst); struct brcms_c_rateset *dst);
/* would be nice to have these documented ... */ /* would be nice to have these documented ... */
extern u32 brcms_c_compute_rspec(struct d11rxhdr *rxh, u8 *plcp); u32 brcms_c_compute_rspec(struct d11rxhdr *rxh, u8 *plcp);
extern void brcms_c_rateset_filter(struct brcms_c_rateset *src, void brcms_c_rateset_filter(struct brcms_c_rateset *src,
struct brcms_c_rateset *dst, bool basic_only, u8 rates, uint xmask, struct brcms_c_rateset *dst, bool basic_only,
bool mcsallow); u8 rates, uint xmask, bool mcsallow);
extern void void brcms_c_rateset_default(struct brcms_c_rateset *rs_tgt,
brcms_c_rateset_default(struct brcms_c_rateset *rs_tgt, const struct brcms_c_rateset *rs_hw, uint phy_type,
const struct brcms_c_rateset *rs_hw, uint phy_type, int bandtype, bool cck_only, uint rate_mask,
int bandtype, bool cck_only, uint rate_mask, bool mcsallow, u8 bw, u8 txstreams);
bool mcsallow, u8 bw, u8 txstreams);
s16 brcms_c_rate_legacy_phyctl(uint rate);
extern s16 brcms_c_rate_legacy_phyctl(uint rate);
void brcms_c_rateset_mcs_upd(struct brcms_c_rateset *rs, u8 txstreams);
extern void brcms_c_rateset_mcs_upd(struct brcms_c_rateset *rs, u8 txstreams); void brcms_c_rateset_mcs_clear(struct brcms_c_rateset *rateset);
extern void brcms_c_rateset_mcs_clear(struct brcms_c_rateset *rateset); void brcms_c_rateset_mcs_build(struct brcms_c_rateset *rateset, u8 txstreams);
extern void brcms_c_rateset_mcs_build(struct brcms_c_rateset *rateset, void brcms_c_rateset_bw_mcs_filter(struct brcms_c_rateset *rateset, u8 bw);
u8 txstreams);
extern void brcms_c_rateset_bw_mcs_filter(struct brcms_c_rateset *rateset,
u8 bw);
#endif /* _BRCM_RATE_H_ */ #endif /* _BRCM_RATE_H_ */
...@@ -19,24 +19,19 @@ ...@@ -19,24 +19,19 @@
#include "types.h" #include "types.h"
extern int brcms_c_stf_attach(struct brcms_c_info *wlc); int brcms_c_stf_attach(struct brcms_c_info *wlc);
extern void brcms_c_stf_detach(struct brcms_c_info *wlc); void brcms_c_stf_detach(struct brcms_c_info *wlc);
extern void brcms_c_tempsense_upd(struct brcms_c_info *wlc); void brcms_c_tempsense_upd(struct brcms_c_info *wlc);
extern void brcms_c_stf_ss_algo_channel_get(struct brcms_c_info *wlc, void brcms_c_stf_ss_algo_channel_get(struct brcms_c_info *wlc,
u16 *ss_algo_channel, u16 *ss_algo_channel, u16 chanspec);
u16 chanspec); int brcms_c_stf_ss_update(struct brcms_c_info *wlc, struct brcms_band *band);
extern int brcms_c_stf_ss_update(struct brcms_c_info *wlc, void brcms_c_stf_phy_txant_upd(struct brcms_c_info *wlc);
struct brcms_band *band); int brcms_c_stf_txchain_set(struct brcms_c_info *wlc, s32 int_val, bool force);
extern void brcms_c_stf_phy_txant_upd(struct brcms_c_info *wlc); bool brcms_c_stf_stbc_rx_set(struct brcms_c_info *wlc, s32 int_val);
extern int brcms_c_stf_txchain_set(struct brcms_c_info *wlc, s32 int_val, void brcms_c_stf_phy_txant_upd(struct brcms_c_info *wlc);
bool force); void brcms_c_stf_phy_chain_calc(struct brcms_c_info *wlc);
extern bool brcms_c_stf_stbc_rx_set(struct brcms_c_info *wlc, s32 int_val); u16 brcms_c_stf_phytxchain_sel(struct brcms_c_info *wlc, u32 rspec);
extern void brcms_c_stf_phy_txant_upd(struct brcms_c_info *wlc); u16 brcms_c_stf_d11hdrs_phyctl_txant(struct brcms_c_info *wlc, u32 rspec);
extern void brcms_c_stf_phy_chain_calc(struct brcms_c_info *wlc);
extern u16 brcms_c_stf_phytxchain_sel(struct brcms_c_info *wlc,
u32 rspec);
extern u16 brcms_c_stf_d11hdrs_phyctl_txant(struct brcms_c_info *wlc,
u32 rspec);
#endif /* _BRCM_STF_H_ */ #endif /* _BRCM_STF_H_ */
...@@ -43,16 +43,14 @@ struct brcms_ucode { ...@@ -43,16 +43,14 @@ struct brcms_ucode {
u32 *bcm43xx_bomminor; u32 *bcm43xx_bomminor;
}; };
extern int int brcms_ucode_data_init(struct brcms_info *wl, struct brcms_ucode *ucode);
brcms_ucode_data_init(struct brcms_info *wl, struct brcms_ucode *ucode);
extern void brcms_ucode_data_free(struct brcms_ucode *ucode); void brcms_ucode_data_free(struct brcms_ucode *ucode);
extern int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, unsigned int idx);
unsigned int idx); int brcms_ucode_init_uint(struct brcms_info *wl, size_t *n_bytes,
extern int brcms_ucode_init_uint(struct brcms_info *wl, size_t *n_bytes, unsigned int idx);
unsigned int idx); void brcms_ucode_free_buf(void *);
extern void brcms_ucode_free_buf(void *); int brcms_check_firmwares(struct brcms_info *wl);
extern int brcms_check_firmwares(struct brcms_info *wl);
#endif /* _BRCM_UCODE_H_ */ #endif /* _BRCM_UCODE_H_ */
...@@ -140,6 +140,6 @@ struct brcmu_d11inf { ...@@ -140,6 +140,6 @@ struct brcmu_d11inf {
void (*decchspec)(struct brcmu_chan *ch); void (*decchspec)(struct brcmu_chan *ch);
}; };
extern void brcmu_d11_attach(struct brcmu_d11inf *d11inf); void brcmu_d11_attach(struct brcmu_d11inf *d11inf);
#endif /* _BRCMU_CHANNELS_H_ */ #endif /* _BRCMU_CHANNELS_H_ */
...@@ -114,31 +114,29 @@ static inline struct sk_buff *pktq_ppeek_tail(struct pktq *pq, int prec) ...@@ -114,31 +114,29 @@ static inline struct sk_buff *pktq_ppeek_tail(struct pktq *pq, int prec)
return skb_peek_tail(&pq->q[prec].skblist); return skb_peek_tail(&pq->q[prec].skblist);
} }
extern struct sk_buff *brcmu_pktq_penq(struct pktq *pq, int prec, struct sk_buff *brcmu_pktq_penq(struct pktq *pq, int prec, struct sk_buff *p);
struct sk_buff *p); struct sk_buff *brcmu_pktq_penq_head(struct pktq *pq, int prec,
extern struct sk_buff *brcmu_pktq_penq_head(struct pktq *pq, int prec, struct sk_buff *p);
struct sk_buff *p); struct sk_buff *brcmu_pktq_pdeq(struct pktq *pq, int prec);
extern struct sk_buff *brcmu_pktq_pdeq(struct pktq *pq, int prec); struct sk_buff *brcmu_pktq_pdeq_tail(struct pktq *pq, int prec);
extern struct sk_buff *brcmu_pktq_pdeq_tail(struct pktq *pq, int prec); struct sk_buff *brcmu_pktq_pdeq_match(struct pktq *pq, int prec,
extern struct sk_buff *brcmu_pktq_pdeq_match(struct pktq *pq, int prec, bool (*match_fn)(struct sk_buff *p,
bool (*match_fn)(struct sk_buff *p, void *arg),
void *arg), void *arg);
void *arg);
/* packet primitives */ /* packet primitives */
extern struct sk_buff *brcmu_pkt_buf_get_skb(uint len); struct sk_buff *brcmu_pkt_buf_get_skb(uint len);
extern void brcmu_pkt_buf_free_skb(struct sk_buff *skb); void brcmu_pkt_buf_free_skb(struct sk_buff *skb);
/* Empty the queue at particular precedence level */ /* Empty the queue at particular precedence level */
/* callback function fn(pkt, arg) returns true if pkt belongs to if */ /* callback function fn(pkt, arg) returns true if pkt belongs to if */
extern void brcmu_pktq_pflush(struct pktq *pq, int prec, void brcmu_pktq_pflush(struct pktq *pq, int prec, bool dir,
bool dir, bool (*fn)(struct sk_buff *, void *), void *arg); bool (*fn)(struct sk_buff *, void *), void *arg);
/* operations on a set of precedences in packet queue */ /* operations on a set of precedences in packet queue */
extern int brcmu_pktq_mlen(struct pktq *pq, uint prec_bmp); int brcmu_pktq_mlen(struct pktq *pq, uint prec_bmp);
extern struct sk_buff *brcmu_pktq_mdeq(struct pktq *pq, uint prec_bmp, struct sk_buff *brcmu_pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out);
int *prec_out);
/* operations on packet queue as a whole */ /* operations on packet queue as a whole */
...@@ -167,11 +165,11 @@ static inline bool pktq_empty(struct pktq *pq) ...@@ -167,11 +165,11 @@ static inline bool pktq_empty(struct pktq *pq)
return pq->len == 0; return pq->len == 0;
} }
extern void brcmu_pktq_init(struct pktq *pq, int num_prec, int max_len); void brcmu_pktq_init(struct pktq *pq, int num_prec, int max_len);
/* prec_out may be NULL if caller is not interested in return value */ /* prec_out may be NULL if caller is not interested in return value */
extern struct sk_buff *brcmu_pktq_peek_tail(struct pktq *pq, int *prec_out); struct sk_buff *brcmu_pktq_peek_tail(struct pktq *pq, int *prec_out);
extern void brcmu_pktq_flush(struct pktq *pq, bool dir, void brcmu_pktq_flush(struct pktq *pq, bool dir,
bool (*fn)(struct sk_buff *, void *), void *arg); bool (*fn)(struct sk_buff *, void *), void *arg);
/* externs */ /* externs */
/* ip address */ /* ip address */
...@@ -204,13 +202,13 @@ static inline u16 brcmu_maskget16(u16 var, u16 mask, u8 shift) ...@@ -204,13 +202,13 @@ static inline u16 brcmu_maskget16(u16 var, u16 mask, u8 shift)
/* externs */ /* externs */
/* format/print */ /* format/print */
#ifdef DEBUG #ifdef DEBUG
extern void brcmu_prpkt(const char *msg, struct sk_buff *p0); void brcmu_prpkt(const char *msg, struct sk_buff *p0);
#else #else
#define brcmu_prpkt(a, b) #define brcmu_prpkt(a, b)
#endif /* DEBUG */ #endif /* DEBUG */
#ifdef DEBUG #ifdef DEBUG
extern __printf(3, 4) __printf(3, 4)
void brcmu_dbg_hex_dump(const void *data, size_t size, const char *fmt, ...); void brcmu_dbg_hex_dump(const void *data, size_t size, const char *fmt, ...);
#else #else
__printf(3, 4) __printf(3, 4)
......
...@@ -950,66 +950,55 @@ static inline int libipw_is_cck_rate(u8 rate) ...@@ -950,66 +950,55 @@ static inline int libipw_is_cck_rate(u8 rate)
} }
/* libipw.c */ /* libipw.c */
extern void free_libipw(struct net_device *dev, int monitor); void free_libipw(struct net_device *dev, int monitor);
extern struct net_device *alloc_libipw(int sizeof_priv, int monitor); struct net_device *alloc_libipw(int sizeof_priv, int monitor);
extern int libipw_change_mtu(struct net_device *dev, int new_mtu); int libipw_change_mtu(struct net_device *dev, int new_mtu);
extern void libipw_networks_age(struct libipw_device *ieee, void libipw_networks_age(struct libipw_device *ieee, unsigned long age_secs);
unsigned long age_secs);
extern int libipw_set_encryption(struct libipw_device *ieee); int libipw_set_encryption(struct libipw_device *ieee);
/* libipw_tx.c */ /* libipw_tx.c */
extern netdev_tx_t libipw_xmit(struct sk_buff *skb, netdev_tx_t libipw_xmit(struct sk_buff *skb, struct net_device *dev);
struct net_device *dev); void libipw_txb_free(struct libipw_txb *);
extern void libipw_txb_free(struct libipw_txb *);
/* libipw_rx.c */ /* libipw_rx.c */
extern void libipw_rx_any(struct libipw_device *ieee, void libipw_rx_any(struct libipw_device *ieee, struct sk_buff *skb,
struct sk_buff *skb, struct libipw_rx_stats *stats); struct libipw_rx_stats *stats);
extern int libipw_rx(struct libipw_device *ieee, struct sk_buff *skb, int libipw_rx(struct libipw_device *ieee, struct sk_buff *skb,
struct libipw_rx_stats *rx_stats); struct libipw_rx_stats *rx_stats);
/* make sure to set stats->len */ /* make sure to set stats->len */
extern void libipw_rx_mgt(struct libipw_device *ieee, void libipw_rx_mgt(struct libipw_device *ieee, struct libipw_hdr_4addr *header,
struct libipw_hdr_4addr *header, struct libipw_rx_stats *stats);
struct libipw_rx_stats *stats); void libipw_network_reset(struct libipw_network *network);
extern void libipw_network_reset(struct libipw_network *network);
/* libipw_geo.c */ /* libipw_geo.c */
extern const struct libipw_geo *libipw_get_geo(struct libipw_device const struct libipw_geo *libipw_get_geo(struct libipw_device *ieee);
*ieee); void libipw_set_geo(struct libipw_device *ieee, const struct libipw_geo *geo);
extern void libipw_set_geo(struct libipw_device *ieee,
const struct libipw_geo *geo); int libipw_is_valid_channel(struct libipw_device *ieee, u8 channel);
int libipw_channel_to_index(struct libipw_device *ieee, u8 channel);
extern int libipw_is_valid_channel(struct libipw_device *ieee, u8 libipw_freq_to_channel(struct libipw_device *ieee, u32 freq);
u8 channel); u8 libipw_get_channel_flags(struct libipw_device *ieee, u8 channel);
extern int libipw_channel_to_index(struct libipw_device *ieee, const struct libipw_channel *libipw_get_channel(struct libipw_device *ieee,
u8 channel); u8 channel);
extern u8 libipw_freq_to_channel(struct libipw_device *ieee, u32 freq); u32 libipw_channel_to_freq(struct libipw_device *ieee, u8 channel);
extern u8 libipw_get_channel_flags(struct libipw_device *ieee,
u8 channel);
extern const struct libipw_channel *libipw_get_channel(struct
libipw_device
*ieee, u8 channel);
extern u32 libipw_channel_to_freq(struct libipw_device * ieee,
u8 channel);
/* libipw_wx.c */ /* libipw_wx.c */
extern int libipw_wx_get_scan(struct libipw_device *ieee, int libipw_wx_get_scan(struct libipw_device *ieee, struct iw_request_info *info,
struct iw_request_info *info, union iwreq_data *wrqu, char *key);
union iwreq_data *wrqu, char *key); int libipw_wx_set_encode(struct libipw_device *ieee,
extern int libipw_wx_set_encode(struct libipw_device *ieee, struct iw_request_info *info, union iwreq_data *wrqu,
struct iw_request_info *info, char *key);
union iwreq_data *wrqu, char *key); int libipw_wx_get_encode(struct libipw_device *ieee,
extern int libipw_wx_get_encode(struct libipw_device *ieee, struct iw_request_info *info, union iwreq_data *wrqu,
struct iw_request_info *info, char *key);
union iwreq_data *wrqu, char *key); int libipw_wx_set_encodeext(struct libipw_device *ieee,
extern int libipw_wx_set_encodeext(struct libipw_device *ieee, struct iw_request_info *info,
struct iw_request_info *info, union iwreq_data *wrqu, char *extra);
union iwreq_data *wrqu, char *extra); int libipw_wx_get_encodeext(struct libipw_device *ieee,
extern int libipw_wx_get_encodeext(struct libipw_device *ieee, struct iw_request_info *info,
struct iw_request_info *info, union iwreq_data *wrqu, char *extra);
union iwreq_data *wrqu, char *extra);
static inline void libipw_increment_scans(struct libipw_device *ieee) static inline void libipw_increment_scans(struct libipw_device *ieee)
{ {
......
...@@ -189,15 +189,14 @@ struct il3945_ibss_seq { ...@@ -189,15 +189,14 @@ struct il3945_ibss_seq {
* for use by iwl-*.c * for use by iwl-*.c
* *
*****************************************************************************/ *****************************************************************************/
extern int il3945_calc_db_from_ratio(int sig_ratio); int il3945_calc_db_from_ratio(int sig_ratio);
extern void il3945_rx_replenish(void *data); void il3945_rx_replenish(void *data);
extern void il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq); void il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq);
extern unsigned int il3945_fill_beacon_frame(struct il_priv *il, unsigned int il3945_fill_beacon_frame(struct il_priv *il,
struct ieee80211_hdr *hdr, struct ieee80211_hdr *hdr, int left);
int left); int il3945_dump_nic_event_log(struct il_priv *il, bool full_log, char **buf,
extern int il3945_dump_nic_event_log(struct il_priv *il, bool full_log, bool display);
char **buf, bool display); void il3945_dump_nic_error_log(struct il_priv *il);
extern void il3945_dump_nic_error_log(struct il_priv *il);
/****************************************************************************** /******************************************************************************
* *
...@@ -215,39 +214,36 @@ extern void il3945_dump_nic_error_log(struct il_priv *il); ...@@ -215,39 +214,36 @@ extern void il3945_dump_nic_error_log(struct il_priv *il);
* il3945_mac_ <-- mac80211 callback * il3945_mac_ <-- mac80211 callback
* *
****************************************************************************/ ****************************************************************************/
extern void il3945_hw_handler_setup(struct il_priv *il); void il3945_hw_handler_setup(struct il_priv *il);
extern void il3945_hw_setup_deferred_work(struct il_priv *il); void il3945_hw_setup_deferred_work(struct il_priv *il);
extern void il3945_hw_cancel_deferred_work(struct il_priv *il); void il3945_hw_cancel_deferred_work(struct il_priv *il);
extern int il3945_hw_rxq_stop(struct il_priv *il); int il3945_hw_rxq_stop(struct il_priv *il);
extern int il3945_hw_set_hw_params(struct il_priv *il); int il3945_hw_set_hw_params(struct il_priv *il);
extern int il3945_hw_nic_init(struct il_priv *il); int il3945_hw_nic_init(struct il_priv *il);
extern int il3945_hw_nic_stop_master(struct il_priv *il); int il3945_hw_nic_stop_master(struct il_priv *il);
extern void il3945_hw_txq_ctx_free(struct il_priv *il); void il3945_hw_txq_ctx_free(struct il_priv *il);
extern void il3945_hw_txq_ctx_stop(struct il_priv *il); void il3945_hw_txq_ctx_stop(struct il_priv *il);
extern int il3945_hw_nic_reset(struct il_priv *il); int il3945_hw_nic_reset(struct il_priv *il);
extern int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il, int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
struct il_tx_queue *txq, dma_addr_t addr, u16 len, u8 reset, u8 pad);
dma_addr_t addr, u16 len, u8 reset, void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq);
u8 pad); int il3945_hw_get_temperature(struct il_priv *il);
extern void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq); int il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq);
extern int il3945_hw_get_temperature(struct il_priv *il); unsigned int il3945_hw_get_beacon_cmd(struct il_priv *il,
extern int il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq); struct il3945_frame *frame, u8 rate);
extern unsigned int il3945_hw_get_beacon_cmd(struct il_priv *il,
struct il3945_frame *frame,
u8 rate);
void il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd, void il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd,
struct ieee80211_tx_info *info, struct ieee80211_tx_info *info,
struct ieee80211_hdr *hdr, int sta_id); struct ieee80211_hdr *hdr, int sta_id);
extern int il3945_hw_reg_send_txpower(struct il_priv *il); int il3945_hw_reg_send_txpower(struct il_priv *il);
extern int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power); int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power);
extern void il3945_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb); void il3945_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb);
void il3945_hdl_c_stats(struct il_priv *il, struct il_rx_buf *rxb); void il3945_hdl_c_stats(struct il_priv *il, struct il_rx_buf *rxb);
extern void il3945_disable_events(struct il_priv *il); void il3945_disable_events(struct il_priv *il);
extern int il4965_get_temperature(const struct il_priv *il); int il4965_get_temperature(const struct il_priv *il);
extern void il3945_post_associate(struct il_priv *il); void il3945_post_associate(struct il_priv *il);
extern void il3945_config_ap(struct il_priv *il); void il3945_config_ap(struct il_priv *il);
extern int il3945_commit_rxon(struct il_priv *il); int il3945_commit_rxon(struct il_priv *il);
/** /**
* il3945_hw_find_station - Find station id for a given BSSID * il3945_hw_find_station - Find station id for a given BSSID
...@@ -257,14 +253,14 @@ extern int il3945_commit_rxon(struct il_priv *il); ...@@ -257,14 +253,14 @@ extern int il3945_commit_rxon(struct il_priv *il);
* not yet been merged into a single common layer for managing the * not yet been merged into a single common layer for managing the
* station tables. * station tables.
*/ */
extern u8 il3945_hw_find_station(struct il_priv *il, const u8 * bssid); u8 il3945_hw_find_station(struct il_priv *il, const u8 *bssid);
extern __le32 il3945_get_antenna_flags(const struct il_priv *il); __le32 il3945_get_antenna_flags(const struct il_priv *il);
extern int il3945_init_hw_rate_table(struct il_priv *il); int il3945_init_hw_rate_table(struct il_priv *il);
extern void il3945_reg_txpower_periodic(struct il_priv *il); void il3945_reg_txpower_periodic(struct il_priv *il);
extern int il3945_txpower_set_from_eeprom(struct il_priv *il); int il3945_txpower_set_from_eeprom(struct il_priv *il);
extern int il3945_rs_next_rate(struct il_priv *il, int rate); int il3945_rs_next_rate(struct il_priv *il, int rate);
/* scanning */ /* scanning */
int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif); int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif);
......
...@@ -272,7 +272,7 @@ il4965_hw_valid_rtc_data_addr(u32 addr) ...@@ -272,7 +272,7 @@ il4965_hw_valid_rtc_data_addr(u32 addr)
((t) < IL_TX_POWER_TEMPERATURE_MIN || \ ((t) < IL_TX_POWER_TEMPERATURE_MIN || \
(t) > IL_TX_POWER_TEMPERATURE_MAX) (t) > IL_TX_POWER_TEMPERATURE_MAX)
extern void il4965_temperature_calib(struct il_priv *il); void il4965_temperature_calib(struct il_priv *il);
/********************* END TEMPERATURE ***************************************/ /********************* END TEMPERATURE ***************************************/
/********************* START TXPOWER *****************************************/ /********************* START TXPOWER *****************************************/
......
...@@ -858,9 +858,9 @@ struct il_hw_params { ...@@ -858,9 +858,9 @@ struct il_hw_params {
* il4965_mac_ <-- mac80211 callback * il4965_mac_ <-- mac80211 callback
* *
****************************************************************************/ ****************************************************************************/
extern void il4965_update_chain_flags(struct il_priv *il); void il4965_update_chain_flags(struct il_priv *il);
extern const u8 il_bcast_addr[ETH_ALEN]; extern const u8 il_bcast_addr[ETH_ALEN];
extern int il_queue_space(const struct il_queue *q); int il_queue_space(const struct il_queue *q);
static inline int static inline int
il_queue_used(const struct il_queue *q, int i) il_queue_used(const struct il_queue *q, int i)
{ {
...@@ -1727,7 +1727,7 @@ int il_alloc_txq_mem(struct il_priv *il); ...@@ -1727,7 +1727,7 @@ int il_alloc_txq_mem(struct il_priv *il);
void il_free_txq_mem(struct il_priv *il); void il_free_txq_mem(struct il_priv *il);
#ifdef CONFIG_IWLEGACY_DEBUGFS #ifdef CONFIG_IWLEGACY_DEBUGFS
extern void il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len); void il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len);
#else #else
static inline void static inline void
il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len) il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len)
...@@ -1760,12 +1760,12 @@ void il_chswitch_done(struct il_priv *il, bool is_success); ...@@ -1760,12 +1760,12 @@ void il_chswitch_done(struct il_priv *il, bool is_success);
/***************************************************** /*****************************************************
* TX * TX
******************************************************/ ******************************************************/
extern void il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq); void il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq);
extern int il_tx_queue_init(struct il_priv *il, u32 txq_id); int il_tx_queue_init(struct il_priv *il, u32 txq_id);
extern void il_tx_queue_reset(struct il_priv *il, u32 txq_id); void il_tx_queue_reset(struct il_priv *il, u32 txq_id);
extern void il_tx_queue_unmap(struct il_priv *il, int txq_id); void il_tx_queue_unmap(struct il_priv *il, int txq_id);
extern void il_tx_queue_free(struct il_priv *il, int txq_id); void il_tx_queue_free(struct il_priv *il, int txq_id);
extern void il_setup_watchdog(struct il_priv *il); void il_setup_watchdog(struct il_priv *il);
/***************************************************** /*****************************************************
* TX power * TX power
****************************************************/ ****************************************************/
...@@ -1931,10 +1931,10 @@ il_is_ready_rf(struct il_priv *il) ...@@ -1931,10 +1931,10 @@ il_is_ready_rf(struct il_priv *il)
return il_is_ready(il); return il_is_ready(il);
} }
extern void il_send_bt_config(struct il_priv *il); void il_send_bt_config(struct il_priv *il);
extern int il_send_stats_request(struct il_priv *il, u8 flags, bool clear); int il_send_stats_request(struct il_priv *il, u8 flags, bool clear);
extern void il_apm_stop(struct il_priv *il); void il_apm_stop(struct il_priv *il);
extern void _il_apm_stop(struct il_priv *il); void _il_apm_stop(struct il_priv *il);
int il_apm_init(struct il_priv *il); int il_apm_init(struct il_priv *il);
...@@ -1968,15 +1968,15 @@ void il_tx_cmd_protection(struct il_priv *il, struct ieee80211_tx_info *info, ...@@ -1968,15 +1968,15 @@ void il_tx_cmd_protection(struct il_priv *il, struct ieee80211_tx_info *info,
irqreturn_t il_isr(int irq, void *data); irqreturn_t il_isr(int irq, void *data);
extern void il_set_bit(struct il_priv *p, u32 r, u32 m); void il_set_bit(struct il_priv *p, u32 r, u32 m);
extern void il_clear_bit(struct il_priv *p, u32 r, u32 m); void il_clear_bit(struct il_priv *p, u32 r, u32 m);
extern bool _il_grab_nic_access(struct il_priv *il); bool _il_grab_nic_access(struct il_priv *il);
extern int _il_poll_bit(struct il_priv *il, u32 addr, u32 bits, u32 mask, int timeout); int _il_poll_bit(struct il_priv *il, u32 addr, u32 bits, u32 mask, int timeout);
extern int il_poll_bit(struct il_priv *il, u32 addr, u32 mask, int timeout); int il_poll_bit(struct il_priv *il, u32 addr, u32 mask, int timeout);
extern u32 il_rd_prph(struct il_priv *il, u32 reg); u32 il_rd_prph(struct il_priv *il, u32 reg);
extern void il_wr_prph(struct il_priv *il, u32 addr, u32 val); void il_wr_prph(struct il_priv *il, u32 addr, u32 val);
extern u32 il_read_targ_mem(struct il_priv *il, u32 addr); u32 il_read_targ_mem(struct il_priv *il, u32 addr);
extern void il_write_targ_mem(struct il_priv *il, u32 addr, u32 val); void il_write_targ_mem(struct il_priv *il, u32 addr, u32 val);
static inline void static inline void
_il_write8(struct il_priv *il, u32 ofs, u8 val) _il_write8(struct il_priv *il, u32 ofs, u8 val)
...@@ -2868,13 +2868,13 @@ il4965_first_antenna(u8 mask) ...@@ -2868,13 +2868,13 @@ il4965_first_antenna(u8 mask)
* The specific throughput table used is based on the type of network * The specific throughput table used is based on the type of network
* the associated with, including A, B, G, and G w/ TGG protection * the associated with, including A, B, G, and G w/ TGG protection
*/ */
extern void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id); void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id);
/* Initialize station's rate scaling information after adding station */ /* Initialize station's rate scaling information after adding station */
extern void il4965_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, void il4965_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta,
u8 sta_id); u8 sta_id);
extern void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta,
u8 sta_id); u8 sta_id);
/** /**
* il_rate_control_register - Register the rate control algorithm callbacks * il_rate_control_register - Register the rate control algorithm callbacks
...@@ -2886,8 +2886,8 @@ extern void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, ...@@ -2886,8 +2886,8 @@ extern void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta,
* ieee80211_register_hw * ieee80211_register_hw
* *
*/ */
extern int il4965_rate_control_register(void); int il4965_rate_control_register(void);
extern int il3945_rate_control_register(void); int il3945_rate_control_register(void);
/** /**
* il_rate_control_unregister - Unregister the rate control callbacks * il_rate_control_unregister - Unregister the rate control callbacks
...@@ -2895,11 +2895,11 @@ extern int il3945_rate_control_register(void); ...@@ -2895,11 +2895,11 @@ extern int il3945_rate_control_register(void);
* This should be called after calling ieee80211_unregister_hw, but before * This should be called after calling ieee80211_unregister_hw, but before
* the driver is unloaded. * the driver is unloaded.
*/ */
extern void il4965_rate_control_unregister(void); void il4965_rate_control_unregister(void);
extern void il3945_rate_control_unregister(void); void il3945_rate_control_unregister(void);
extern int il_power_update_mode(struct il_priv *il, bool force); int il_power_update_mode(struct il_priv *il, bool force);
extern void il_power_initialize(struct il_priv *il); void il_power_initialize(struct il_priv *il);
extern u32 il_debug_level; extern u32 il_debug_level;
......
...@@ -397,7 +397,7 @@ static inline __le32 iwl_hw_set_rate_n_flags(u8 rate, u32 flags) ...@@ -397,7 +397,7 @@ static inline __le32 iwl_hw_set_rate_n_flags(u8 rate, u32 flags)
return cpu_to_le32(flags|(u32)rate); return cpu_to_le32(flags|(u32)rate);
} }
extern int iwl_alive_start(struct iwl_priv *priv); int iwl_alive_start(struct iwl_priv *priv);
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
void iwl_print_rx_config_cmd(struct iwl_priv *priv, void iwl_print_rx_config_cmd(struct iwl_priv *priv,
......
...@@ -270,7 +270,7 @@ struct iwl_sensitivity_ranges { ...@@ -270,7 +270,7 @@ struct iwl_sensitivity_ranges {
* iwlXXXX_ <-- Hardware specific (implemented in iwl-XXXX.c for XXXX) * iwlXXXX_ <-- Hardware specific (implemented in iwl-XXXX.c for XXXX)
* *
****************************************************************************/ ****************************************************************************/
extern void iwl_update_chain_flags(struct iwl_priv *priv); void iwl_update_chain_flags(struct iwl_priv *priv);
extern const u8 iwl_bcast_addr[ETH_ALEN]; extern const u8 iwl_bcast_addr[ETH_ALEN];
#define IWL_OPERATION_MODE_AUTO 0 #define IWL_OPERATION_MODE_AUTO 0
......
...@@ -407,8 +407,8 @@ static inline u8 first_antenna(u8 mask) ...@@ -407,8 +407,8 @@ static inline u8 first_antenna(u8 mask)
/* Initialize station's rate scaling information after adding station */ /* Initialize station's rate scaling information after adding station */
extern void iwl_rs_rate_init(struct iwl_priv *priv, void iwl_rs_rate_init(struct iwl_priv *priv, struct ieee80211_sta *sta,
struct ieee80211_sta *sta, u8 sta_id); u8 sta_id);
/** /**
* iwl_rate_control_register - Register the rate control algorithm callbacks * iwl_rate_control_register - Register the rate control algorithm callbacks
...@@ -420,7 +420,7 @@ extern void iwl_rs_rate_init(struct iwl_priv *priv, ...@@ -420,7 +420,7 @@ extern void iwl_rs_rate_init(struct iwl_priv *priv,
* ieee80211_register_hw * ieee80211_register_hw
* *
*/ */
extern int iwlagn_rate_control_register(void); int iwlagn_rate_control_register(void);
/** /**
* iwl_rate_control_unregister - Unregister the rate control callbacks * iwl_rate_control_unregister - Unregister the rate control callbacks
...@@ -428,6 +428,6 @@ extern int iwlagn_rate_control_register(void); ...@@ -428,6 +428,6 @@ extern int iwlagn_rate_control_register(void);
* This should be called after calling ieee80211_unregister_hw, but before * This should be called after calling ieee80211_unregister_hw, but before
* the driver is unloaded. * the driver is unloaded.
*/ */
extern void iwlagn_rate_control_unregister(void); void iwlagn_rate_control_unregister(void);
#endif /* __iwl_agn__rs__ */ #endif /* __iwl_agn__rs__ */
...@@ -314,9 +314,8 @@ static inline u8 num_of_ant(u8 mask) ...@@ -314,9 +314,8 @@ static inline u8 num_of_ant(u8 mask)
} }
/* Initialize station's rate scaling information after adding station */ /* Initialize station's rate scaling information after adding station */
extern void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
struct ieee80211_sta *sta, enum ieee80211_band band);
enum ieee80211_band band);
/** /**
* iwl_rate_control_register - Register the rate control algorithm callbacks * iwl_rate_control_register - Register the rate control algorithm callbacks
...@@ -328,7 +327,7 @@ extern void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, ...@@ -328,7 +327,7 @@ extern void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm,
* ieee80211_register_hw * ieee80211_register_hw
* *
*/ */
extern int iwl_mvm_rate_control_register(void); int iwl_mvm_rate_control_register(void);
/** /**
* iwl_rate_control_unregister - Unregister the rate control callbacks * iwl_rate_control_unregister - Unregister the rate control callbacks
...@@ -336,7 +335,7 @@ extern int iwl_mvm_rate_control_register(void); ...@@ -336,7 +335,7 @@ extern int iwl_mvm_rate_control_register(void);
* This should be called after calling ieee80211_unregister_hw, but before * This should be called after calling ieee80211_unregister_hw, but before
* the driver is unloaded. * the driver is unloaded.
*/ */
extern void iwl_mvm_rate_control_unregister(void); void iwl_mvm_rate_control_unregister(void);
struct iwl_mvm_sta; struct iwl_mvm_sta;
......
...@@ -83,11 +83,10 @@ mwifiex_wmm_is_ra_list_empty(struct list_head *ra_list_hhead) ...@@ -83,11 +83,10 @@ mwifiex_wmm_is_ra_list_empty(struct list_head *ra_list_hhead)
} }
void mwifiex_wmm_add_buf_txqueue(struct mwifiex_private *priv, void mwifiex_wmm_add_buf_txqueue(struct mwifiex_private *priv,
struct sk_buff *skb); struct sk_buff *skb);
void mwifiex_ralist_add(struct mwifiex_private *priv, u8 *ra); void mwifiex_ralist_add(struct mwifiex_private *priv, u8 *ra);
void mwifiex_rotate_priolists(struct mwifiex_private *priv, void mwifiex_rotate_priolists(struct mwifiex_private *priv,
struct mwifiex_ra_list_tbl *ra, struct mwifiex_ra_list_tbl *ra, int tid);
int tid);
int mwifiex_wmm_lists_empty(struct mwifiex_adapter *adapter); int mwifiex_wmm_lists_empty(struct mwifiex_adapter *adapter);
void mwifiex_wmm_process_tx(struct mwifiex_adapter *adapter); void mwifiex_wmm_process_tx(struct mwifiex_adapter *adapter);
...@@ -95,21 +94,18 @@ int mwifiex_is_ralist_valid(struct mwifiex_private *priv, ...@@ -95,21 +94,18 @@ int mwifiex_is_ralist_valid(struct mwifiex_private *priv,
struct mwifiex_ra_list_tbl *ra_list, int tid); struct mwifiex_ra_list_tbl *ra_list, int tid);
u8 mwifiex_wmm_compute_drv_pkt_delay(struct mwifiex_private *priv, u8 mwifiex_wmm_compute_drv_pkt_delay(struct mwifiex_private *priv,
const struct sk_buff *skb); const struct sk_buff *skb);
void mwifiex_wmm_init(struct mwifiex_adapter *adapter); void mwifiex_wmm_init(struct mwifiex_adapter *adapter);
extern u32 mwifiex_wmm_process_association_req(struct mwifiex_private *priv, u32 mwifiex_wmm_process_association_req(struct mwifiex_private *priv,
u8 **assoc_buf, u8 **assoc_buf,
struct ieee_types_wmm_parameter struct ieee_types_wmm_parameter *wmmie,
*wmmie, struct ieee80211_ht_cap *htcap);
struct ieee80211_ht_cap
*htcap);
void mwifiex_wmm_setup_queue_priorities(struct mwifiex_private *priv, void mwifiex_wmm_setup_queue_priorities(struct mwifiex_private *priv,
struct ieee_types_wmm_parameter struct ieee_types_wmm_parameter *wmm_ie);
*wmm_ie);
void mwifiex_wmm_setup_ac_downgrade(struct mwifiex_private *priv); void mwifiex_wmm_setup_ac_downgrade(struct mwifiex_private *priv);
extern int mwifiex_ret_wmm_get_status(struct mwifiex_private *priv, int mwifiex_ret_wmm_get_status(struct mwifiex_private *priv,
const struct host_cmd_ds_command *resp); const struct host_cmd_ds_command *resp);
#endif /* !_MWIFIEX_WMM_H_ */ #endif /* !_MWIFIEX_WMM_H_ */
...@@ -182,23 +182,20 @@ extern int orinoco_debug; ...@@ -182,23 +182,20 @@ extern int orinoco_debug;
/* Exported prototypes */ /* Exported prototypes */
/********************************************************************/ /********************************************************************/
extern struct orinoco_private *alloc_orinocodev( struct orinoco_private *alloc_orinocodev(int sizeof_card, struct device *device,
int sizeof_card, struct device *device, int (*hard_reset)(struct orinoco_private *),
int (*hard_reset)(struct orinoco_private *), int (*stop_fw)(struct orinoco_private *, int));
int (*stop_fw)(struct orinoco_private *, int)); void free_orinocodev(struct orinoco_private *priv);
extern void free_orinocodev(struct orinoco_private *priv); int orinoco_init(struct orinoco_private *priv);
extern int orinoco_init(struct orinoco_private *priv); int orinoco_if_add(struct orinoco_private *priv, unsigned long base_addr,
extern int orinoco_if_add(struct orinoco_private *priv, unsigned int irq, const struct net_device_ops *ops);
unsigned long base_addr, void orinoco_if_del(struct orinoco_private *priv);
unsigned int irq, int orinoco_up(struct orinoco_private *priv);
const struct net_device_ops *ops); void orinoco_down(struct orinoco_private *priv);
extern void orinoco_if_del(struct orinoco_private *priv); irqreturn_t orinoco_interrupt(int irq, void *dev_id);
extern int orinoco_up(struct orinoco_private *priv);
extern void orinoco_down(struct orinoco_private *priv); void __orinoco_ev_info(struct net_device *dev, struct hermes *hw);
extern irqreturn_t orinoco_interrupt(int irq, void *dev_id); void __orinoco_ev_rx(struct net_device *dev, struct hermes *hw);
extern void __orinoco_ev_info(struct net_device *dev, struct hermes *hw);
extern void __orinoco_ev_rx(struct net_device *dev, struct hermes *hw);
int orinoco_process_xmit_skb(struct sk_buff *skb, int orinoco_process_xmit_skb(struct sk_buff *skb,
struct net_device *dev, struct net_device *dev,
......
...@@ -41,12 +41,12 @@ ...@@ -41,12 +41,12 @@
#define CAM_CONFIG_USEDK 1 #define CAM_CONFIG_USEDK 1
#define CAM_CONFIG_NO_USEDK 0 #define CAM_CONFIG_NO_USEDK 0
extern void rtl_cam_reset_all_entry(struct ieee80211_hw *hw); void rtl_cam_reset_all_entry(struct ieee80211_hw *hw);
extern u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr, u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
u32 ul_key_id, u32 ul_entry_idx, u32 ul_enc_alg, u32 ul_key_id, u32 ul_entry_idx, u32 ul_enc_alg,
u32 ul_default_key, u8 *key_content); u32 ul_default_key, u8 *key_content);
int rtl_cam_delete_one_entry(struct ieee80211_hw *hw, u8 *mac_addr, int rtl_cam_delete_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
u32 ul_key_id); u32 ul_key_id);
void rtl_cam_mark_invalid(struct ieee80211_hw *hw, u8 uc_index); void rtl_cam_mark_invalid(struct ieee80211_hw *hw, u8 uc_index);
void rtl_cam_empty_entry(struct ieee80211_hw *hw, u8 uc_index); void rtl_cam_empty_entry(struct ieee80211_hw *hw, u8 uc_index);
void rtl_cam_reset_sec_info(struct ieee80211_hw *hw); void rtl_cam_reset_sec_info(struct ieee80211_hw *hw);
......
...@@ -104,20 +104,19 @@ struct efuse_priv { ...@@ -104,20 +104,19 @@ struct efuse_priv {
u8 tx_power_g[14]; u8 tx_power_g[14];
}; };
extern void read_efuse_byte(struct ieee80211_hw *hw, u16 _offset, u8 *pbuf); void read_efuse_byte(struct ieee80211_hw *hw, u16 _offset, u8 *pbuf);
extern void efuse_initialize(struct ieee80211_hw *hw); void efuse_initialize(struct ieee80211_hw *hw);
extern u8 efuse_read_1byte(struct ieee80211_hw *hw, u16 address); u8 efuse_read_1byte(struct ieee80211_hw *hw, u16 address);
extern void efuse_write_1byte(struct ieee80211_hw *hw, u16 address, u8 value); void efuse_write_1byte(struct ieee80211_hw *hw, u16 address, u8 value);
extern void read_efuse(struct ieee80211_hw *hw, u16 _offset, void read_efuse(struct ieee80211_hw *hw, u16 _offset, u16 _size_byte, u8 *pbuf);
u16 _size_byte, u8 *pbuf); void efuse_shadow_read(struct ieee80211_hw *hw, u8 type, u16 offset,
extern void efuse_shadow_read(struct ieee80211_hw *hw, u8 type, u32 *value);
u16 offset, u32 *value); void efuse_shadow_write(struct ieee80211_hw *hw, u8 type, u16 offset,
extern void efuse_shadow_write(struct ieee80211_hw *hw, u8 type, u32 value);
u16 offset, u32 value); bool efuse_shadow_update(struct ieee80211_hw *hw);
extern bool efuse_shadow_update(struct ieee80211_hw *hw); bool efuse_shadow_update_chk(struct ieee80211_hw *hw);
extern bool efuse_shadow_update_chk(struct ieee80211_hw *hw); void rtl_efuse_shadow_map_update(struct ieee80211_hw *hw);
extern void rtl_efuse_shadow_map_update(struct ieee80211_hw *hw); void efuse_force_write_vendor_Id(struct ieee80211_hw *hw);
extern void efuse_force_write_vendor_Id(struct ieee80211_hw *hw); void efuse_re_pg_section(struct ieee80211_hw *hw, u8 section_idx);
extern void efuse_re_pg_section(struct ieee80211_hw *hw, u8 section_idx);
#endif #endif
...@@ -200,37 +200,32 @@ enum _ANT_DIV_TYPE { ...@@ -200,37 +200,32 @@ enum _ANT_DIV_TYPE {
CGCS_RX_SW_ANTDIV = 0x05, CGCS_RX_SW_ANTDIV = 0x05,
}; };
extern u32 rtl88e_phy_query_bb_reg(struct ieee80211_hw *hw, u32 rtl88e_phy_query_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
u32 regaddr, u32 bitmask); void rtl88e_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask,
extern void rtl88e_phy_set_bb_reg(struct ieee80211_hw *hw, u32 data);
u32 regaddr, u32 bitmask, u32 data); u32 rtl88e_phy_query_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
extern u32 rtl88e_phy_query_rf_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
enum radio_path rfpath, u32 regaddr, void rtl88e_phy_set_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
u32 bitmask); u32 regaddr, u32 bitmask, u32 data);
extern void rtl88e_phy_set_rf_reg(struct ieee80211_hw *hw, bool rtl88e_phy_mac_config(struct ieee80211_hw *hw);
enum radio_path rfpath, u32 regaddr, bool rtl88e_phy_bb_config(struct ieee80211_hw *hw);
u32 bitmask, u32 data); bool rtl88e_phy_rf_config(struct ieee80211_hw *hw);
extern bool rtl88e_phy_mac_config(struct ieee80211_hw *hw); void rtl88e_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw);
extern bool rtl88e_phy_bb_config(struct ieee80211_hw *hw); void rtl88e_phy_get_txpower_level(struct ieee80211_hw *hw, long *powerlevel);
extern bool rtl88e_phy_rf_config(struct ieee80211_hw *hw); void rtl88e_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel);
extern void rtl88e_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw); void rtl88e_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 operation);
extern void rtl88e_phy_get_txpower_level(struct ieee80211_hw *hw, void rtl88e_phy_set_bw_mode_callback(struct ieee80211_hw *hw);
long *powerlevel); void rtl88e_phy_set_bw_mode(struct ieee80211_hw *hw,
extern void rtl88e_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel); enum nl80211_channel_type ch_type);
extern void rtl88e_phy_scan_operation_backup(struct ieee80211_hw *hw, void rtl88e_phy_sw_chnl_callback(struct ieee80211_hw *hw);
u8 operation); u8 rtl88e_phy_sw_chnl(struct ieee80211_hw *hw);
extern void rtl88e_phy_set_bw_mode_callback(struct ieee80211_hw *hw); void rtl88e_phy_iq_calibrate(struct ieee80211_hw *hw, bool b_recovery);
extern void rtl88e_phy_set_bw_mode(struct ieee80211_hw *hw,
enum nl80211_channel_type ch_type);
extern void rtl88e_phy_sw_chnl_callback(struct ieee80211_hw *hw);
extern u8 rtl88e_phy_sw_chnl(struct ieee80211_hw *hw);
extern void rtl88e_phy_iq_calibrate(struct ieee80211_hw *hw, bool b_recovery);
void rtl88e_phy_lc_calibrate(struct ieee80211_hw *hw); void rtl88e_phy_lc_calibrate(struct ieee80211_hw *hw);
void rtl88e_phy_set_rfpath_switch(struct ieee80211_hw *hw, bool bmain); void rtl88e_phy_set_rfpath_switch(struct ieee80211_hw *hw, bool bmain);
bool rtl88e_phy_config_rf_with_headerfile(struct ieee80211_hw *hw, bool rtl88e_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
enum radio_path rfpath); enum radio_path rfpath);
bool rtl88e_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype); bool rtl88e_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype);
extern bool rtl88e_phy_set_rf_power_state(struct ieee80211_hw *hw, bool rtl88e_phy_set_rf_power_state(struct ieee80211_hw *hw,
enum rf_pwrstate rfpwr_state); enum rf_pwrstate rfpwr_state);
#endif #endif
...@@ -188,65 +188,55 @@ struct tx_power_struct { ...@@ -188,65 +188,55 @@ struct tx_power_struct {
}; };
bool rtl92c_phy_bb_config(struct ieee80211_hw *hw); bool rtl92c_phy_bb_config(struct ieee80211_hw *hw);
u32 rtl92c_phy_query_bb_reg(struct ieee80211_hw *hw, u32 rtl92c_phy_query_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
u32 regaddr, u32 bitmask); void rtl92c_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask,
void rtl92c_phy_set_bb_reg(struct ieee80211_hw *hw, u32 data);
u32 regaddr, u32 bitmask, u32 data); u32 rtl92c_phy_query_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
u32 rtl92c_phy_query_rf_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
enum radio_path rfpath, u32 regaddr, void rtl92ce_phy_set_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
u32 bitmask); u32 regaddr, u32 bitmask, u32 data);
extern void rtl92ce_phy_set_rf_reg(struct ieee80211_hw *hw,
enum radio_path rfpath, u32 regaddr,
u32 bitmask, u32 data);
bool rtl92c_phy_mac_config(struct ieee80211_hw *hw); bool rtl92c_phy_mac_config(struct ieee80211_hw *hw);
bool rtl92ce_phy_bb_config(struct ieee80211_hw *hw); bool rtl92ce_phy_bb_config(struct ieee80211_hw *hw);
bool rtl92c_phy_rf_config(struct ieee80211_hw *hw); bool rtl92c_phy_rf_config(struct ieee80211_hw *hw);
bool rtl92c_phy_config_rf_with_feaderfile(struct ieee80211_hw *hw, bool rtl92c_phy_config_rf_with_feaderfile(struct ieee80211_hw *hw,
enum radio_path rfpath); enum radio_path rfpath);
void rtl92c_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw); void rtl92c_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw);
void rtl92c_phy_get_txpower_level(struct ieee80211_hw *hw, void rtl92c_phy_get_txpower_level(struct ieee80211_hw *hw, long *powerlevel);
long *powerlevel);
void rtl92c_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel); void rtl92c_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel);
bool rtl92c_phy_update_txpower_dbm(struct ieee80211_hw *hw, bool rtl92c_phy_update_txpower_dbm(struct ieee80211_hw *hw, long power_indbm);
long power_indbm); void rtl92c_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 operation);
void rtl92c_phy_scan_operation_backup(struct ieee80211_hw *hw,
u8 operation);
void rtl92c_phy_set_bw_mode(struct ieee80211_hw *hw, void rtl92c_phy_set_bw_mode(struct ieee80211_hw *hw,
enum nl80211_channel_type ch_type); enum nl80211_channel_type ch_type);
void rtl92c_phy_sw_chnl_callback(struct ieee80211_hw *hw); void rtl92c_phy_sw_chnl_callback(struct ieee80211_hw *hw);
u8 rtl92c_phy_sw_chnl(struct ieee80211_hw *hw); u8 rtl92c_phy_sw_chnl(struct ieee80211_hw *hw);
void rtl92c_phy_iq_calibrate(struct ieee80211_hw *hw, bool b_recovery); void rtl92c_phy_iq_calibrate(struct ieee80211_hw *hw, bool b_recovery);
void rtl92c_phy_set_beacon_hw_reg(struct ieee80211_hw *hw, void rtl92c_phy_set_beacon_hw_reg(struct ieee80211_hw *hw, u16 beaconinterval);
u16 beaconinterval);
void rtl92c_phy_ap_calibrate(struct ieee80211_hw *hw, char delta); void rtl92c_phy_ap_calibrate(struct ieee80211_hw *hw, char delta);
void rtl92c_phy_lc_calibrate(struct ieee80211_hw *hw); void rtl92c_phy_lc_calibrate(struct ieee80211_hw *hw);
void _rtl92ce_phy_lc_calibrate(struct ieee80211_hw *hw, bool is2t); void _rtl92ce_phy_lc_calibrate(struct ieee80211_hw *hw, bool is2t);
void rtl92c_phy_set_rfpath_switch(struct ieee80211_hw *hw, bool bmain); void rtl92c_phy_set_rfpath_switch(struct ieee80211_hw *hw, bool bmain);
bool rtl92c_phy_config_rf_with_headerfile(struct ieee80211_hw *hw, bool rtl92c_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
enum radio_path rfpath); enum radio_path rfpath);
bool rtl8192_phy_check_is_legal_rfpath(struct ieee80211_hw *hw, bool rtl8192_phy_check_is_legal_rfpath(struct ieee80211_hw *hw, u32 rfpath);
u32 rfpath);
bool rtl92c_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype); bool rtl92c_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype);
bool rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw, bool rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw,
enum rf_pwrstate rfpwr_state); enum rf_pwrstate rfpwr_state);
void rtl92ce_phy_set_rf_on(struct ieee80211_hw *hw); void rtl92ce_phy_set_rf_on(struct ieee80211_hw *hw);
bool rtl92c_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype); bool rtl92c_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype);
void rtl92c_phy_set_io(struct ieee80211_hw *hw); void rtl92c_phy_set_io(struct ieee80211_hw *hw);
void rtl92c_bb_block_on(struct ieee80211_hw *hw); void rtl92c_bb_block_on(struct ieee80211_hw *hw);
u32 _rtl92c_phy_rf_serial_read(struct ieee80211_hw *hw, u32 _rtl92c_phy_rf_serial_read(struct ieee80211_hw *hw, enum radio_path rfpath,
enum radio_path rfpath, u32 offset); u32 offset);
u32 _rtl92c_phy_fw_rf_serial_read(struct ieee80211_hw *hw, u32 _rtl92c_phy_fw_rf_serial_read(struct ieee80211_hw *hw,
enum radio_path rfpath, u32 offset); enum radio_path rfpath, u32 offset);
u32 _rtl92c_phy_calculate_bit_shift(u32 bitmask); u32 _rtl92c_phy_calculate_bit_shift(u32 bitmask);
void _rtl92c_phy_rf_serial_write(struct ieee80211_hw *hw, void _rtl92c_phy_rf_serial_write(struct ieee80211_hw *hw,
enum radio_path rfpath, u32 offset, enum radio_path rfpath, u32 offset, u32 data);
u32 data);
void _rtl92c_phy_fw_rf_serial_write(struct ieee80211_hw *hw, void _rtl92c_phy_fw_rf_serial_write(struct ieee80211_hw *hw,
enum radio_path rfpath, u32 offset, enum radio_path rfpath, u32 offset,
u32 data); u32 data);
void _rtl92c_store_pwrIndex_diffrate_offset(struct ieee80211_hw *hw, void _rtl92c_store_pwrIndex_diffrate_offset(struct ieee80211_hw *hw,
u32 regaddr, u32 bitmask, u32 regaddr, u32 bitmask, u32 data);
u32 data);
bool _rtl92ce_phy_config_mac_with_headerfile(struct ieee80211_hw *hw); bool _rtl92ce_phy_config_mac_with_headerfile(struct ieee80211_hw *hw);
void _rtl92c_phy_init_bb_rf_register_definition(struct ieee80211_hw *hw); void _rtl92c_phy_init_bb_rf_register_definition(struct ieee80211_hw *hw);
bool _rtl92c_phy_bb8192c_config_parafile(struct ieee80211_hw *hw); bool _rtl92c_phy_bb8192c_config_parafile(struct ieee80211_hw *hw);
......
...@@ -34,11 +34,10 @@ ...@@ -34,11 +34,10 @@
#define RF6052_MAX_REG 0x3F #define RF6052_MAX_REG 0x3F
#define RF6052_MAX_PATH 2 #define RF6052_MAX_PATH 2
extern void rtl92ce_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, void rtl92ce_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, u8 bandwidth);
u8 bandwidth); void rtl92ce_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
extern void rtl92ce_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel);
u8 *ppowerlevel); void rtl92ce_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw,
extern void rtl92ce_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel, u8 channel);
u8 *ppowerlevel, u8 channel); bool rtl92ce_phy_rf6052_config(struct ieee80211_hw *hw);
extern bool rtl92ce_phy_rf6052_config(struct ieee80211_hw *hw);
#endif #endif
...@@ -34,15 +34,14 @@ ...@@ -34,15 +34,14 @@
#define RF6052_MAX_REG 0x3F #define RF6052_MAX_REG 0x3F
#define RF6052_MAX_PATH 2 #define RF6052_MAX_PATH 2
extern void rtl92cu_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, void rtl92cu_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, u8 bandwidth);
u8 bandwidth); void rtl92c_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
extern void rtl92c_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel);
u8 *ppowerlevel); void rtl92c_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw,
extern void rtl92c_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel, u8 channel);
u8 *ppowerlevel, u8 channel);
bool rtl92cu_phy_rf6052_config(struct ieee80211_hw *hw); bool rtl92cu_phy_rf6052_config(struct ieee80211_hw *hw);
bool rtl92cu_phy_config_rf_with_headerfile(struct ieee80211_hw *hw, bool rtl92cu_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
enum radio_path rfpath); enum radio_path rfpath);
void rtl92cu_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw, void rtl92cu_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
u8 *ppowerlevel); u8 *ppowerlevel);
void rtl92cu_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw, void rtl92cu_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw,
......
...@@ -55,10 +55,9 @@ void rtl92de_set_key(struct ieee80211_hw *hw, u32 key_index, ...@@ -55,10 +55,9 @@ void rtl92de_set_key(struct ieee80211_hw *hw, u32 key_index,
u8 *p_macaddr, bool is_group, u8 enc_algo, u8 *p_macaddr, bool is_group, u8 enc_algo,
bool is_wepkey, bool clear_all); bool is_wepkey, bool clear_all);
extern void rtl92de_write_dword_dbi(struct ieee80211_hw *hw, u16 offset, void rtl92de_write_dword_dbi(struct ieee80211_hw *hw, u16 offset, u32 value,
u32 value, u8 direct); u8 direct);
extern u32 rtl92de_read_dword_dbi(struct ieee80211_hw *hw, u16 offset, u32 rtl92de_read_dword_dbi(struct ieee80211_hw *hw, u16 offset, u8 direct);
u8 direct);
void rtl92de_suspend(struct ieee80211_hw *hw); void rtl92de_suspend(struct ieee80211_hw *hw);
void rtl92de_resume(struct ieee80211_hw *hw); void rtl92de_resume(struct ieee80211_hw *hw);
void rtl92d_linked_set_reg(struct ieee80211_hw *hw); void rtl92d_linked_set_reg(struct ieee80211_hw *hw);
......
...@@ -127,34 +127,30 @@ static inline void rtl92d_release_cckandrw_pagea_ctl(struct ieee80211_hw *hw, ...@@ -127,34 +127,30 @@ static inline void rtl92d_release_cckandrw_pagea_ctl(struct ieee80211_hw *hw,
*flag); *flag);
} }
extern u32 rtl92d_phy_query_bb_reg(struct ieee80211_hw *hw, u32 rtl92d_phy_query_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
u32 regaddr, u32 bitmask); void rtl92d_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask,
extern void rtl92d_phy_set_bb_reg(struct ieee80211_hw *hw, u32 data);
u32 regaddr, u32 bitmask, u32 data); u32 rtl92d_phy_query_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
extern u32 rtl92d_phy_query_rf_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
enum radio_path rfpath, u32 regaddr, void rtl92d_phy_set_rf_reg(struct ieee80211_hw *hw, enum radio_path rfpath,
u32 bitmask); u32 regaddr, u32 bitmask, u32 data);
extern void rtl92d_phy_set_rf_reg(struct ieee80211_hw *hw, bool rtl92d_phy_mac_config(struct ieee80211_hw *hw);
enum radio_path rfpath, u32 regaddr, bool rtl92d_phy_bb_config(struct ieee80211_hw *hw);
u32 bitmask, u32 data); bool rtl92d_phy_rf_config(struct ieee80211_hw *hw);
extern bool rtl92d_phy_mac_config(struct ieee80211_hw *hw); bool rtl92c_phy_config_rf_with_feaderfile(struct ieee80211_hw *hw,
extern bool rtl92d_phy_bb_config(struct ieee80211_hw *hw); enum radio_path rfpath);
extern bool rtl92d_phy_rf_config(struct ieee80211_hw *hw); void rtl92d_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw);
extern bool rtl92c_phy_config_rf_with_feaderfile(struct ieee80211_hw *hw, void rtl92d_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel);
enum radio_path rfpath); void rtl92d_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 operation);
extern void rtl92d_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw); void rtl92d_phy_set_bw_mode(struct ieee80211_hw *hw,
extern void rtl92d_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel); enum nl80211_channel_type ch_type);
extern void rtl92d_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 rtl92d_phy_sw_chnl(struct ieee80211_hw *hw);
u8 operation);
extern void rtl92d_phy_set_bw_mode(struct ieee80211_hw *hw,
enum nl80211_channel_type ch_type);
extern u8 rtl92d_phy_sw_chnl(struct ieee80211_hw *hw);
bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw, bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
enum rf_content content, enum rf_content content,
enum radio_path rfpath); enum radio_path rfpath);
bool rtl92d_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype); bool rtl92d_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype);
extern bool rtl92d_phy_set_rf_power_state(struct ieee80211_hw *hw, bool rtl92d_phy_set_rf_power_state(struct ieee80211_hw *hw,
enum rf_pwrstate rfpwr_state); enum rf_pwrstate rfpwr_state);
void rtl92d_phy_config_macphymode(struct ieee80211_hw *hw); void rtl92d_phy_config_macphymode(struct ieee80211_hw *hw);
void rtl92d_phy_config_macphymode_info(struct ieee80211_hw *hw); void rtl92d_phy_config_macphymode_info(struct ieee80211_hw *hw);
......
...@@ -30,15 +30,13 @@ ...@@ -30,15 +30,13 @@
#ifndef __RTL92D_RF_H__ #ifndef __RTL92D_RF_H__
#define __RTL92D_RF_H__ #define __RTL92D_RF_H__
extern void rtl92d_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, void rtl92d_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, u8 bandwidth);
u8 bandwidth); void rtl92d_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
extern void rtl92d_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel);
u8 *ppowerlevel); void rtl92d_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw,
extern void rtl92d_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel, u8 channel);
u8 *ppowerlevel, u8 channel); bool rtl92d_phy_rf6052_config(struct ieee80211_hw *hw);
extern bool rtl92d_phy_rf6052_config(struct ieee80211_hw *hw); bool rtl92d_phy_enable_anotherphy(struct ieee80211_hw *hw, bool bmac0);
extern bool rtl92d_phy_enable_anotherphy(struct ieee80211_hw *hw, bool bmac0); void rtl92d_phy_powerdown_anotherphy(struct ieee80211_hw *hw, bool bmac0);
extern void rtl92d_phy_powerdown_anotherphy(struct ieee80211_hw *hw,
bool bmac0);
#endif #endif
...@@ -183,42 +183,39 @@ struct tx_power_struct { ...@@ -183,42 +183,39 @@ struct tx_power_struct {
u32 mcs_original_offset[4][16]; u32 mcs_original_offset[4][16];
}; };
extern u32 rtl8723ae_phy_query_bb_reg(struct ieee80211_hw *hw, u32 rtl8723ae_phy_query_bb_reg(struct ieee80211_hw *hw, u32 regaddr,
u32 regaddr, u32 bitmask); u32 bitmask);
extern void rtl8723ae_phy_set_bb_reg(struct ieee80211_hw *hw, void rtl8723ae_phy_set_bb_reg(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask,
u32 regaddr, u32 bitmask, u32 data); u32 data);
extern u32 rtl8723ae_phy_query_rf_reg(struct ieee80211_hw *hw, u32 rtl8723ae_phy_query_rf_reg(struct ieee80211_hw *hw,
enum radio_path rfpath, u32 regaddr, enum radio_path rfpath, u32 regaddr,
u32 bitmask); u32 bitmask);
extern void rtl8723ae_phy_set_rf_reg(struct ieee80211_hw *hw, void rtl8723ae_phy_set_rf_reg(struct ieee80211_hw *hw,
enum radio_path rfpath, u32 regaddr, enum radio_path rfpath, u32 regaddr, u32 bitmask,
u32 bitmask, u32 data); u32 data);
extern bool rtl8723ae_phy_mac_config(struct ieee80211_hw *hw); bool rtl8723ae_phy_mac_config(struct ieee80211_hw *hw);
extern bool rtl8723ae_phy_bb_config(struct ieee80211_hw *hw); bool rtl8723ae_phy_bb_config(struct ieee80211_hw *hw);
extern bool rtl8723ae_phy_rf_config(struct ieee80211_hw *hw); bool rtl8723ae_phy_rf_config(struct ieee80211_hw *hw);
extern bool rtl92c_phy_config_rf_with_feaderfile(struct ieee80211_hw *hw, bool rtl92c_phy_config_rf_with_feaderfile(struct ieee80211_hw *hw,
enum radio_path rfpath); enum radio_path rfpath);
extern void rtl8723ae_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw); void rtl8723ae_phy_get_hw_reg_originalvalue(struct ieee80211_hw *hw);
extern void rtl8723ae_phy_get_txpower_level(struct ieee80211_hw *hw, void rtl8723ae_phy_get_txpower_level(struct ieee80211_hw *hw, long *powerlevel);
long *powerlevel); void rtl8723ae_phy_set_txpower_level(struct ieee80211_hw *hw, u8 channel);
extern void rtl8723ae_phy_set_txpower_level(struct ieee80211_hw *hw, bool rtl8723ae_phy_update_txpower_dbm(struct ieee80211_hw *hw,
u8 channel); long power_indbm);
extern bool rtl8723ae_phy_update_txpower_dbm(struct ieee80211_hw *hw, void rtl8723ae_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 operation);
long power_indbm); void rtl8723ae_phy_set_bw_mode_callback(struct ieee80211_hw *hw);
extern void rtl8723ae_phy_scan_operation_backup(struct ieee80211_hw *hw, void rtl8723ae_phy_set_bw_mode(struct ieee80211_hw *hw,
u8 operation); enum nl80211_channel_type ch_type);
extern void rtl8723ae_phy_set_bw_mode_callback(struct ieee80211_hw *hw); void rtl8723ae_phy_sw_chnl_callback(struct ieee80211_hw *hw);
extern void rtl8723ae_phy_set_bw_mode(struct ieee80211_hw *hw, u8 rtl8723ae_phy_sw_chnl(struct ieee80211_hw *hw);
enum nl80211_channel_type ch_type); void rtl8723ae_phy_iq_calibrate(struct ieee80211_hw *hw, bool recovery);
extern void rtl8723ae_phy_sw_chnl_callback(struct ieee80211_hw *hw);
extern u8 rtl8723ae_phy_sw_chnl(struct ieee80211_hw *hw);
extern void rtl8723ae_phy_iq_calibrate(struct ieee80211_hw *hw, bool recovery);
void rtl8723ae_phy_lc_calibrate(struct ieee80211_hw *hw); void rtl8723ae_phy_lc_calibrate(struct ieee80211_hw *hw);
void rtl8723ae_phy_set_rfpath_switch(struct ieee80211_hw *hw, bool bmain); void rtl8723ae_phy_set_rfpath_switch(struct ieee80211_hw *hw, bool bmain);
bool rtl8723ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw, bool rtl8723ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
enum radio_path rfpath); enum radio_path rfpath);
bool rtl8723ae_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype); bool rtl8723ae_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype);
extern bool rtl8723ae_phy_set_rf_power_state(struct ieee80211_hw *hw, bool rtl8723ae_phy_set_rf_power_state(struct ieee80211_hw *hw,
enum rf_pwrstate rfpwr_state); enum rf_pwrstate rfpwr_state);
#endif #endif
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#define RF6052_MAX_TX_PWR 0x3F #define RF6052_MAX_TX_PWR 0x3F
extern void rtl8723ae_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, void rtl8723ae_phy_rf6052_set_bandwidth(struct ieee80211_hw *hw, u8 bandwidth);
u8 bandwidth); void rtl8723ae_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
extern void rtl8723ae_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel);
u8 *ppowerlevel); void rtl8723ae_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw,
extern void rtl8723ae_phy_rf6052_set_ofdm_txpower(struct ieee80211_hw *hw, u8 *ppowerlevel, u8 channel);
u8 *ppowerlevel, u8 channel); bool rtl8723ae_phy_rf6052_config(struct ieee80211_hw *hw);
extern bool rtl8723ae_phy_rf6052_config(struct ieee80211_hw *hw);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment