mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
ath9k: remove virtual wiphy support - it was only experimental anyway and it is not going to be maintained anymore
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25055 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
172
package/mac80211/patches/540-ath9k_remove_virtual_debugfs.patch
Normal file
172
package/mac80211/patches/540-ath9k_remove_virtual_debugfs.patch
Normal file
@@ -0,0 +1,172 @@
|
||||
--- 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,
|
||||
Reference in New Issue
Block a user