ath9k: remove the virtual wiphy debugfs interface
authorFelix Fietkau <nbd@openwrt.org>
Mon, 24 Jan 2011 18:23:15 +0000 (19:23 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 28 Jan 2011 20:39:40 +0000 (15:39 -0500)
It does not make much sense to keep the current virtual wiphy implementation
any longer - it adds significant complexity, has very few users and is still
very experimental. At some point in time, it will be replaced by a proper
implementation in mac80211.

By making the code easier to read and maintain, removing virtual wiphy support
helps with fixing the remaining driver issues and adding further improvements.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/debug.c

index f0c80ec..f517c0c 100644 (file)
@@ -381,41 +381,21 @@ static const struct file_operations fops_interrupt = {
        .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 file *file, char __user *user_buf,
        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,