mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-11 07:30:16 +00:00
mac80211: debugfs: improve airtime_flags handler readability
Improve airtime_flags debugfs handler readability reporting configured airtime flags in both numeric and human readable manner Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Acked-by: Toke Høiland-Jørgensen <toke@redhat.com> Link: https://lore.kernel.org/r/9df7e40b45e95bb0b320317831455beaed1ee3ee.1574872357.git.lorenzo@kernel.org [remove AQL since it's no longer there] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
7d6aa9ba4f
commit
e322c07f83
@ -150,6 +150,59 @@ static const struct file_operations aqm_ops = {
|
||||
.llseek = default_llseek,
|
||||
};
|
||||
|
||||
static ssize_t airtime_flags_read(struct file *file,
|
||||
char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct ieee80211_local *local = file->private_data;
|
||||
char buf[128] = {}, *pos, *end;
|
||||
|
||||
pos = buf;
|
||||
end = pos + sizeof(buf) - 1;
|
||||
|
||||
if (local->airtime_flags & AIRTIME_USE_TX)
|
||||
pos += scnprintf(pos, end - pos, "AIRTIME_TX\t(%lx)\n",
|
||||
AIRTIME_USE_TX);
|
||||
if (local->airtime_flags & AIRTIME_USE_RX)
|
||||
pos += scnprintf(pos, end - pos, "AIRTIME_RX\t(%lx)\n",
|
||||
AIRTIME_USE_RX);
|
||||
|
||||
return simple_read_from_buffer(user_buf, count, ppos, buf,
|
||||
strlen(buf));
|
||||
}
|
||||
|
||||
static ssize_t airtime_flags_write(struct file *file,
|
||||
const char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct ieee80211_local *local = file->private_data;
|
||||
char buf[16];
|
||||
size_t len;
|
||||
|
||||
if (count > sizeof(buf))
|
||||
return -EINVAL;
|
||||
|
||||
if (copy_from_user(buf, user_buf, count))
|
||||
return -EFAULT;
|
||||
|
||||
buf[sizeof(buf) - 1] = 0;
|
||||
len = strlen(buf);
|
||||
if (len > 0 && buf[len - 1] == '\n')
|
||||
buf[len - 1] = 0;
|
||||
|
||||
if (kstrtou16(buf, 0, &local->airtime_flags))
|
||||
return -EINVAL;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
static const struct file_operations airtime_flags_ops = {
|
||||
.write = airtime_flags_write,
|
||||
.read = airtime_flags_read,
|
||||
.open = simple_open,
|
||||
.llseek = default_llseek,
|
||||
};
|
||||
|
||||
static ssize_t aql_txq_limit_read(struct file *file,
|
||||
char __user *user_buf,
|
||||
size_t count,
|
||||
@ -522,8 +575,7 @@ void debugfs_hw_add(struct ieee80211_local *local)
|
||||
if (local->ops->wake_tx_queue)
|
||||
DEBUGFS_ADD_MODE(aqm, 0600);
|
||||
|
||||
debugfs_create_u16("airtime_flags", 0600,
|
||||
phyd, &local->airtime_flags);
|
||||
DEBUGFS_ADD_MODE(airtime_flags, 0600);
|
||||
|
||||
DEBUGFS_ADD(aql_txq_limit);
|
||||
debugfs_create_u32("aql_threshold", 0600,
|
||||
|
Loading…
x
Reference in New Issue
Block a user