11 Dec
2018
11 Dec
'18
11:32 p.m.
On Tue, Dec 11, 2018 at 03:23:07PM -0600, Pierre-Louis Bossart wrote:
From: Liam Girdwood liam.r.girdwood@linux.intel.com
Add debugFS files that can be used to expose DSP memories and and peripherals to userspace to assist with firmware debugging.
TODO: The runtime_pm parts are not final and will be updated.
- if (count > size - pos)
count = size - pos;
max() / min()
- /* intermediate buffer size must be u32 multiple */
- size = (count + 3) & ~3;
Hmm, don't we have something like round_up()?
- dfse->dfsentry = debugfs_create_file(name, 0444, sdev->debugfs_root,
dfse, &sof_dfs_fops);
- if (!dfse->dfsentry) {
dev_err(sdev->dev, "error: cannot create debugfs entry.\n");
return -ENODEV;
- }
We shouldn't rely on debugfs files. Thus, error checking needs to be removed.
Something like
void () { struct dentry *d;
d = debugfs_...(); if (!d) dev_err(); }
- dfse->dfsentry = debugfs_create_file(name, 0444, sdev->debugfs_root,
dfse, &sof_dfs_fops);
- if (!dfse->dfsentry) {
dev_err(sdev->dev, "error: cannot create debugfs entry.\n");
return -ENODEV;
- }
Ditto.
- sdev->debugfs_root = debugfs_create_dir("sof", NULL);
- if (IS_ERR_OR_NULL(sdev->debugfs_root)) {
dev_err(sdev->dev, "error: failed to create debugfs directory\n");
return -EINVAL;
- }
- /* create debugFS files for platform specific MMIO/DSP memories */
- for (i = 0; i < ops->debug_map_count; i++) {
map = &ops->debug_map[i];
err = snd_sof_debugfs_io_create_item(sdev, sdev->bar[map->bar] +
map->offset, map->size,
map->name);
if (err < 0)
dev_err(sdev->dev, "error: cannot create debugfs for %s\n",
map->name);
Ditto (error message dups above).
- }
- return err;
+} +EXPORT_SYMBOL(snd_sof_dbg_init);
--
With Best Regards,
Andy Shevchenko