diff options
Diffstat (limited to 'debugfs.c')
-rw-r--r-- | debugfs.c | 49 |
1 files changed, 17 insertions, 32 deletions
@@ -48,19 +48,6 @@ static const struct file_operations mwl_debugfs_##name##_fops = { \ .open = simple_open, \ } -static int print_mac_addr(char *p, u8 *mac_addr) -{ - int i; - char *str = p; - - str += sprintf(str, "mac address: %02x", mac_addr[0]); - for (i = 1; i < ETH_ALEN; i++) - str += sprintf(str, ":%02x", mac_addr[i]); - str += sprintf(str, "\n"); - - return str-p; -} - static int dump_data(char *p, u8 *data, int len, char *title) { char *str = p; @@ -105,7 +92,7 @@ static ssize_t mwl_debugfs_info_read(struct file *file, char __user *ubuf, p += sprintf(p, "driver version: %s\n", MWL_DRV_VERSION); p += sprintf(p, "firmware version: 0x%08x\n", priv->hw_data.fw_release_num); - p += print_mac_addr(p, priv->hw_data.mac_addr); + p += sprintf(p, "mac address: %pM\n", priv->hw_data.mac_addr); p += sprintf(p, "2g: %s\n", priv->disable_2g ? "disable" : "enable"); p += sprintf(p, "5g: %s\n", priv->disable_5g ? "disable" : "enable"); p += sprintf(p, "antenna: %d %d\n", @@ -157,11 +144,11 @@ static ssize_t mwl_debugfs_vif_read(struct file *file, char __user *ubuf, vif->bss_conf.ssid_len); ssid[vif->bss_conf.ssid_len] = 0; p += sprintf(p, "ssid: %s\n", ssid); - p += print_mac_addr(p, mwl_vif->bssid); + p += sprintf(p, "mac address: %pM\n", mwl_vif->bssid); break; case NL80211_IFTYPE_STATION: p += sprintf(p, "type: sta\n"); - p += print_mac_addr(p, mwl_vif->sta_mac); + p += sprintf(p, "mac address: %pM\n", mwl_vif->sta_mac); break; default: p += sprintf(p, "type: unknown\n"); @@ -210,7 +197,7 @@ static ssize_t mwl_debugfs_sta_read(struct file *file, char __user *ubuf, list_for_each_entry(sta_info, &priv->sta_list, list) { sta = container_of((char *)sta_info, struct ieee80211_sta, drv_priv[0]); - p += print_mac_addr(p, sta->addr); + p += sprintf(p, "mac address: %pM\n", sta->addr); p += sprintf(p, "aid: %u\n", sta->aid); p += sprintf(p, "ampdu: %s\n", sta_info->is_ampdu_allowed ? "true" : "false"); @@ -254,7 +241,7 @@ static ssize_t mwl_debugfs_ampdu_read(struct file *file, char __user *ubuf, p += sprintf(p, "idx: %u\n", stream->idx); p += sprintf(p, "state: %u\n", stream->state); if (stream->sta) { - p += print_mac_addr(p, stream->sta->addr); + p += sprintf(p, "mac address: %pM\n", stream->sta->addr); p += sprintf(p, "tid: %u\n", stream->tid); } } @@ -271,15 +258,12 @@ static ssize_t mwl_debugfs_ampdu_read(struct file *file, char __user *ubuf, static int mwl_debugfs_reg_access(struct mwl_priv *priv, bool write) { struct ieee80211_hw *hw = priv->hw; - u8 set; u32 *addr_val; int ret = 0; - set = write ? WL_SET : WL_GET; - switch (priv->reg_type) { case MWL_ACCESS_MAC: - if (set == WL_GET) + if (!write) priv->reg_value = le32_to_cpu(MAC_REG_ADDR_PCI(priv->reg_offset)); else @@ -287,19 +271,19 @@ static int mwl_debugfs_reg_access(struct mwl_priv *priv, bool write) MAC_REG_ADDR_PCI(priv->reg_offset)); break; case MWL_ACCESS_RF: - ret = mwl_fwcmd_reg_rf(hw, set, priv->reg_offset, - &priv->reg_value); + ret = mwl_fwcmd_reg_rf(hw, write ? WL_SET : WL_GET, + priv->reg_offset, &priv->reg_value); break; case MWL_ACCESS_BBP: - ret = mwl_fwcmd_reg_bb(hw, set, priv->reg_offset, - &priv->reg_value); + ret = mwl_fwcmd_reg_bb(hw, write ? WL_SET : WL_GET, + priv->reg_offset, &priv->reg_value); break; case MWL_ACCESS_CAU: - ret = mwl_fwcmd_reg_cau(hw, set, priv->reg_offset, - &priv->reg_value); + ret = mwl_fwcmd_reg_cau(hw, write ? WL_SET : WL_GET, + priv->reg_offset, &priv->reg_value); break; case MWL_ACCESS_ADDR0: - if (set == WL_GET) + if (!write) priv->reg_value = readl(priv->iobase0 + priv->reg_offset); else @@ -307,7 +291,7 @@ static int mwl_debugfs_reg_access(struct mwl_priv *priv, bool write) priv->iobase0 + priv->reg_offset); break; case MWL_ACCESS_ADDR1: - if (set == WL_GET) + if (!write) priv->reg_value = readl(priv->iobase1 + priv->reg_offset); else @@ -320,8 +304,9 @@ static int mwl_debugfs_reg_access(struct mwl_priv *priv, bool write) memset(addr_val, 0, 64 * sizeof(u32)); addr_val[0] = priv->reg_value; ret = mwl_fwcmd_get_addr_value(hw, priv->reg_offset, - 4, addr_val, set); - if ((!ret) && (set == WL_GET)) + 4, addr_val, + write ? WL_SET : WL_GET); + if (!ret && !write) priv->reg_value = addr_val[0]; kfree(addr_val); } else |