| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- --- a/drivers/net/wireless/ath/ath9k/debug.c
- +++ b/drivers/net/wireless/ath/ath9k/debug.c
- @@ -381,41 +381,21 @@ static const struct file_operations fops
- .llseek = default_llseek,
- };
-
- -static const char * ath_wiphy_state_str(enum ath_wiphy_state state)
- -{
- - switch (state) {
- - case ATH_WIPHY_INACTIVE:
- - return "INACTIVE";
- - case ATH_WIPHY_ACTIVE:
- - return "ACTIVE";
- - case ATH_WIPHY_PAUSING:
- - return "PAUSING";
- - case ATH_WIPHY_PAUSED:
- - return "PAUSED";
- - case ATH_WIPHY_SCAN:
- - return "SCAN";
- - }
- - return "?";
- -}
- -
- static ssize_t read_file_wiphy(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
- {
- struct ath_softc *sc = file->private_data;
- - struct ath_wiphy *aphy = sc->pri_wiphy;
- - struct ieee80211_channel *chan = aphy->hw->conf.channel;
- + struct ieee80211_channel *chan = sc->hw->conf.channel;
- char buf[512];
- unsigned int len = 0;
- - int i;
- u8 addr[ETH_ALEN];
- u32 tmp;
-
- len += snprintf(buf + len, sizeof(buf) - len,
- - "primary: %s (%s chan=%d ht=%d)\n",
- - wiphy_name(sc->pri_wiphy->hw->wiphy),
- - ath_wiphy_state_str(sc->pri_wiphy->state),
- + "%s (chan=%d ht=%d)\n",
- + wiphy_name(sc->hw->wiphy),
- ieee80211_frequency_to_channel(chan->center_freq),
- - aphy->chan_is_ht);
- + conf_is_ht(&sc->hw->conf));
-
- put_unaligned_le32(REG_READ_D(sc->sc_ah, AR_STA_ID0), addr);
- put_unaligned_le16(REG_READ_D(sc->sc_ah, AR_STA_ID1) & 0xffff, addr + 4);
- @@ -457,123 +437,14 @@ static ssize_t read_file_wiphy(struct fi
- else
- len += snprintf(buf + len, sizeof(buf) - len, "\n");
-
- - /* Put variable-length stuff down here, and check for overflows. */
- - for (i = 0; i < sc->num_sec_wiphy; i++) {
- - struct ath_wiphy *aphy_tmp = sc->sec_wiphy[i];
- - if (aphy_tmp == NULL)
- - continue;
- - chan = aphy_tmp->hw->conf.channel;
- - len += snprintf(buf + len, sizeof(buf) - len,
- - "secondary: %s (%s chan=%d ht=%d)\n",
- - wiphy_name(aphy_tmp->hw->wiphy),
- - ath_wiphy_state_str(aphy_tmp->state),
- - ieee80211_frequency_to_channel(chan->center_freq),
- - aphy_tmp->chan_is_ht);
- - }
- if (len > sizeof(buf))
- len = sizeof(buf);
-
- return simple_read_from_buffer(user_buf, count, ppos, buf, len);
- }
-
- -static struct ath_wiphy * get_wiphy(struct ath_softc *sc, const char *name)
- -{
- - int i;
- - if (strcmp(name, wiphy_name(sc->pri_wiphy->hw->wiphy)) == 0)
- - return sc->pri_wiphy;
- - for (i = 0; i < sc->num_sec_wiphy; i++) {
- - struct ath_wiphy *aphy = sc->sec_wiphy[i];
- - if (aphy && strcmp(name, wiphy_name(aphy->hw->wiphy)) == 0)
- - return aphy;
- - }
- - return NULL;
- -}
- -
- -static int del_wiphy(struct ath_softc *sc, const char *name)
- -{
- - struct ath_wiphy *aphy = get_wiphy(sc, name);
- - if (!aphy)
- - return -ENOENT;
- - return ath9k_wiphy_del(aphy);
- -}
- -
- -static int pause_wiphy(struct ath_softc *sc, const char *name)
- -{
- - struct ath_wiphy *aphy = get_wiphy(sc, name);
- - if (!aphy)
- - return -ENOENT;
- - return ath9k_wiphy_pause(aphy);
- -}
- -
- -static int unpause_wiphy(struct ath_softc *sc, const char *name)
- -{
- - struct ath_wiphy *aphy = get_wiphy(sc, name);
- - if (!aphy)
- - return -ENOENT;
- - return ath9k_wiphy_unpause(aphy);
- -}
- -
- -static int select_wiphy(struct ath_softc *sc, const char *name)
- -{
- - struct ath_wiphy *aphy = get_wiphy(sc, name);
- - if (!aphy)
- - return -ENOENT;
- - return ath9k_wiphy_select(aphy);
- -}
- -
- -static int schedule_wiphy(struct ath_softc *sc, const char *msec)
- -{
- - ath9k_wiphy_set_scheduler(sc, simple_strtoul(msec, NULL, 0));
- - return 0;
- -}
- -
- -static ssize_t write_file_wiphy(struct file *file, const char __user *user_buf,
- - size_t count, loff_t *ppos)
- -{
- - struct ath_softc *sc = file->private_data;
- - char buf[50];
- - size_t len;
- -
- - len = min(count, sizeof(buf) - 1);
- - if (copy_from_user(buf, user_buf, len))
- - return -EFAULT;
- - buf[len] = '\0';
- - if (len > 0 && buf[len - 1] == '\n')
- - buf[len - 1] = '\0';
- -
- - if (strncmp(buf, "add", 3) == 0) {
- - int res = ath9k_wiphy_add(sc);
- - if (res < 0)
- - return res;
- - } else if (strncmp(buf, "del=", 4) == 0) {
- - int res = del_wiphy(sc, buf + 4);
- - if (res < 0)
- - return res;
- - } else if (strncmp(buf, "pause=", 6) == 0) {
- - int res = pause_wiphy(sc, buf + 6);
- - if (res < 0)
- - return res;
- - } else if (strncmp(buf, "unpause=", 8) == 0) {
- - int res = unpause_wiphy(sc, buf + 8);
- - if (res < 0)
- - return res;
- - } else if (strncmp(buf, "select=", 7) == 0) {
- - int res = select_wiphy(sc, buf + 7);
- - if (res < 0)
- - return res;
- - } else if (strncmp(buf, "schedule=", 9) == 0) {
- - int res = schedule_wiphy(sc, buf + 9);
- - if (res < 0)
- - return res;
- - } else
- - return -EOPNOTSUPP;
- -
- - return count;
- -}
- -
- static const struct file_operations fops_wiphy = {
- .read = read_file_wiphy,
- - .write = write_file_wiphy,
- .open = ath9k_debugfs_open,
- .owner = THIS_MODULE,
- .llseek = default_llseek,
|