|
@@ -1577,6 +1577,32 @@ static const struct file_operations fops_fw_capabilities = {
|
|
|
.llseek = seq_lseek,
|
|
|
};
|
|
|
|
|
|
+/*---------FW version------------*/
|
|
|
+static int wil_fw_version_debugfs_show(struct seq_file *s, void *data)
|
|
|
+{
|
|
|
+ struct wil6210_priv *wil = s->private;
|
|
|
+
|
|
|
+ if (wil->fw_version[0])
|
|
|
+ seq_printf(s, "%s\n", wil->fw_version);
|
|
|
+ else
|
|
|
+ seq_puts(s, "N/A\n");
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static int wil_fw_version_seq_open(struct inode *inode, struct file *file)
|
|
|
+{
|
|
|
+ return single_open(file, wil_fw_version_debugfs_show,
|
|
|
+ inode->i_private);
|
|
|
+}
|
|
|
+
|
|
|
+static const struct file_operations fops_fw_version = {
|
|
|
+ .open = wil_fw_version_seq_open,
|
|
|
+ .release = single_release,
|
|
|
+ .read = seq_read,
|
|
|
+ .llseek = seq_lseek,
|
|
|
+};
|
|
|
+
|
|
|
/*----------------*/
|
|
|
static void wil6210_debugfs_init_blobs(struct wil6210_priv *wil,
|
|
|
struct dentry *dbg)
|
|
@@ -1628,6 +1654,7 @@ static const struct {
|
|
|
{"led_cfg", S_IRUGO | S_IWUSR, &fops_led_cfg},
|
|
|
{"led_blink_time", S_IRUGO | S_IWUSR, &fops_led_blink_time},
|
|
|
{"fw_capabilities", S_IRUGO, &fops_fw_capabilities},
|
|
|
+ {"fw_version", S_IRUGO, &fops_fw_version},
|
|
|
};
|
|
|
|
|
|
static void wil6210_debugfs_init_files(struct wil6210_priv *wil,
|
|
@@ -1668,7 +1695,6 @@ static void wil6210_debugfs_init_isr(struct wil6210_priv *wil,
|
|
|
static const struct dbg_off dbg_wil_off[] = {
|
|
|
WIL_FIELD(privacy, S_IRUGO, doff_u32),
|
|
|
WIL_FIELD(status[0], S_IRUGO | S_IWUSR, doff_ulong),
|
|
|
- WIL_FIELD(fw_version, S_IRUGO, doff_u32),
|
|
|
WIL_FIELD(hw_version, S_IRUGO, doff_x32),
|
|
|
WIL_FIELD(recovery_count, S_IRUGO, doff_u32),
|
|
|
WIL_FIELD(ap_isolate, S_IRUGO, doff_u32),
|