Commit 41feb5ed authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Staging: brcm80211: sys: s/uint8/u8/

Replace uint8 with u8, the correct kernel type to be using here.

Cc: Brett Rudley <brudley@broadcom.com>
Cc: Henry Ptasinski <henryp@broadcom.com>
Cc: Nohee Ko <noheek@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 36ef9a1e
......@@ -28,7 +28,7 @@ extern uint32 wl_intrsoff(struct wl_info *wl);
extern void wl_intrsrestore(struct wl_info *wl, uint32 macintmask);
extern void wl_event(struct wl_info *wl, char *ifname, wlc_event_t *e);
extern void wl_event_sendup(struct wl_info *wl, const wlc_event_t *e,
uint8 *data, uint32 len);
u8 *data, uint32 len);
extern int wl_up(struct wl_info *wl);
extern void wl_down(struct wl_info *wl);
extern void wl_txflowcontrol(struct wl_info *wl, struct wl_if *wlif, bool state,
......
......@@ -773,7 +773,7 @@ static wl_info_t *wl_attach(uint16 vendor, uint16 device, ulong regs,
ulong base_addr;
struct ieee80211_hw *hw;
uint8 perm[ETH_ALEN];
u8 perm[ETH_ALEN];
unit = wl_found + instance_base;
err = 0;
......@@ -2285,7 +2285,7 @@ char *wl_firmwares[WL_MAX_FW] = {
int wl_ucode_init_buf(wl_info_t *wl, void **pbuf, uint32 idx)
{
int i, entry;
const uint8 *pdata;
const u8 *pdata;
struct wl_fw_hdr *hdr;
for (i = 0; i < wl->fw.fw_cnt; i++) {
hdr = (struct wl_fw_hdr *)wl->fw.fw_hdr[i]->data;
......@@ -2311,7 +2311,7 @@ int wl_ucode_init_buf(wl_info_t *wl, void **pbuf, uint32 idx)
int wl_ucode_init_uint(wl_info_t *wl, uint32 *data, uint32 idx)
{
int i, entry;
const uint8 *pdata;
const u8 *pdata;
struct wl_fw_hdr *hdr;
for (i = 0; i < wl->fw.fw_cnt; i++) {
hdr = (struct wl_fw_hdr *)wl->fw.fw_hdr[i]->data;
......
This diff is collapsed.
......@@ -29,7 +29,7 @@ extern void wlc_ampdu_reset(ampdu_info_t *ampdu);
extern void wlc_ampdu_macaddr_upd(wlc_info_t *wlc);
extern void wlc_ampdu_shm_upd(ampdu_info_t *ampdu);
extern uint8 wlc_ampdu_null_delim_cnt(ampdu_info_t *ampdu, struct scb *scb,
extern u8 wlc_ampdu_null_delim_cnt(ampdu_info_t *ampdu, struct scb *scb,
ratespec_t rspec, int phylen);
extern void scb_ampdu_cleanup(ampdu_info_t *ampdu, struct scb *scb);
#ifdef WLC_HIGH_ONLY
......
......@@ -60,8 +60,8 @@
/* static functions */
static int wlc_antsel_cfgupd(antsel_info_t *asi, wlc_antselcfg_t *antsel);
static uint8 wlc_antsel_id2antcfg(antsel_info_t *asi, uint8 id);
static uint16 wlc_antsel_antcfg2antsel(antsel_info_t *asi, uint8 ant_cfg);
static u8 wlc_antsel_id2antcfg(antsel_info_t *asi, u8 id);
static uint16 wlc_antsel_antcfg2antsel(antsel_info_t *asi, u8 ant_cfg);
static void wlc_antsel_init_cfg(antsel_info_t *asi, wlc_antselcfg_t *antsel,
bool auto_sel);
......@@ -72,7 +72,7 @@ const uint16 mimo_2x4_div_antselpat_tbl[] = {
0, 0, 0, 0 /* n.a. */
};
const uint8 mimo_2x4_div_antselid_tbl[16] = {
const u8 mimo_2x4_div_antselid_tbl[16] = {
0, 0, 0, 0, 0, 2, 3, 0,
0, 0, 1, 0, 0, 0, 0, 0 /* pat to antselid */
};
......@@ -84,7 +84,7 @@ const uint16 mimo_2x3_div_antselpat_tbl[] = {
16, 16, 16, 16 /* n.a. */
};
const uint8 mimo_2x3_div_antselid_tbl[16] = {
const u8 mimo_2x3_div_antselid_tbl[16] = {
0, 1, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 /* pat to antselid */
};
......@@ -106,7 +106,7 @@ antsel_info_t *BCMNMIATTACHFN(wlc_antsel_attach) (wlc_info_t *wlc, osl_t *osh,
asi->pub = pub;
asi->antsel_type = ANTSEL_NA;
asi->antsel_avail = FALSE;
asi->antsel_antswitch = (uint8) getintvar(asi->pub->vars, "antswitch");
asi->antsel_antswitch = (u8) getintvar(asi->pub->vars, "antswitch");
if ((asi->pub->sromrev >= 4) && (asi->antsel_antswitch != 0)) {
switch (asi->antsel_antswitch) {
......@@ -176,7 +176,7 @@ wlc_antsel_init_cfg(antsel_info_t *asi, wlc_antselcfg_t *antsel,
bool auto_sel)
{
if (asi->antsel_type == ANTSEL_2x3) {
uint8 antcfg_def = ANT_SELCFG_DEF_2x3 |
u8 antcfg_def = ANT_SELCFG_DEF_2x3 |
((asi->antsel_avail && auto_sel) ? ANT_SELCFG_AUTO : 0);
antsel->ant_config[ANT_SELCFG_TX_DEF] = antcfg_def;
antsel->ant_config[ANT_SELCFG_TX_UNICAST] = antcfg_def;
......@@ -204,10 +204,10 @@ wlc_antsel_init_cfg(antsel_info_t *asi, wlc_antselcfg_t *antsel,
void BCMFASTPATH
wlc_antsel_antcfg_get(antsel_info_t *asi, bool usedef, bool sel,
uint8 antselid, uint8 fbantselid, uint8 *antcfg,
uint8 *fbantcfg)
u8 antselid, u8 fbantselid, u8 *antcfg,
u8 *fbantcfg)
{
uint8 ant;
u8 ant;
/* if use default, assign it and return */
if (usedef) {
......@@ -235,9 +235,9 @@ wlc_antsel_antcfg_get(antsel_info_t *asi, bool usedef, bool sel,
}
/* boardlevel antenna selection: convert mimo_antsel (ucode interface) to id */
uint8 wlc_antsel_antsel2id(antsel_info_t *asi, uint16 antsel)
u8 wlc_antsel_antsel2id(antsel_info_t *asi, uint16 antsel)
{
uint8 antselid = 0;
u8 antselid = 0;
if (asi->antsel_type == ANTSEL_2x4) {
/* 2x4 antenna diversity board, 4 cfgs: 0-2 0-3 1-2 1-3 */
......@@ -254,9 +254,9 @@ uint8 wlc_antsel_antsel2id(antsel_info_t *asi, uint16 antsel)
}
/* boardlevel antenna selection: convert id to ant_cfg */
static uint8 wlc_antsel_id2antcfg(antsel_info_t *asi, uint8 id)
static u8 wlc_antsel_id2antcfg(antsel_info_t *asi, u8 id)
{
uint8 antcfg = ANT_SELCFG_DEF_2x2;
u8 antcfg = ANT_SELCFG_DEF_2x2;
if (asi->antsel_type == ANTSEL_2x4) {
/* 2x4 antenna diversity board, 4 cfgs: 0-2 0-3 1-2 1-3 */
......@@ -273,9 +273,9 @@ static uint8 wlc_antsel_id2antcfg(antsel_info_t *asi, uint8 id)
}
/* boardlevel antenna selection: convert ant_cfg to mimo_antsel (ucode interface) */
static uint16 wlc_antsel_antcfg2antsel(antsel_info_t *asi, uint8 ant_cfg)
static uint16 wlc_antsel_antcfg2antsel(antsel_info_t *asi, u8 ant_cfg)
{
uint8 idx = WLC_ANTIDX_11N(WLC_ANTSEL_11N(ant_cfg));
u8 idx = WLC_ANTIDX_11N(WLC_ANTSEL_11N(ant_cfg));
uint16 mimo_antsel = 0;
if (asi->antsel_type == ANTSEL_2x4) {
......@@ -296,7 +296,7 @@ static uint16 wlc_antsel_antcfg2antsel(antsel_info_t *asi, uint8 ant_cfg)
static int wlc_antsel_cfgupd(antsel_info_t *asi, wlc_antselcfg_t *antsel)
{
wlc_info_t *wlc = asi->wlc;
uint8 ant_cfg;
u8 ant_cfg;
uint16 mimo_antsel;
ASSERT(asi->antsel_type != ANTSEL_NA);
......
......@@ -22,7 +22,7 @@ extern antsel_info_t *wlc_antsel_attach(wlc_info_t *wlc, osl_t *osh,
extern void wlc_antsel_detach(antsel_info_t *asi);
extern void wlc_antsel_init(antsel_info_t *asi);
extern void wlc_antsel_antcfg_get(antsel_info_t *asi, bool usedef, bool sel,
uint8 id, uint8 fbid, uint8 *antcfg,
uint8 *fbantcfg);
extern uint8 wlc_antsel_antsel2id(antsel_info_t *asi, uint16 antsel);
u8 id, u8 fbid, u8 *antcfg,
u8 *fbantcfg);
extern u8 wlc_antsel_antsel2id(antsel_info_t *asi, uint16 antsel);
#endif /* _wlc_antsel_h_ */
......@@ -167,7 +167,7 @@ static void wlc_bmac_setband(wlc_hw_info_t *wlc_hw, uint bandunit,
static void wlc_bmac_update_slot_timing(wlc_hw_info_t *wlc_hw, bool shortslot);
static void wlc_upd_ofdm_pctl1_table(wlc_hw_info_t *wlc_hw);
static uint16 wlc_bmac_ofdm_ratetable_offset(wlc_hw_info_t *wlc_hw,
uint8 rate);
u8 rate);
/* === Low Level functions === */
......@@ -828,7 +828,7 @@ BCMATTACHFN(wlc_bmac_attach) (wlc_info_t *wlc, uint16 vendor, uint16 device,
err = 15;
goto fail;
}
wlc_hw->sromrev = (uint8) getintvar(vars, "sromrev");
wlc_hw->sromrev = (u8) getintvar(vars, "sromrev");
wlc_hw->boardflags = (uint32) getintvar(vars, "boardflags");
wlc_hw->boardflags2 = (uint32) getintvar(vars, "boardflags2");
......@@ -1488,7 +1488,7 @@ BCMINITFN(wlc_mhfdef) (wlc_info_t *wlc, uint16 *mhfs, uint16 mhf2_init)
* WLC_BAND_ALL <--- All bands
*/
void
wlc_bmac_mhf(wlc_hw_info_t *wlc_hw, uint8 idx, uint16 mask, uint16 val,
wlc_bmac_mhf(wlc_hw_info_t *wlc_hw, u8 idx, uint16 mask, uint16 val,
int bands)
{
uint16 save;
......@@ -1542,7 +1542,7 @@ wlc_bmac_mhf(wlc_hw_info_t *wlc_hw, uint8 idx, uint16 mask, uint16 val,
}
}
uint16 wlc_bmac_mhf_get(wlc_hw_info_t *wlc_hw, uint8 idx, int bands)
uint16 wlc_bmac_mhf_get(wlc_hw_info_t *wlc_hw, u8 idx, int bands)
{
wlc_hwband_t *band;
ASSERT(idx < MHFMAX);
......@@ -1570,7 +1570,7 @@ uint16 wlc_bmac_mhf_get(wlc_hw_info_t *wlc_hw, uint8 idx, int bands)
static void wlc_write_mhf(wlc_hw_info_t *wlc_hw, uint16 *mhfs)
{
uint8 idx;
u8 idx;
uint16 addr[] = {
M_HOST_FLAGS1, M_HOST_FLAGS2, M_HOST_FLAGS3, M_HOST_FLAGS4,
M_HOST_FLAGS5
......@@ -1802,7 +1802,7 @@ wlc_bmac_write_template_ram(wlc_hw_info_t *wlc_hw, int offset, int len,
be_bit = (R_REG(osh, &regs->maccontrol) & MCTL_BIGEND) != 0;
while (len > 0) {
bcopy((uint8 *) buf, &word, sizeof(uint32));
bcopy((u8 *) buf, &word, sizeof(uint32));
if (be_bit)
word = hton32(word);
......@@ -1811,7 +1811,7 @@ wlc_bmac_write_template_ram(wlc_hw_info_t *wlc_hw, int offset, int len,
W_REG(osh, &regs->tplatewrdata, word);
buf = (uint8 *) buf + sizeof(uint32);
buf = (u8 *) buf + sizeof(uint32);
len -= sizeof(uint32);
}
}
......@@ -2688,7 +2688,7 @@ static void BCMINITFN(wlc_coreinit) (wlc_info_t *wlc)
* - 559241 = 0x88889 => tsf_clk_frac_h = 0x8, tsf_clk_frac_l = 0x8889
*/
void wlc_bmac_switch_macfreq(wlc_hw_info_t *wlc_hw, uint8 spurmode)
void wlc_bmac_switch_macfreq(wlc_hw_info_t *wlc_hw, u8 spurmode)
{
d11regs_t *regs;
osl_t *osh;
......@@ -2838,12 +2838,12 @@ static void wlc_write_inits(wlc_hw_info_t *wlc_hw, const d11init_t *inits)
{
int i;
osl_t *osh;
volatile uint8 *base;
volatile u8 *base;
WL_TRACE(("wl%d: wlc_write_inits\n", wlc_hw->unit));
osh = wlc_hw->osh;
base = (volatile uint8 *)wlc_hw->regs;
base = (volatile u8 *)wlc_hw->regs;
for (i = 0; inits[i].addr != 0xffff; i++) {
ASSERT((inits[i].size == 2) || (inits[i].size == 4));
......@@ -2891,7 +2891,7 @@ uint16 wlc_bmac_get_txant(wlc_hw_info_t *wlc_hw)
return (uint16) wlc_hw->wlc->stf->txant;
}
void wlc_bmac_antsel_type_set(wlc_hw_info_t *wlc_hw, uint8 antsel_type)
void wlc_bmac_antsel_type_set(wlc_hw_info_t *wlc_hw, u8 antsel_type)
{
wlc_hw->antsel_type = antsel_type;
......@@ -3117,7 +3117,7 @@ bool wlc_bmac_tx_fifo_suspended(wlc_hw_info_t *wlc_hw, uint tx_fifo)
void wlc_bmac_tx_fifo_suspend(wlc_hw_info_t *wlc_hw, uint tx_fifo)
{
uint8 fifo = 1 << tx_fifo;
u8 fifo = 1 << tx_fifo;
/* Two clients of this code, 11h Quiet period and scanning. */
......@@ -3582,8 +3582,8 @@ void wlc_bmac_ifsctl_edcrs_set(wlc_hw_info_t *wlc_hw, bool abie, bool isht)
static void wlc_upd_ofdm_pctl1_table(wlc_hw_info_t *wlc_hw)
{
uint8 rate;
uint8 rates[8] = {
u8 rate;
u8 rates[8] = {
WLC_RATE_6M, WLC_RATE_9M, WLC_RATE_12M, WLC_RATE_18M,
WLC_RATE_24M, WLC_RATE_36M, WLC_RATE_48M, WLC_RATE_54M
};
......@@ -3614,13 +3614,13 @@ static void wlc_upd_ofdm_pctl1_table(wlc_hw_info_t *wlc_hw)
}
}
static uint16 wlc_bmac_ofdm_ratetable_offset(wlc_hw_info_t *wlc_hw, uint8 rate)
static uint16 wlc_bmac_ofdm_ratetable_offset(wlc_hw_info_t *wlc_hw, u8 rate)
{
uint i;
uint8 plcp_rate = 0;
u8 plcp_rate = 0;
struct plcp_signal_rate_lookup {
uint8 rate;
uint8 signal_rate;
u8 rate;
u8 signal_rate;
};
/* OFDM RATE sub-field of PLCP SIGNAL field, per 802.11 sec 17.3.4.1 */
const struct plcp_signal_rate_lookup rate_lookup[] = {
......@@ -3647,7 +3647,7 @@ static uint16 wlc_bmac_ofdm_ratetable_offset(wlc_hw_info_t *wlc_hw, uint8 rate)
return 2 * wlc_bmac_read_shm(wlc_hw, M_RT_DIRMAP_A + (plcp_rate * 2));
}
void wlc_bmac_band_stf_ss_set(wlc_hw_info_t *wlc_hw, uint8 stf_mode)
void wlc_bmac_band_stf_ss_set(wlc_hw_info_t *wlc_hw, u8 stf_mode)
{
wlc_hw->hw_stf_ss_opmode = stf_mode;
......@@ -3984,7 +3984,7 @@ wlc_bmac_copyto_objmem(wlc_hw_info_t *wlc_hw, uint offset, const void *buf,
int len, uint32 sel)
{
uint16 v;
const uint8 *p = (const uint8 *)buf;
const u8 *p = (const u8 *)buf;
int i;
/* offset and len need to be even */
......@@ -4010,7 +4010,7 @@ wlc_bmac_copyfrom_objmem(wlc_hw_info_t *wlc_hw, uint offset, void *buf,
int len, uint32 sel)
{
uint16 v;
uint8 *p = (uint8 *) buf;
u8 *p = (u8 *) buf;
int i;
/* offset and len need to be even */
......@@ -4178,10 +4178,10 @@ bool wlc_bmac_radio_hw(wlc_hw_info_t *wlc_hw, bool enable)
return TRUE;
}
uint16 wlc_bmac_rate_shm_offset(wlc_hw_info_t *wlc_hw, uint8 rate)
uint16 wlc_bmac_rate_shm_offset(wlc_hw_info_t *wlc_hw, u8 rate)
{
uint16 table_ptr;
uint8 phy_rate, index;
u8 phy_rate, index;
/* get the phy specific rate encoding for the PLCP SIGNAL field */
/* XXX4321 fixup needed ? */
......@@ -4202,7 +4202,7 @@ uint16 wlc_bmac_rate_shm_offset(wlc_hw_info_t *wlc_hw, uint8 rate)
return 2 * wlc_bmac_read_shm(wlc_hw, table_ptr + (index * 2));
}
void wlc_bmac_set_txpwr_percent(wlc_hw_info_t *wlc_hw, uint8 val)
void wlc_bmac_set_txpwr_percent(wlc_hw_info_t *wlc_hw, u8 val)
{
wlc_phy_txpwr_percent_set(wlc_hw->band->pi, val);
}
......
......@@ -167,7 +167,7 @@ extern int wlc_bmac_up_finish(wlc_hw_info_t *wlc_hw);
extern int wlc_bmac_down_prep(wlc_hw_info_t *wlc_hw);
extern int wlc_bmac_down_finish(wlc_hw_info_t *wlc_hw);
extern void wlc_bmac_corereset(wlc_hw_info_t *wlc_hw, uint32 flags);
extern void wlc_bmac_switch_macfreq(wlc_hw_info_t *wlc_hw, uint8 spurmode);
extern void wlc_bmac_switch_macfreq(wlc_hw_info_t *wlc_hw, u8 spurmode);
/* chanspec, ucode interface */
extern int wlc_bmac_bandtype(wlc_hw_info_t *wlc_hw);
......@@ -175,18 +175,18 @@ extern void wlc_bmac_set_chanspec(wlc_hw_info_t *wlc_hw, chanspec_t chanspec,
bool mute, struct txpwr_limits *txpwr);
extern void wlc_bmac_txfifo(wlc_hw_info_t *wlc_hw, uint fifo, void *p,
bool commit, uint16 frameid, uint8 txpktpend);
bool commit, uint16 frameid, u8 txpktpend);
extern int wlc_bmac_xmtfifo_sz_get(wlc_hw_info_t *wlc_hw, uint fifo,
uint *blocks);
extern void wlc_bmac_mhf(wlc_hw_info_t *wlc_hw, uint8 idx, uint16 mask,
extern void wlc_bmac_mhf(wlc_hw_info_t *wlc_hw, u8 idx, uint16 mask,
uint16 val, int bands);
extern void wlc_bmac_mctrl(wlc_hw_info_t *wlc_hw, uint32 mask, uint32 val);
extern uint16 wlc_bmac_mhf_get(wlc_hw_info_t *wlc_hw, uint8 idx, int bands);
extern uint16 wlc_bmac_mhf_get(wlc_hw_info_t *wlc_hw, u8 idx, int bands);
extern int wlc_bmac_xmtfifo_sz_set(wlc_hw_info_t *wlc_hw, uint fifo,
uint blocks);
extern void wlc_bmac_txant_set(wlc_hw_info_t *wlc_hw, uint16 phytxant);
extern uint16 wlc_bmac_get_txant(wlc_hw_info_t *wlc_hw);
extern void wlc_bmac_antsel_type_set(wlc_hw_info_t *wlc_hw, uint8 antsel_type);
extern void wlc_bmac_antsel_type_set(wlc_hw_info_t *wlc_hw, u8 antsel_type);
extern int wlc_bmac_revinfo_get(wlc_hw_info_t *wlc_hw,
wlc_bmac_revinfo_t *revinfo);
extern int wlc_bmac_state_get(wlc_hw_info_t *wlc_hw, wlc_bmac_state_t *state);
......@@ -211,7 +211,7 @@ extern bool wlc_bmac_radio_read_hwdisabled(wlc_hw_info_t *wlc_hw);
extern void wlc_bmac_set_shortslot(wlc_hw_info_t *wlc_hw, bool shortslot);
extern void wlc_bmac_mute(wlc_hw_info_t *wlc_hw, bool want, mbool flags);
extern void wlc_bmac_set_deaf(wlc_hw_info_t *wlc_hw, bool user_flag);
extern void wlc_bmac_band_stf_ss_set(wlc_hw_info_t *wlc_hw, uint8 stf_mode);
extern void wlc_bmac_band_stf_ss_set(wlc_hw_info_t *wlc_hw, u8 stf_mode);
extern void wlc_bmac_wait_for_wake(wlc_hw_info_t *wlc_hw);
extern bool wlc_bmac_tx_fifo_suspended(wlc_hw_info_t *wlc_hw, uint tx_fifo);
......@@ -266,10 +266,10 @@ extern void wlc_bmac_dump(wlc_hw_info_t *wlc_hw, struct bcmstrbuf *b,
extern void wlc_gpio_fast_deinit(wlc_hw_info_t *wlc_hw);
extern bool wlc_bmac_radio_hw(wlc_hw_info_t *wlc_hw, bool enable);
extern uint16 wlc_bmac_rate_shm_offset(wlc_hw_info_t *wlc_hw, uint8 rate);
extern uint16 wlc_bmac_rate_shm_offset(wlc_hw_info_t *wlc_hw, u8 rate);
extern void wlc_bmac_assert_type_set(wlc_hw_info_t *wlc_hw, uint32 type);
extern void wlc_bmac_set_txpwr_percent(wlc_hw_info_t *wlc_hw, uint8 val);
extern void wlc_bmac_set_txpwr_percent(wlc_hw_info_t *wlc_hw, u8 val);
extern void wlc_bmac_blink_sync(wlc_hw_info_t *wlc_hw, uint32 led_pins);
extern void wlc_bmac_ifsctl_edcrs_set(wlc_hw_info_t *wlc_hw, bool abie,
bool isht);
......
......@@ -61,8 +61,8 @@ struct wlc_bsscfg {
void *authenticator; /* pointer to authenticator state */
bool sup_auth_pending; /* flag for auth timeout */
#endif
uint8 SSID_len; /* the length of SSID */
uint8 SSID[DOT11_MAX_SSID_LEN]; /* SSID string */
u8 SSID_len; /* the length of SSID */
u8 SSID[DOT11_MAX_SSID_LEN]; /* SSID string */
struct scb *bcmc_scb[MAXBANDS]; /* one bcmc_scb per band */
int8 _idx; /* the index of this bsscfg,
* assigned at wlc_bsscfg_alloc()
......@@ -99,7 +99,7 @@ struct wlc_bsscfg {
uint32 flags; /* WLC_BSSCFG flags; see below */
uint8 *bcn; /* AP beacon */
u8 *bcn; /* AP beacon */
uint bcn_len; /* AP beacon length */
bool ar_disassoc; /* disassociated in associated recreation */
......
......@@ -32,11 +32,11 @@
#include <wlc_channel.h>
typedef struct wlc_cm_band {
uint8 locale_flags; /* locale_info_t flags */
u8 locale_flags; /* locale_info_t flags */
chanvec_t valid_channels; /* List of valid channels in the country */
const chanvec_t *restricted_channels; /* List of restricted use channels */
const chanvec_t *radar_channels; /* List of radar sensitive channels */
uint8 PAD[8];
u8 PAD[8];
} wlc_cm_band_t;
struct wlc_cm_info {
......@@ -74,11 +74,11 @@ static void wlc_channel_min_txpower_limits_with_local_constraint(wlc_cm_info_t *
struct
txpwr_limits
*txpwr,
uint8
u8
local_constraint_qdbm);
void wlc_locale_add_channels(chanvec_t *target, const chanvec_t *channels);
static const locale_mimo_info_t *wlc_get_mimo_2g(uint8 locale_idx);
static const locale_mimo_info_t *wlc_get_mimo_5g(uint8 locale_idx);
static const locale_mimo_info_t *wlc_get_mimo_2g(u8 locale_idx);
static const locale_mimo_info_t *wlc_get_mimo_5g(u8 locale_idx);
/* QDB() macro takes a dB value and converts to a quarter dB value */
#ifdef QDB
......@@ -368,7 +368,7 @@ static const chanvec_t *g_table_locale_base[] = {
void wlc_locale_add_channels(chanvec_t *target, const chanvec_t *channels)
{
uint8 i;
u8 i;
for (i = 0; i < sizeof(chanvec_t); i++) {
target->vec[i] |= channels->vec[i];
}
......@@ -376,7 +376,7 @@ void wlc_locale_add_channels(chanvec_t *target, const chanvec_t *channels)
void wlc_locale_get_channels(const locale_info_t *locale, chanvec_t *channels)
{
uint8 i;
u8 i;
bzero(channels, sizeof(chanvec_t));
......@@ -486,8 +486,8 @@ static const struct {
#ifdef SUPPORT_40MHZ
/* 20MHz channel info for 40MHz pairing support */
struct chan20_info {
uint8 sb;
uint8 adj_sbs;
u8 sb;
u8 adj_sbs;
};
/* indicates adjacent channels that are allowed for a 40 Mhz channel and
......@@ -560,7 +560,7 @@ struct chan20_info chan20_info[] = {
};
#endif /* SUPPORT_40MHZ */
const locale_info_t *wlc_get_locale_2g(uint8 locale_idx)
const locale_info_t *wlc_get_locale_2g(u8 locale_idx)
{
if (locale_idx >= ARRAYSIZE(g_locale_2g_table)) {
WL_ERROR(("%s: locale 2g index size out of range %d\n",
......@@ -571,7 +571,7 @@ const locale_info_t *wlc_get_locale_2g(uint8 locale_idx)
return g_locale_2g_table[locale_idx];
}
const locale_info_t *wlc_get_locale_5g(uint8 locale_idx)
const locale_info_t *wlc_get_locale_5g(u8 locale_idx)
{
if (locale_idx >= ARRAYSIZE(g_locale_5g_table)) {
WL_ERROR(("%s: locale 5g index size out of range %d\n",
......@@ -582,7 +582,7 @@ const locale_info_t *wlc_get_locale_5g(uint8 locale_idx)
return g_locale_5g_table[locale_idx];
}
const locale_mimo_info_t *wlc_get_mimo_2g(uint8 locale_idx)
const locale_mimo_info_t *wlc_get_mimo_2g(u8 locale_idx)
{
if (locale_idx >= ARRAYSIZE(g_mimo_2g_table)) {
WL_ERROR(("%s: mimo 2g index size out of range %d\n", __func__,
......@@ -592,7 +592,7 @@ const locale_mimo_info_t *wlc_get_mimo_2g(uint8 locale_idx)
return g_mimo_2g_table[locale_idx];
}
const locale_mimo_info_t *wlc_get_mimo_5g(uint8 locale_idx)
const locale_mimo_info_t *wlc_get_mimo_5g(u8 locale_idx)
{
if (locale_idx >= ARRAYSIZE(g_mimo_5g_table)) {
WL_ERROR(("%s: mimo 5g index size out of range %d\n", __func__,
......@@ -660,14 +660,14 @@ const char *wlc_channel_country_abbrev(wlc_cm_info_t *wlc_cm)
return wlc_cm->country_abbrev;
}
uint8 wlc_channel_locale_flags(wlc_cm_info_t *wlc_cm)
u8 wlc_channel_locale_flags(wlc_cm_info_t *wlc_cm)
{
wlc_info_t *wlc = wlc_cm->wlc;
return wlc_cm->bandstate[wlc->band->bandunit].locale_flags;
}
uint8 wlc_channel_locale_flags_in_band(wlc_cm_info_t *wlc_cm, uint bandunit)
u8 wlc_channel_locale_flags_in_band(wlc_cm_info_t *wlc_cm, uint bandunit)
{
return wlc_cm->bandstate[bandunit].locale_flags;
}
......@@ -1077,7 +1077,7 @@ bool wlc_valid_40chanspec_in_band(wlc_cm_info_t *wlc_cm, uint bandunit)
static void
wlc_channel_min_txpower_limits_with_local_constraint(wlc_cm_info_t *wlc_cm,
struct txpwr_limits *txpwr,
uint8
u8
local_constraint_qdbm)
{
int j;
......@@ -1163,7 +1163,7 @@ wlc_channel_min_txpower_limits_with_local_constraint(wlc_cm_info_t *wlc_cm,
void
wlc_channel_set_chanspec(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
uint8 local_constraint_qdbm)
u8 local_constraint_qdbm)
{
wlc_info_t *wlc = wlc_cm->wlc;
struct txpwr_limits txpwr;
......@@ -1180,7 +1180,7 @@ wlc_channel_set_chanspec(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
int
wlc_channel_set_txpower_limit(wlc_cm_info_t *wlc_cm,
uint8 local_constraint_qdbm)
u8 local_constraint_qdbm)
{
wlc_info_t *wlc = wlc_cm->wlc;
struct txpwr_limits txpwr;
......@@ -1359,7 +1359,7 @@ wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
maxpwr = MIN(maxpwr, conducted_max);
for (i = 0; i < WLC_NUM_RATES_CCK; i++)
txpwr->cck[i] = (uint8) maxpwr;
txpwr->cck[i] = (u8) maxpwr;
}
/* OFDM txpwr limits for 2.4G or 5G bands */
......@@ -1379,7 +1379,7 @@ wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
maxpwr = MIN(maxpwr, txpwr->cck[0]);
for (i = 0; i < WLC_NUM_RATES_OFDM; i++) {
txpwr->ofdm[i] = (uint8) maxpwr;
txpwr->ofdm[i] = (u8) maxpwr;
}
for (i = 0; i < WLC_NUM_RATES_OFDM; i++) {
......@@ -1390,7 +1390,7 @@ wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
*/
txpwr->ofdm_40_siso[i] = 0;
txpwr->ofdm_cdd[i] = (uint8) maxpwr;
txpwr->ofdm_cdd[i] = (u8) maxpwr;
txpwr->ofdm_40_cdd[i] = 0;
}
......@@ -1429,8 +1429,8 @@ wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
/* Fill in the MCS 0-7 CDD rates */
for (i = 0; i < WLC_NUM_RATES_MCS_1_STREAM; i++) {
txpwr->mcs_20_cdd[i] = (uint8) maxpwr20;
txpwr->mcs_40_cdd[i] = (uint8) maxpwr40;
txpwr->mcs_20_cdd[i] = (u8) maxpwr20;
txpwr->mcs_40_cdd[i] = (u8) maxpwr40;
}
/* These locales have SISO expressed in the table and override CDD later */
......@@ -1445,8 +1445,8 @@ wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
}
for (i = 0; i < WLC_NUM_RATES_MCS_1_STREAM; i++) {
txpwr->mcs_20_siso[i] = (uint8) maxpwr20;
txpwr->mcs_40_siso[i] = (uint8) maxpwr40;
txpwr->mcs_20_siso[i] = (u8) maxpwr20;
txpwr->mcs_40_siso[i] = (u8) maxpwr40;
}
}
......@@ -1458,12 +1458,12 @@ wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm, chanspec_t chanspec,
/* Fill in the MCS 8-15 SDM rates */
for (i = 0; i < WLC_NUM_RATES_MCS_2_STREAM; i++) {
txpwr->mcs_20_mimo[i] = (uint8) maxpwr20;
txpwr->mcs_40_mimo[i] = (uint8) maxpwr40;
txpwr->mcs_20_mimo[i] = (u8) maxpwr20;
txpwr->mcs_40_mimo[i] = (u8) maxpwr40;
}
/* Fill in MCS32 */
txpwr->mcs32 = (uint8) maxpwr40;
txpwr->mcs32 = (u8) maxpwr40;
for (i = 0, j = 0; i < WLC_NUM_RATES_OFDM; i++, j++) {
if (txpwr->ofdm_40_cdd[i] == 0)
......@@ -1532,7 +1532,7 @@ static bool
wlc_valid_chanspec_ext(wlc_cm_info_t *wlc_cm, chanspec_t chspec, bool dualband)
{
wlc_info_t *wlc = wlc_cm->wlc;
uint8 channel = CHSPEC_CHANNEL(chspec);
u8 channel = CHSPEC_CHANNEL(chspec);
/* check the chanspec */
if (wf_chspec_malformed(chspec)) {
......@@ -1558,8 +1558,8 @@ wlc_valid_chanspec_ext(wlc_cm_info_t *wlc_cm, chanspec_t chspec, bool dualband)
* for NPHYS
*/
if (WLCISNPHY(wlc->band) || WLCISSSLPNPHY(wlc->band)) {
uint8 upper_sideband = 0, idx;
uint8 num_ch20_entries =
u8 upper_sideband = 0, idx;
u8 num_ch20_entries =
sizeof(chan20_info) / sizeof(struct chan20_info);
if (!VALID_40CHANSPEC_IN_BAND(wlc, CHSPEC_WLCBANDUNIT(chspec)))
......
......@@ -55,13 +55,13 @@ struct wlc_info;
/* locale channel and power info. */
typedef struct {
uint32 valid_channels;
uint8 radar_channels; /* List of radar sensitive channels */
uint8 restricted_channels; /* List of channels used only if APs are detected */
u8 radar_channels; /* List of radar sensitive channels */
u8 restricted_channels; /* List of channels used only if APs are detected */
int8 maxpwr[WLC_MAXPWR_TBL_SIZE]; /* Max tx pwr in qdBm for each sub-band */
int8 pub_maxpwr[BAND_5G_PWR_LVLS]; /* Country IE advertised max tx pwr in dBm
* per sub-band
*/
uint8 flags;
u8 flags;
} locale_info_t;
/* bits for locale_info flags */
......@@ -84,7 +84,7 @@ typedef struct {
typedef struct {
int8 maxpwr20[WLC_MAXPWR_MIMO_TBL_SIZE]; /* tx 20 MHz power limits, qdBm units */
int8 maxpwr40[WLC_MAXPWR_MIMO_TBL_SIZE]; /* tx 40 MHz power limits, qdBm units */
uint8 flags;
u8 flags;
} locale_mimo_info_t;
extern const chanvec_t chanvec_all_2G;
......@@ -94,10 +94,10 @@ extern const chanvec_t chanvec_all_5G;
* Country names and abbreviations with locale defined from ISO 3166
*/
struct country_info {
const uint8 locale_2G; /* 2.4G band locale */
const uint8 locale_5G; /* 5G band locale */
const uint8 locale_mimo_2G; /* 2.4G mimo info */
const uint8 locale_mimo_5G; /* 5G mimo info */
const u8 locale_2G; /* 2.4G band locale */
const u8 locale_5G; /* 5G band locale */
const u8 locale_mimo_2G; /* 2.4G mimo info */
const u8 locale_mimo_5G; /* 5G mimo info */
};
typedef struct country_info country_info_t;
......@@ -113,8 +113,8 @@ extern int wlc_set_countrycode_rev(wlc_cm_info_t *wlc_cm,
const char *ccode, int regrev);
extern const char *wlc_channel_country_abbrev(wlc_cm_info_t *wlc_cm);
extern uint8 wlc_channel_locale_flags(wlc_cm_info_t *wlc_cm);
extern uint8 wlc_channel_locale_flags_in_band(wlc_cm_info_t *wlc_cm,
extern u8 wlc_channel_locale_flags(wlc_cm_info_t *wlc_cm);
extern u8 wlc_channel_locale_flags_in_band(wlc_cm_info_t *wlc_cm,
uint bandunit);
extern void wlc_quiet_channels_reset(wlc_cm_info_t *wlc_cm);
......@@ -139,19 +139,19 @@ extern void wlc_channel_reg_limits(wlc_cm_info_t *wlc_cm,
struct txpwr_limits *txpwr);
extern void wlc_channel_set_chanspec(wlc_cm_info_t *wlc_cm,
chanspec_t chanspec,
uint8 local_constraint_qdbm);
u8 local_constraint_qdbm);
extern int wlc_channel_set_txpower_limit(wlc_cm_info_t *wlc_cm,
uint8 local_constraint_qdbm);
u8 local_constraint_qdbm);
extern const country_info_t *wlc_country_lookup(struct wlc_info *wlc,
const char *ccode);
extern void wlc_locale_get_channels(const locale_info_t *locale,
chanvec_t *valid_channels);
extern const locale_info_t *wlc_get_locale_2g(uint8 locale_idx);
extern const locale_info_t *wlc_get_locale_5g(uint8 locale_idx);
extern const locale_info_t *wlc_get_locale_2g(u8 locale_idx);
extern const locale_info_t *wlc_get_locale_5g(u8 locale_idx);
extern bool wlc_japan(struct wlc_info *wlc);
extern uint8 wlc_get_regclass(wlc_cm_info_t *wlc_cm, chanspec_t chanspec);
extern u8 wlc_get_regclass(wlc_cm_info_t *wlc_cm, chanspec_t chanspec);
extern bool wlc_channel_get_chanvec(struct wlc_info *wlc,
const char *country_abbrev, int bandtype,
chanvec_t *channels);
......
......@@ -47,7 +47,7 @@ struct wlc_eventq {
bool workpending;
struct wl_timer *timer;
wlc_eventq_cb_t cb;
uint8 event_inds_mask[ROUNDUP(WLC_E_LAST, NBBY) / NBBY];
u8 event_inds_mask[ROUNDUP(WLC_E_LAST, NBBY) / NBBY];
};
/*
......
......@@ -39,12 +39,12 @@ extern int wlc_eventq_test_ind(wlc_eventq_t *eq, int et);
extern int wlc_eventq_set_ind(wlc_eventq_t *eq, uint et, bool on);
extern void wlc_eventq_flush(wlc_eventq_t *eq);
extern void wlc_assign_event_msg(wlc_info_t *wlc, wl_event_msg_t *msg,
const wlc_event_t *e, uint8 *data,
const wlc_event_t *e, u8 *data,
uint32 len);
#ifdef MSGTRACE
extern void wlc_event_sendup_trace(struct wlc_info *wlc, hndrte_dev_t *bus,
uint8 *hdr, uint16 hdrlen, uint8 *buf,
u8 *hdr, uint16 hdrlen, u8 *buf,
uint16 buflen);
#endif
......
......@@ -88,25 +88,25 @@ typedef struct wsec_iv {
typedef struct wsec_key {
struct ether_addr ea; /* per station */
uint8 idx; /* key index in wsec_keys array */
uint8 id; /* key ID [0-3] */
uint8 algo; /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */
uint8 rcmta; /* rcmta entry index, same as idx by default */
u8 idx; /* key index in wsec_keys array */
u8 id; /* key ID [0-3] */
u8 algo; /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */
u8 rcmta; /* rcmta entry index, same as idx by default */
uint16 flags; /* misc flags */
uint8 algo_hw; /* cache for hw register */
uint8 aes_mode; /* cache for hw register */
u8 algo_hw; /* cache for hw register */
u8 aes_mode; /* cache for hw register */
int8 iv_len; /* IV length */
int8 icv_len; /* ICV length */
uint32 len; /* key length..don't move this var */
/* data is 4byte aligned */
uint8 data[DOT11_MAX_KEY_SIZE]; /* key data */
u8 data[DOT11_MAX_KEY_SIZE]; /* key data */
wsec_iv_t rxiv[WLC_NUMRXIVS]; /* Rx IV (one per TID) */
wsec_iv_t txiv; /* Tx IV */
} wsec_key_t;
typedef struct {
uint8 vec[ROUNDUP(WSEC_MAX_KEYS, NBBY) / NBBY]; /* bitvec of wsec_key indexes */
u8 vec[ROUNDUP(WSEC_MAX_KEYS, NBBY) / NBBY]; /* bitvec of wsec_key indexes */
} wsec_key_vec_t;
/* For use with wsec_key_t.flags */
......
......@@ -138,7 +138,7 @@ uint16 wlapi_bmac_read_shm(wlc_phy_shim_info_t *physhim, uint offset)
}
void
wlapi_bmac_mhf(wlc_phy_shim_info_t *physhim, uint8 idx, uint16 mask,
wlapi_bmac_mhf(wlc_phy_shim_info_t *physhim, u8 idx, uint16 mask,
uint16 val, int bands)
{
wlc_bmac_mhf(physhim->wlc_hw, idx, mask, val, bands);
......@@ -154,7 +154,7 @@ void wlapi_suspend_mac_and_wait(wlc_phy_shim_info_t *physhim)
wlc_suspend_mac_and_wait(physhim->wlc);
}
void wlapi_switch_macfreq(wlc_phy_shim_info_t *physhim, uint8 spurmode)
void wlapi_switch_macfreq(wlc_phy_shim_info_t *physhim, u8 spurmode)
{
wlc_bmac_switch_macfreq(physhim->wlc_hw, spurmode);
}
......@@ -222,7 +222,7 @@ wlapi_bmac_write_template_ram(wlc_phy_shim_info_t *physhim, int offset,
wlc_bmac_write_template_ram(physhim->wlc_hw, offset, len, buf);
}
uint16 wlapi_bmac_rate_shm_offset(wlc_phy_shim_info_t *physhim, uint8 rate)
uint16 wlapi_bmac_rate_shm_offset(wlc_phy_shim_info_t *physhim, u8 rate)
{
return wlc_bmac_rate_shm_offset(physhim->wlc_hw, rate);
}
......@@ -247,7 +247,7 @@ wlapi_copyto_objmem(wlc_phy_shim_info_t *physhim, uint offset, const void *buf,
void
wlapi_bmac_pktengtx(wlc_phy_shim_info_t *physhim, wl_pkteng_t *pkteng,
uint8 rate, struct ether_addr *sa, uint32 wait_delay)
u8 rate, struct ether_addr *sa, uint32 wait_delay)
{
wlc_pktengtx(physhim->wlc, pkteng, rate, sa, wait_delay);
}
......@@ -78,11 +78,11 @@ extern void wlapi_intrsrestore(wlc_phy_shim_info_t *physhim,
extern void wlapi_bmac_write_shm(wlc_phy_shim_info_t *physhim, uint offset,
uint16 v);
extern uint16 wlapi_bmac_read_shm(wlc_phy_shim_info_t *physhim, uint offset);
extern void wlapi_bmac_mhf(wlc_phy_shim_info_t *physhim, uint8 idx,
extern void wlapi_bmac_mhf(wlc_phy_shim_info_t *physhim, u8 idx,
uint16 mask, uint16 val, int bands);
extern void wlapi_bmac_corereset(wlc_phy_shim_info_t *physhim, uint32 flags);
extern void wlapi_suspend_mac_and_wait(wlc_phy_shim_info_t *physhim);
extern void wlapi_switch_macfreq(wlc_phy_shim_info_t *physhim, uint8 spurmode);
extern void wlapi_switch_macfreq(wlc_phy_shim_info_t *physhim, u8 spurmode);
extern void wlapi_enable_mac(wlc_phy_shim_info_t *physhim);
extern void wlapi_bmac_mctrl(wlc_phy_shim_info_t *physhim, uint32 mask,
uint32 val);
......@@ -99,7 +99,7 @@ extern void wlapi_bmac_ucode_wake_override_phyreg_clear(wlc_phy_shim_info_t *
extern void wlapi_bmac_write_template_ram(wlc_phy_shim_info_t *physhim, int o,
int len, void *buf);
extern uint16 wlapi_bmac_rate_shm_offset(wlc_phy_shim_info_t *physhim,
uint8 rate);
u8 rate);
extern void wlapi_ucode_sample_init(wlc_phy_shim_info_t *physhim);
extern void wlapi_copyfrom_objmem(wlc_phy_shim_info_t *physhim, uint,
void *buf, int, uint32 sel);
......@@ -109,7 +109,7 @@ extern void wlapi_copyto_objmem(wlc_phy_shim_info_t *physhim, uint,
extern void wlapi_high_update_phy_mode(wlc_phy_shim_info_t *physhim,
uint32 phy_mode);
extern void wlapi_bmac_pktengtx(wlc_phy_shim_info_t *physhim,
wl_pkteng_t *pkteng, uint8 rate,
wl_pkteng_t *pkteng, u8 rate,
struct ether_addr *sa, uint32 wait_delay);
extern uint16 wlapi_bmac_get_txant(wlc_phy_shim_info_t *physhim);
#endif /* _wlc_phy_shim_h_ */
......@@ -115,19 +115,19 @@ typedef struct wlc_tunables {
typedef struct wlc_rateset {
uint count; /* number of rates in rates[] */
uint8 rates[WLC_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
uint8 htphy_membership; /* HT PHY Membership */
uint8 mcs[MCSSET_LEN]; /* supported mcs index bit map */
u8 rates[WLC_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
u8 htphy_membership; /* HT PHY Membership */
u8 mcs[MCSSET_LEN]; /* supported mcs index bit map */
} wlc_rateset_t;
struct rsn_parms {
uint8 flags; /* misc booleans (e.g., supported) */
uint8 multicast; /* multicast cipher */
uint8 ucount; /* count of unicast ciphers */
uint8 unicast[4]; /* unicast ciphers */
uint8 acount; /* count of auth modes */
uint8 auth[4]; /* Authentication modes */
uint8 PAD[4]; /* padding for future growth */
u8 flags; /* misc booleans (e.g., supported) */
u8 multicast; /* multicast cipher */
u8 ucount; /* count of unicast ciphers */
u8 unicast[4]; /* unicast ciphers */
u8 acount; /* count of auth modes */
u8 auth[4]; /* Authentication modes */
u8 PAD[4]; /* padding for future growth */
};
/*
......@@ -167,8 +167,8 @@ typedef struct wlc_event {
typedef struct wlc_bss_info {
struct ether_addr BSSID; /* network BSSID */
uint16 flags; /* flags for internal attributes */
uint8 SSID_len; /* the length of SSID */
uint8 SSID[32]; /* SSID string */
u8 SSID_len; /* the length of SSID */
u8 SSID[32]; /* SSID string */
int16 RSSI; /* receive signal strength (in dBm) */
int16 SNR; /* receive signal SNR in dB */
uint16 beacon_period; /* units are Kusec */
......@@ -176,19 +176,19 @@ typedef struct wlc_bss_info {
chanspec_t chanspec; /* Channel num, bw, ctrl_sb and band */
int8 infra; /* 0=IBSS, 1=infrastructure, 2=unknown */
wlc_rateset_t rateset; /* supported rates */
uint8 dtim_period; /* DTIM period */
u8 dtim_period; /* DTIM period */
int8 phy_noise; /* noise right after tx (in dBm) */
uint16 capability; /* Capability information */
struct dot11_bcn_prb *bcn_prb; /* beacon/probe response frame (ioctl na) */
uint16 bcn_prb_len; /* beacon/probe response frame length (ioctl na) */
uint8 wme_qosinfo; /* QoS Info from WME IE; valid if WLC_BSS_WME flag set */
u8 wme_qosinfo; /* QoS Info from WME IE; valid if WLC_BSS_WME flag set */
struct rsn_parms wpa;
struct rsn_parms wpa2;
uint16 qbss_load_aac; /* qbss load available admission capacity */
/* qbss_load_chan_free <- (0xff - channel_utilization of qbss_load_ie_t) */
uint8 qbss_load_chan_free; /* indicates how free the channel is */
uint8 mcipher; /* multicast cipher */
uint8 wpacfg; /* wpa config index */
u8 qbss_load_chan_free; /* indicates how free the channel is */
u8 mcipher; /* multicast cipher */
u8 wpacfg; /* wpa config index */
} wlc_bss_info_t;
/* forward declarations */
......@@ -277,7 +277,7 @@ typedef struct wlc_pub {
bool _apsta; /* simultaneous AP/STA mode enabled */
bool _assoc_recreate; /* association recreation on up transitions */
int _wme; /* WME QoS mode */
uint8 _mbss; /* MBSS mode on */
u8 _mbss; /* MBSS mode on */
bool allmulti; /* enable all multicasts */
bool associated; /* true:part of [I]BSS, false: not */
/* (union of stas_associated, aps_associated) */
......@@ -285,7 +285,7 @@ typedef struct wlc_pub {
bool bf_preempt_4306; /* True to enable 'darwin' mode */
bool _ampdu; /* ampdu enabled or not */
bool _cac; /* 802.11e CAC enabled */
uint8 _n_enab; /* bitmap of 11N + HT support */
u8 _n_enab; /* bitmap of 11N + HT support */
bool _n_reqd; /* N support required for clients */
int8 _coex; /* 20/40 MHz BSS Management AUTO, ENAB, DISABLE */
......@@ -323,7 +323,7 @@ typedef struct wlc_pub {
#endif /* BCMSDIO */
uint16 boardrev; /* version # of particular board */
uint8 sromrev; /* version # of the srom */
u8 sromrev; /* version # of the srom */
char srom_ccode[WLC_CNTRY_BUF_SZ]; /* Country Code in SROM */
uint32 boardflags; /* Board specific flags from srom */
uint32 boardflags2; /* More board flags if sromrev >= 4 */
......@@ -450,7 +450,7 @@ extern void wlc_pkttag_info_move(wlc_pub_t *pub, void *pkt_from, void *pkt_to);
/* pri is PKTPRIO encoded in the packet. This maps the Packet priority to
* enqueue precedence as defined in wlc_prec_map
*/
extern const uint8 wlc_prio2prec_map[];
extern const u8 wlc_prio2prec_map[];
#define WLC_PRIO_TO_PREC(pri) wlc_prio2prec_map[(pri) & 7]
/* This maps priority to one precedence higher - Used by PS-Poll response packets to
......@@ -458,7 +458,7 @@ extern const uint8 wlc_prio2prec_map[];
*/
#define WLC_PRIO_TO_HI_PREC(pri) MIN(WLC_PRIO_TO_PREC(pri) + 1, WLC_PREC_COUNT - 1)
extern const uint8 wme_fifo2ac[];
extern const u8 wme_fifo2ac[];
#define WME_PRIO2AC(prio) wme_fifo2ac[prio2fifo[(prio)]]
/* Mask to describe all precedence levels */
......@@ -539,9 +539,9 @@ extern int wlc_bmac_down_finish(struct wlc_hw_info *wlc_hw);
extern uint32 wlc_reg_read(struct wlc_info *wlc, void *r, uint size);
extern void wlc_reg_write(struct wlc_info *wlc, void *r, uint32 v, uint size);
extern void wlc_corereset(struct wlc_info *wlc, uint32 flags);
extern void wlc_mhf(struct wlc_info *wlc, uint8 idx, uint16 mask, uint16 val,
extern void wlc_mhf(struct wlc_info *wlc, u8 idx, uint16 mask, uint16 val,
int bands);
extern uint16 wlc_mhf_get(struct wlc_info *wlc, uint8 idx, int bands);
extern uint16 wlc_mhf_get(struct wlc_info *wlc, u8 idx, int bands);
extern uint32 wlc_delta_txfunfl(struct wlc_info *wlc, int fifo);
extern void wlc_rate_lookup_init(struct wlc_info *wlc, wlc_rateset_t *rateset);
extern void wlc_default_rateset(struct wlc_info *wlc, wlc_rateset_t *rs);
......@@ -565,7 +565,7 @@ extern void wlc_event_if(struct wlc_info *wlc, struct wlc_bsscfg *cfg,
wlc_event_t *e, const struct ether_addr *addr);
extern void wlc_suspend_mac_and_wait(struct wlc_info *wlc);
extern void wlc_enable_mac(struct wlc_info *wlc);
extern uint16 wlc_rate_shm_offset(struct wlc_info *wlc, uint8 rate);
extern uint16 wlc_rate_shm_offset(struct wlc_info *wlc, u8 rate);
extern uint32 wlc_get_rspec_history(struct wlc_bsscfg *cfg);
extern uint32 wlc_get_current_highest_rate(struct wlc_bsscfg *cfg);
......@@ -575,8 +575,8 @@ static inline int wlc_iovar_getuint(struct wlc_info *wlc, const char *name,
return wlc_iovar_getint(wlc, name, (int *)arg);
}
static inline int wlc_iovar_getuint8(struct wlc_info *wlc, const char *name,
uint8 *arg)
static inline int wlc_iovar_getu8(struct wlc_info *wlc, const char *name,
u8 *arg)
{
return wlc_iovar_getint8(wlc, name, (int8 *) arg);
}
......@@ -595,7 +595,7 @@ extern int wlc_iocpichk(struct wlc_info *wlc, uint phytype);
#endif
/* helper functions */
extern void wlc_getrand(struct wlc_info *wlc, uint8 *buf, int len);
extern void wlc_getrand(struct wlc_info *wlc, u8 *buf, int len);
struct scb;
extern void wlc_ps_on(struct wlc_info *wlc, struct scb *scb);
......
......@@ -31,7 +31,7 @@
#include <wlc_pub.h>
/* Rate info per rate: It tells whether a rate is ofdm or not and its phy_rate value */
const uint8 rate_info[WLC_MAXRATE + 1] = {
const u8 rate_info[WLC_MAXRATE + 1] = {
/* 0 1 2 3 4 5 6 7 8 9 */
/* 0 */ 0x00, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 10 */ 0x00, 0x37, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x00,
......@@ -154,7 +154,7 @@ const mcs_info_t mcs_table[MCS_TABLE_SIZE] = {
*/
typedef struct legacy_phycfg {
uint32 rate_ofdm; /* ofdm mac rate */
uint8 tx_phy_ctl3; /* phy ctl byte 3, code rate, modulation type, # of streams */
u8 tx_phy_ctl3; /* phy ctl byte 3, code rate, modulation type, # of streams */
} legacy_phycfg_t;
#define LEGACY_PHYCFG_TABLE_SIZE 12 /* Number of legacy_rate_cfg entries in the table */
......@@ -278,7 +278,7 @@ static bool wlc_rateset_valid(wlc_rateset_t *rs, bool check_brate)
return FALSE;
}
void wlc_rateset_mcs_upd(wlc_rateset_t *rs, uint8 txstreams)
void wlc_rateset_mcs_upd(wlc_rateset_t *rs, u8 txstreams)
{
int i;
for (i = txstreams; i < MAX_STREAMS_SUPPORTED; i++)
......@@ -291,10 +291,10 @@ void wlc_rateset_mcs_upd(wlc_rateset_t *rs, uint8 txstreams)
bool
wlc_rate_hwrs_filter_sort_validate(wlc_rateset_t *rs,
const wlc_rateset_t *hw_rs,
bool check_brate, uint8 txstreams)
bool check_brate, u8 txstreams)
{
uint8 rateset[WLC_MAXRATE + 1];
uint8 r;
u8 rateset[WLC_MAXRATE + 1];
u8 r;
uint count;
uint i;
......@@ -332,7 +332,7 @@ wlc_rate_hwrs_filter_sort_validate(wlc_rateset_t *rs,
}
/* caluclate the rate of a rx'd frame and return it as a ratespec */
ratespec_t BCMFASTPATH wlc_compute_rspec(d11rxhdr_t *rxh, uint8 *plcp)
ratespec_t BCMFASTPATH wlc_compute_rspec(d11rxhdr_t *rxh, u8 *plcp)
{
int phy_type;
ratespec_t rspec = PHY_TXC1_BW_20MHZ << RSPEC_BW_SHIFT;
......@@ -395,7 +395,7 @@ void wlc_rateset_copy(const wlc_rateset_t *src, wlc_rateset_t *dst)
*/
void
wlc_rateset_filter(wlc_rateset_t *src, wlc_rateset_t *dst, bool basic_only,
uint8 rates, uint xmask, bool mcsallow)
u8 rates, uint xmask, bool mcsallow)
{
uint i;
uint r;
......@@ -427,7 +427,7 @@ wlc_rateset_filter(wlc_rateset_t *src, wlc_rateset_t *dst, bool basic_only,
void
wlc_rateset_default(wlc_rateset_t *rs_tgt, const wlc_rateset_t *rs_hw,
uint phy_type, int bandtype, bool cck_only, uint rate_mask,
bool mcsallow, uint8 bw, uint8 txstreams)
bool mcsallow, u8 bw, u8 txstreams)
{
const wlc_rateset_t *rs_dflt;
wlc_rateset_t rs_sel;
......@@ -484,14 +484,14 @@ void wlc_rateset_mcs_clear(wlc_rateset_t *rateset)
rateset->mcs[i] = 0;
}
void wlc_rateset_mcs_build(wlc_rateset_t *rateset, uint8 txstreams)
void wlc_rateset_mcs_build(wlc_rateset_t *rateset, u8 txstreams)
{
bcopy(&cck_ofdm_mimo_rates.mcs[0], &rateset->mcs[0], MCSSET_LEN);
wlc_rateset_mcs_upd(rateset, txstreams);
}
/* Based on bandwidth passed, allow/disallow MCS 32 in the rateset */
void wlc_rateset_bw_mcs_filter(wlc_rateset_t *rateset, uint8 bw)
void wlc_rateset_bw_mcs_filter(wlc_rateset_t *rateset, u8 bw)
{
if (bw == WLC_40_MHZ)
setbit(rateset->mcs, 32);
......
......@@ -17,7 +17,7 @@
#ifndef _WLC_RATE_H_
#define _WLC_RATE_H_
extern const uint8 rate_info[];
extern const u8 rate_info[];
extern const struct wlc_rateset cck_ofdm_mimo_rates;
extern const struct wlc_rateset ofdm_mimo_rates;
extern const struct wlc_rateset cck_ofdm_rates;
......@@ -32,8 +32,8 @@ typedef struct mcs_info {
uint32 phy_rate_40; /* phy rate in kbps [40Mhz] */
uint32 phy_rate_20_sgi; /* phy rate in kbps [20Mhz] with SGI */
uint32 phy_rate_40_sgi; /* phy rate in kbps [40Mhz] with SGI */
uint8 tx_phy_ctl3; /* phy ctl byte 3, code rate, modulation type, # of streams */
uint8 leg_ofdm; /* matching legacy ofdm rate in 500bkps */
u8 tx_phy_ctl3; /* phy ctl byte 3, code rate, modulation type, # of streams */
u8 leg_ofdm; /* matching legacy ofdm rate in 500bkps */
} mcs_info_t;
#define WLC_MAXMCS 32 /* max valid mcs index */
......@@ -129,7 +129,7 @@ typedef uint32 ratespec_t;
(PHY_TXC1_MODE_SDM << RSPEC_STF_SHIFT)))
/* Convert encoded rate value in plcp header to numerical rates in 500 KHz increments */
extern const uint8 ofdm_rate_lookup[];
extern const u8 ofdm_rate_lookup[];
#define OFDM_PHY2MAC_RATE(rlpt) (ofdm_rate_lookup[rlpt & 0x7])
#define CCK_PHY2MAC_RATE(signal) (signal/5)
......@@ -145,26 +145,26 @@ struct wlc_rateset;
extern bool wlc_rate_hwrs_filter_sort_validate(struct wlc_rateset *rs,
const struct wlc_rateset *hw_rs,
bool check_brate,
uint8 txstreams);
u8 txstreams);
/* copy rateset src to dst as-is (no masking or sorting) */
extern void wlc_rateset_copy(const struct wlc_rateset *src,
struct wlc_rateset *dst);
/* would be nice to have these documented ... */
extern ratespec_t wlc_compute_rspec(d11rxhdr_t *rxh, uint8 *plcp);
extern ratespec_t wlc_compute_rspec(d11rxhdr_t *rxh, u8 *plcp);
extern void wlc_rateset_filter(struct wlc_rateset *src, struct wlc_rateset *dst,
bool basic_only, uint8 rates, uint xmask,
bool basic_only, u8 rates, uint xmask,
bool mcsallow);
extern void wlc_rateset_default(struct wlc_rateset *rs_tgt,
const struct wlc_rateset *rs_hw, uint phy_type,
int bandtype, bool cck_only, uint rate_mask,
bool mcsallow, uint8 bw, uint8 txstreams);
bool mcsallow, u8 bw, u8 txstreams);
extern int16 wlc_rate_legacy_phyctl(uint rate);
extern void wlc_rateset_mcs_upd(struct wlc_rateset *rs, uint8 txstreams);
extern void wlc_rateset_mcs_upd(struct wlc_rateset *rs, u8 txstreams);
extern void wlc_rateset_mcs_clear(struct wlc_rateset *rateset);
extern void wlc_rateset_mcs_build(struct wlc_rateset *rateset, uint8 txstreams);
extern void wlc_rateset_bw_mcs_filter(struct wlc_rateset *rateset, uint8 bw);
extern void wlc_rateset_mcs_build(struct wlc_rateset *rateset, u8 txstreams);
extern void wlc_rateset_bw_mcs_filter(struct wlc_rateset *rateset, u8 bw);
#endif /* _WLC_RATE_H_ */
......@@ -44,9 +44,9 @@ extern void wlc_rpctx_txreclaim(rpctx_info_t *rpctx);
extern uint wlc_rpctx_txavail(rpctx_info_t *rpctx, uint fifo);
extern int wlc_rpctx_pkteng(rpctx_info_t *rpctx, uint fifo, void *p);
extern int wlc_rpctx_tx(rpctx_info_t *rpctx, uint fifo, void *p, bool commit,
uint16 frameid, uint8 txpktpend);
extern void wlc_rpctx_txpktpendinc(rpctx_info_t *rpctx, uint fifo, uint8 val);
extern void wlc_rpctx_txpktpenddec(rpctx_info_t *rpctx, uint fifo, uint8 val);
uint16 frameid, u8 txpktpend);
extern void wlc_rpctx_txpktpendinc(rpctx_info_t *rpctx, uint fifo, u8 val);
extern void wlc_rpctx_txpktpenddec(rpctx_info_t *rpctx, uint fifo, u8 val);
extern void wlc_rpctx_txpktpendclr(rpctx_info_t *rpctx, uint fifo);
extern int wlc_rpctx_txpktpend(rpctx_info_t *rpctx, uint fifo, bool all);
......
......@@ -19,15 +19,15 @@
#include <proto/802.1d.h>
extern bool wlc_aggregatable(wlc_info_t *wlc, uint8 tid);
extern bool wlc_aggregatable(wlc_info_t *wlc, u8 tid);
#define AMPDU_TX_BA_MAX_WSIZE 64 /* max Tx ba window size (in pdu) */
/* structure to store per-tid state for the ampdu initiator */
typedef struct scb_ampdu_tid_ini {
uint32 magic;
uint8 tx_in_transit; /* number of pending mpdus in transit in driver */
uint8 tid; /* initiator tid for easy lookup */
uint8 txretry[AMPDU_TX_BA_MAX_WSIZE]; /* tx retry count; indexed by seq modulo */
u8 tx_in_transit; /* number of pending mpdus in transit in driver */
u8 tid; /* initiator tid for easy lookup */
u8 txretry[AMPDU_TX_BA_MAX_WSIZE]; /* tx retry count; indexed by seq modulo */
struct scb *scb; /* backptr for easy lookup */
} scb_ampdu_tid_ini_t;
......@@ -35,9 +35,9 @@ typedef struct scb_ampdu_tid_ini {
typedef struct scb_ampdu {
struct scb *scb; /* back pointer for easy reference */
uint8 mpdu_density; /* mpdu density */
uint8 max_pdu; /* max pdus allowed in ampdu */
uint8 release; /* # of mpdus released at a time */
u8 mpdu_density; /* mpdu density */
u8 max_pdu; /* max pdus allowed in ampdu */
u8 release; /* # of mpdus released at a time */
uint16 min_len; /* min mpdu len to support the density */
uint32 max_rxlen; /* max ampdu rcv length; 8k, 16k, 32k, 64k */
struct pktq txq; /* sdu transmit queue pending aggregation */
......@@ -57,7 +57,7 @@ struct scb {
uint32 magic;
uint32 flags; /* various bit flags as defined below */
uint32 flags2; /* various bit flags2 as defined below */
uint8 state; /* current state bitfield of auth/assoc process */
u8 state; /* current state bitfield of auth/assoc process */
struct ether_addr ea; /* station address */
void *fragbuf[NUMPRIO]; /* defragmentation buffer per prio */
uint fragresid[NUMPRIO]; /* #bytes unused in frag buffer per prio */
......
......@@ -44,7 +44,7 @@
static int8 wlc_stf_stbc_rx_get(wlc_info_t *wlc);
static bool wlc_stf_stbc_tx_set(wlc_info_t *wlc, int32 int_val);
static int wlc_stf_txcore_set(wlc_info_t *wlc, uint8 Nsts, uint8 val);
static int wlc_stf_txcore_set(wlc_info_t *wlc, u8 Nsts, u8 val);
static int wlc_stf_spatial_policy_set(wlc_info_t *wlc, int val);
static void wlc_stf_stbc_rx_ht_update(wlc_info_t *wlc, int val);
......@@ -55,7 +55,7 @@ static uint16 _wlc_stf_phytxchain_sel(wlc_info_t *wlc, ratespec_t rspec);
#define NSTS_2 2
#define NSTS_3 3
#define NSTS_4 4
const uint8 txcore_default[5] = {
const u8 txcore_default[5] = {
(0), /* bitmap of the core enabled */
(0x01), /* For Nsts = 1, enable core 1 */
(0x03), /* For Nsts = 2, enable core 1 & 2 */
......@@ -112,7 +112,7 @@ wlc_stf_ss_algo_channel_get(wlc_info_t *wlc, uint16 *ss_algo_channel,
chanspec_t chanspec)
{
tx_power_t power;
uint8 siso_mcs_id, cdd_mcs_id, stbc_mcs_id;
u8 siso_mcs_id, cdd_mcs_id, stbc_mcs_id;
/* Clear previous settings */
*ss_algo_channel = 0;
......@@ -192,7 +192,7 @@ bool wlc_stf_stbc_rx_set(wlc_info_t *wlc, int32 int_val)
return TRUE;
}
static int wlc_stf_txcore_set(wlc_info_t *wlc, uint8 Nsts, uint8 core_mask)
static int wlc_stf_txcore_set(wlc_info_t *wlc, u8 Nsts, u8 core_mask)
{
WL_TRACE(("wl%d: %s: Nsts %d core_mask %x\n",
wlc->pub->unit, __func__, Nsts, core_mask));
......@@ -232,7 +232,7 @@ static int wlc_stf_txcore_set(wlc_info_t *wlc, uint8 Nsts, uint8 core_mask)
static int wlc_stf_spatial_policy_set(wlc_info_t *wlc, int val)
{
int i;
uint8 core_mask = 0;
u8 core_mask = 0;
WL_TRACE(("wl%d: %s: val %x\n", wlc->pub->unit, __func__, val));
......@@ -240,15 +240,15 @@ static int wlc_stf_spatial_policy_set(wlc_info_t *wlc, int val)
for (i = 1; i <= MAX_STREAMS_SUPPORTED; i++) {
core_mask = (val == MAX_SPATIAL_EXPANSION) ?
wlc->stf->txchain : txcore_default[i];
wlc_stf_txcore_set(wlc, (uint8) i, core_mask);
wlc_stf_txcore_set(wlc, (u8) i, core_mask);
}
return BCME_OK;
}
int wlc_stf_txchain_set(wlc_info_t *wlc, int32 int_val, bool force)
{
uint8 txchain = (uint8) int_val;
uint8 txstreams;
u8 txchain = (u8) int_val;
u8 txstreams;
uint i;
if (wlc->stf->txchain == txchain)
......@@ -259,7 +259,7 @@ int wlc_stf_txchain_set(wlc_info_t *wlc, int32 int_val, bool force)
return BCME_RANGE;
/* if nrate override is configured to be non-SISO STF mode, reject reducing txchain to 1 */
txstreams = (uint8) WLC_BITSCNT(txchain);
txstreams = (u8) WLC_BITSCNT(txchain);
if (txstreams > MAX_STREAMS_SUPPORTED)
return BCME_RANGE;
......@@ -300,17 +300,17 @@ int wlc_stf_txchain_set(wlc_info_t *wlc, int32 int_val, bool force)
wlc->stf->rxchain);
for (i = 1; i <= MAX_STREAMS_SUPPORTED; i++)
wlc_stf_txcore_set(wlc, (uint8) i, txcore_default[i]);
wlc_stf_txcore_set(wlc, (u8) i, txcore_default[i]);
return BCME_OK;
}
int wlc_stf_rxchain_set(wlc_info_t *wlc, int32 int_val)
{
uint8 rxchain_cnt;
uint8 rxchain = (uint8) int_val;
uint8 mimops_mode;
uint8 old_rxchain, old_rxchain_cnt;
u8 rxchain_cnt;
u8 rxchain = (u8) int_val;
u8 mimops_mode;
u8 old_rxchain, old_rxchain_cnt;
if (wlc->stf->rxchain == rxchain)
return BCME_OK;
......@@ -319,7 +319,7 @@ int wlc_stf_rxchain_set(wlc_info_t *wlc, int32 int_val)
|| !(rxchain & wlc->stf->hw_rxchain))
return BCME_RANGE;
rxchain_cnt = (uint8) WLC_BITSCNT(rxchain);
rxchain_cnt = (u8) WLC_BITSCNT(rxchain);
if (WLC_STF_SS_STBC_RX(wlc)) {
if ((rxchain_cnt == 1)
&& (wlc_stf_stbc_rx_get(wlc) != HT_CAP_RX_STBC_NO))
......@@ -372,8 +372,8 @@ int wlc_stf_rxchain_set(wlc_info_t *wlc, int32 int_val)
int wlc_stf_ss_update(wlc_info_t *wlc, wlcband_t *band)
{
int ret_code = 0;
uint8 prev_stf_ss;
uint8 upd_stf_ss;
u8 prev_stf_ss;
u8 upd_stf_ss;
prev_stf_ss = wlc->stf->ss_opmode;
......@@ -527,8 +527,8 @@ void wlc_stf_phy_txant_upd(wlc_info_t *wlc)
void BCMATTACHFN(wlc_stf_phy_chain_calc) (wlc_info_t *wlc)
{
/* get available rx/tx chains */
wlc->stf->hw_txchain = (uint8) getintvar(wlc->pub->vars, "txchain");
wlc->stf->hw_rxchain = (uint8) getintvar(wlc->pub->vars, "rxchain");
wlc->stf->hw_txchain = (u8) getintvar(wlc->pub->vars, "txchain");
wlc->stf->hw_rxchain = (u8) getintvar(wlc->pub->vars, "rxchain");
/* these parameter are intended to be used for all PHY types */
if (wlc->stf->hw_txchain == 0 || wlc->stf->hw_txchain == 0xf) {
......@@ -540,7 +540,7 @@ void BCMATTACHFN(wlc_stf_phy_chain_calc) (wlc_info_t *wlc)
}
wlc->stf->txchain = wlc->stf->hw_txchain;
wlc->stf->txstreams = (uint8) WLC_BITSCNT(wlc->stf->hw_txchain);
wlc->stf->txstreams = (u8) WLC_BITSCNT(wlc->stf->hw_txchain);
if (wlc->stf->hw_rxchain == 0 || wlc->stf->hw_rxchain == 0xf) {
if (WLCISNPHY(wlc->band)) {
......@@ -551,7 +551,7 @@ void BCMATTACHFN(wlc_stf_phy_chain_calc) (wlc_info_t *wlc)
}
wlc->stf->rxchain = wlc->stf->hw_rxchain;
wlc->stf->rxstreams = (uint8) WLC_BITSCNT(wlc->stf->hw_rxchain);
wlc->stf->rxstreams = (u8) WLC_BITSCNT(wlc->stf->hw_rxchain);
/* initialize the txcore table */
bcopy(txcore_default, wlc->stf->txcore, sizeof(wlc->stf->txcore));
......
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