[PATCH] ath10k: Debugfs entry to enable/disable BTC feature
Kalle Valo
kvalo at qca.qualcomm.com
Wed May 27 05:56:57 PDT 2015
Yanbo Li <yanbol at qca.qualcomm.com> writes:
> As some radio have no connection with BT modules, enable the BTC feature
> will has some side effect if the radio's GPIO connect with any other HW
> modules. Add the control switcher "btc_feature" at debugfs and set the
> feature as disable by default to avoid such case.
>
> To enable this feature, execute:
> echo 1 > /sys/kernel/debug/ieee80211/phyX/ath10k/btc_feature
> To disable:
> echo 0 > /sys/kernel/debug/ieee80211/phyX/ath10k/btc_feature
I suspect "BTC" does not really tell much for most of the people and
acronyms should be always spelled out at least once.
> Signed-off-by: Yanbo Li <yanbol at qca.qualcomm.com>
>
> diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
> index 8444adf42195..6852e7fc5d5f 100644
> --- a/drivers/net/wireless/ath/ath10k/core.h
> +++ b/drivers/net/wireless/ath/ath10k/core.h
> @@ -720,6 +720,8 @@ struct ath10k {
> u32 fw_cold_reset_counter;
> } stats;
>
> + bool btc_feature;
Could we use ar->dev_flags instead?
> +static ssize_t ath10k_write_btc_feature(struct file *file,
> + const char __user *ubuf,
> + size_t count, loff_t *ppos)
> +{
> + struct ath10k *ar = file->private_data;
> + char buf[32];
> + size_t buf_size;
> + bool val;
> +
> + buf_size = min(count, (sizeof(buf) - 1));
> + if (copy_from_user(buf, ubuf, buf_size))
> + return -EFAULT;
> +
> + buf[buf_size] = '\0';
> + if (strtobool(buf, &val) != 0) {
> + ath10k_warn(ar, "Wrong BTC feature setting\n");
> + return -EINVAL;
> + }
> +
> + mutex_lock(&ar->conf_mutex);
> + ar->btc_feature = val;
> + queue_work(ar->workqueue, &ar->restart_work);
> + mutex_unlock(&ar->conf_mutex);
Shouldn't we test ATH10K_STATE_ON first?
> int ath10k_debug_create(struct ath10k *ar)
> {
> ar->debug.fw_crash_data = vzalloc(sizeof(*ar->debug.fw_crash_data));
> @@ -2195,6 +2243,8 @@ int ath10k_debug_register(struct ath10k *ar)
> debugfs_create_file("quiet_period", S_IRUGO | S_IWUSR,
> ar->debug.debugfs_phy, ar, &fops_quiet_period);
>
> + debugfs_create_file("btc_feature", S_IRUGO | S_IWUSR,
> + ar->debug.debugfs_phy, ar,
> &fops_btc_feature);
At least some of the other drivers use term btcoex for this, I think we
should be consistent and use the same.
I can do the changes and send v2 for this.
--
Kalle Valo
More information about the ath10k
mailing list