summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorMarkus Pargmann2014-09-08 08:43:37 +0200
committerMark Brown2014-09-29 19:22:26 +0200
commit18c0301f9898feaac38135b2cea476bb606830e3 (patch)
tree16de5ad4b420033e9ff1a761881fedb4a30e0f0f /drivers/base
parentregmap: debugfs: fix possbile NULL pointer dereference (diff)
downloadkernel-qcow2-linux-18c0301f9898feaac38135b2cea476bb606830e3.tar.gz
kernel-qcow2-linux-18c0301f9898feaac38135b2cea476bb606830e3.tar.xz
kernel-qcow2-linux-18c0301f9898feaac38135b2cea476bb606830e3.zip
regmap: Fix debugfs-file 'registers' mode
The macro "REGMAP_ALLOW_WRITE_DEBUGFS" can be used to enable write support on the registers file in the debugfs. The mode of the file is fixed to 0400 so it is not possible to write the file ever. This patch fixes the mode by setting it to the correct value depending on the macro. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regmap-debugfs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c
index bdd88708e4d6..a88cbd42edf0 100644
--- a/drivers/base/regmap/regmap-debugfs.c
+++ b/drivers/base/regmap/regmap-debugfs.c
@@ -516,7 +516,14 @@ void regmap_debugfs_init(struct regmap *map, const char *name)
map, &regmap_reg_ranges_fops);
if (map->max_register || regmap_readable(map, 0)) {
- debugfs_create_file("registers", 0400, map->debugfs,
+ umode_t registers_mode;
+
+ if (IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS))
+ registers_mode = 0600;
+ else
+ registers_mode = 0400;
+
+ debugfs_create_file("registers", registers_mode, map->debugfs,
map, &regmap_map_fops);
debugfs_create_file("access", 0400, map->debugfs,
map, &regmap_access_fops);