Commit 76ae3e26 authored by Amitkumar Karwar's avatar Amitkumar Karwar Committed by Kalle Valo

mwifiex: add debugfs file for testing reset of card

This provides an option for user to power cycle the card.
It will be used to change the firmware without actually
rebooting the system.
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 47f336d7
...@@ -906,6 +906,34 @@ mwifiex_timeshare_coex_write(struct file *file, const char __user *ubuf, ...@@ -906,6 +906,34 @@ mwifiex_timeshare_coex_write(struct file *file, const char __user *ubuf,
return count; return count;
} }
static ssize_t
mwifiex_reset_write(struct file *file,
const char __user *ubuf, size_t count, loff_t *ppos)
{
struct mwifiex_private *priv = file->private_data;
struct mwifiex_adapter *adapter = priv->adapter;
char cmd;
bool result;
if (copy_from_user(&cmd, ubuf, sizeof(cmd)))
return -EFAULT;
if (strtobool(&cmd, &result))
return -EINVAL;
if (!result)
return -EINVAL;
if (adapter->if_ops.card_reset) {
dev_info(adapter->dev, "Resetting per request\n");
adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
mwifiex_cancel_all_pending_cmd(adapter);
adapter->if_ops.card_reset(adapter);
}
return count;
}
#define MWIFIEX_DFS_ADD_FILE(name) do { \ #define MWIFIEX_DFS_ADD_FILE(name) do { \
if (!debugfs_create_file(#name, 0644, priv->dfs_dev_dir, \ if (!debugfs_create_file(#name, 0644, priv->dfs_dev_dir, \
priv, &mwifiex_dfs_##name##_fops)) \ priv, &mwifiex_dfs_##name##_fops)) \
...@@ -943,6 +971,7 @@ MWIFIEX_DFS_FILE_OPS(hscfg); ...@@ -943,6 +971,7 @@ MWIFIEX_DFS_FILE_OPS(hscfg);
MWIFIEX_DFS_FILE_OPS(histogram); MWIFIEX_DFS_FILE_OPS(histogram);
MWIFIEX_DFS_FILE_OPS(debug_mask); MWIFIEX_DFS_FILE_OPS(debug_mask);
MWIFIEX_DFS_FILE_OPS(timeshare_coex); MWIFIEX_DFS_FILE_OPS(timeshare_coex);
MWIFIEX_DFS_FILE_WRITE_OPS(reset);
/* /*
* This function creates the debug FS directory structure and the files. * This function creates the debug FS directory structure and the files.
...@@ -970,6 +999,7 @@ mwifiex_dev_debugfs_init(struct mwifiex_private *priv) ...@@ -970,6 +999,7 @@ mwifiex_dev_debugfs_init(struct mwifiex_private *priv)
MWIFIEX_DFS_ADD_FILE(histogram); MWIFIEX_DFS_ADD_FILE(histogram);
MWIFIEX_DFS_ADD_FILE(debug_mask); MWIFIEX_DFS_ADD_FILE(debug_mask);
MWIFIEX_DFS_ADD_FILE(timeshare_coex); MWIFIEX_DFS_ADD_FILE(timeshare_coex);
MWIFIEX_DFS_ADD_FILE(reset);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment