[PATCH v5] mfd: intel-lpss: Clean up and modernize DebugFS usage
From: Maria Lisina
Date: Tue Sep 15 2026 - 18:13:59 EST
The DebugFS API is designed to handle errors gracefully.
Any explicit checking on return values is considered an anti-pattern.
This patch removes unnecessary error checking and converts
intel_lpss_debugfs_add() into a void function.
While at it, this patch also clean ups legacy and deprecated usage
of S_IRUGO macro and debugfs_remove_recursive() function.
Signed-off-by: Maria Lisina <sekoohaka.sarisan@xxxxxxxxx>
---
Changes in v5:
- Changed the goal of the patch to DebugFS modernization.
- Refactored intel_lpss_debugfs_add() into a void function.
- Removed deprecated macros and functions.
- Removed dmesg message completely.
- Link to v4: https://lore.kernel.org/r/20260914-intel-lpss-debugfs-v4-1-0eb82ea7c1e3@xxxxxxxxx
Changes in v4:
- Keep the dmesg messages, instead check whether DebugFS is initialized
- Link to v3: https://lore.kernel.org/r/20260913-intel-lpss-debugfs-v3-1-1b8e2b1f0992@xxxxxxxxx
Changes in v3:
- Fixed commit name and description.
- Link to v2: https://lore.kernel.org/r/20260913-intel-lpss-debugfs-v2-1-a1a4faf5cc63@xxxxxxxxx
Changes in v2:
- Fixed function name in comment section.
- Link to v1: https://lore.kernel.org/r/20260913-intel-lpss-debugfs-v1-1-833cbb6fffc9@xxxxxxxxx
---
drivers/mfd/intel-lpss.c | 28 +++++++++++-----------------
1 file changed, 11 insertions(+), 17 deletions(-)
diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index 63d6694f71457b2e09d238af0a9bfb897a169a64..1a61ef1a62b3e8a2777f357d5c4605d5d57d9532 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -142,28 +142,25 @@ static void intel_lpss_cache_ltr(struct intel_lpss *lpss)
lpss->idle_ltr = readl(lpss->priv + LPSS_PRIV_IDLELTR);
}
-static int intel_lpss_debugfs_add(struct intel_lpss *lpss)
+static void intel_lpss_debugfs_add(struct intel_lpss *lpss)
{
- struct dentry *dir;
-
- dir = debugfs_create_dir(dev_name(lpss->dev), intel_lpss_debugfs);
- if (IS_ERR(dir))
- return PTR_ERR(dir);
+ lpss->debugfs =
+ debugfs_create_dir(dev_name(lpss->dev), intel_lpss_debugfs);
/* Cache the values into lpss structure */
intel_lpss_cache_ltr(lpss);
- debugfs_create_x32("capabilities", S_IRUGO, dir, &lpss->caps);
- debugfs_create_x32("active_ltr", S_IRUGO, dir, &lpss->active_ltr);
- debugfs_create_x32("idle_ltr", S_IRUGO, dir, &lpss->idle_ltr);
-
- lpss->debugfs = dir;
- return 0;
+ debugfs_create_x32("capabilities", 0444, lpss->debugfs,
+ &lpss->caps);
+ debugfs_create_x32("active_ltr", 0444, lpss->debugfs,
+ &lpss->active_ltr);
+ debugfs_create_x32("idle_ltr", 0444, lpss->debugfs,
+ &lpss->idle_ltr);
}
static void intel_lpss_debugfs_remove(struct intel_lpss *lpss)
{
- debugfs_remove_recursive(lpss->debugfs);
+ debugfs_remove(lpss->debugfs);
}
static void intel_lpss_ltr_set(struct device *dev, s32 val)
@@ -432,10 +429,7 @@ int intel_lpss_probe(struct device *dev,
goto err_clk_register;
intel_lpss_ltr_expose(lpss);
-
- ret = intel_lpss_debugfs_add(lpss);
- if (ret)
- dev_warn(dev, "Failed to create debugfs entries\n");
+ intel_lpss_debugfs_add(lpss);
if (intel_lpss_has_idma(lpss)) {
ret = mfd_add_devices(dev, lpss->devid, &intel_lpss_idma64_cell,
---
base-commit: 2f0c1cf72f4682178506f513bbf015e591b1aa4a
change-id: 20260913-intel-lpss-debugfs-eff3580d1295
Best regards,
--
Maria Lisina <sekoohaka.sarisan@xxxxxxxxx>