ASoC: SOF: add mode parameter for snd_sof_debugfs_buf_item
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Mon, 3 Jun 2019 16:18:18 +0000 (11:18 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 3 Jun 2019 16:47:13 +0000 (17:47 +0100)
Add mode parameter for snd_sof_debugfs_buf_item() to specify
the mode while creating debugfs entries.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/debug.c
sound/soc/sof/loader.c
sound/soc/sof/sof-priv.h

index 55f1d80..219c3be 100644 (file)
@@ -161,7 +161,7 @@ EXPORT_SYMBOL_GPL(snd_sof_debugfs_io_item);
 /* create FS entry for debug files to expose kernel memory */
 int snd_sof_debugfs_buf_item(struct snd_sof_dev *sdev,
                             void *base, size_t size,
-                            const char *name)
+                            const char *name, mode_t mode)
 {
        struct snd_sof_dfsentry *dfse;
 
@@ -177,7 +177,7 @@ int snd_sof_debugfs_buf_item(struct snd_sof_dev *sdev,
        dfse->size = size;
        dfse->sdev = sdev;
 
-       dfse->dfsentry = debugfs_create_file(name, 0444, sdev->debugfs_root,
+       dfse->dfsentry = debugfs_create_file(name, mode, sdev->debugfs_root,
                                             dfse, &sof_dfs_fops);
        if (!dfse->dfsentry) {
                /* can't rely on debugfs, only log error and keep going */
index 16b016b..952a190 100644 (file)
@@ -335,11 +335,11 @@ int snd_sof_run_firmware(struct snd_sof_dev *sdev)
        init_waitqueue_head(&sdev->boot_wait);
        sdev->boot_complete = false;
 
-       /* create fw_version debugfs to store boot version info */
+       /* create read-only fw_version debugfs to store boot version info */
        if (sdev->first_boot) {
                ret = snd_sof_debugfs_buf_item(sdev, &sdev->fw_version,
                                               sizeof(sdev->fw_version),
-                                              "fw_version");
+                                              "fw_version", 0444);
                /* errors are only due to memory allocation, not debugfs */
                if (ret < 0) {
                        dev_err(sdev->dev, "error: snd_sof_debugfs_buf_item failed\n");
index 01a6219..ce22240 100644 (file)
@@ -546,7 +546,7 @@ int snd_sof_debugfs_io_item(struct snd_sof_dev *sdev,
                            enum sof_debugfs_access_type access_type);
 int snd_sof_debugfs_buf_item(struct snd_sof_dev *sdev,
                             void *base, size_t size,
-                            const char *name);
+                            const char *name, mode_t mode);
 int snd_sof_trace_update_pos(struct snd_sof_dev *sdev,
                             struct sof_ipc_dma_trace_posn *posn);
 void snd_sof_trace_notify_for_error(struct snd_sof_dev *sdev);