diff options
Diffstat (limited to 'drivers/base/regmap/regmap-debugfs.c')
-rw-r--r-- | drivers/base/regmap/regmap-debugfs.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c index 45d812c0ea77..0c94b661c16f 100644 --- a/drivers/base/regmap/regmap-debugfs.c +++ b/drivers/base/regmap/regmap-debugfs.c | |||
@@ -512,7 +512,14 @@ void regmap_debugfs_init(struct regmap *map, const char *name) | |||
512 | map, ®map_reg_ranges_fops); | 512 | map, ®map_reg_ranges_fops); |
513 | 513 | ||
514 | if (map->max_register || regmap_readable(map, 0)) { | 514 | if (map->max_register || regmap_readable(map, 0)) { |
515 | debugfs_create_file("registers", 0400, map->debugfs, | 515 | umode_t registers_mode; |
516 | |||
517 | if (IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS)) | ||
518 | registers_mode = 0600; | ||
519 | else | ||
520 | registers_mode = 0400; | ||
521 | |||
522 | debugfs_create_file("registers", registers_mode, map->debugfs, | ||
516 | map, ®map_map_fops); | 523 | map, ®map_map_fops); |
517 | debugfs_create_file("access", 0400, map->debugfs, | 524 | debugfs_create_file("access", 0400, map->debugfs, |
518 | map, ®map_access_fops); | 525 | map, ®map_access_fops); |
@@ -538,6 +545,9 @@ void regmap_debugfs_init(struct regmap *map, const char *name) | |||
538 | 545 | ||
539 | next = rb_next(&range_node->node); | 546 | next = rb_next(&range_node->node); |
540 | } | 547 | } |
548 | |||
549 | if (map->cache_ops && map->cache_ops->debugfs_init) | ||
550 | map->cache_ops->debugfs_init(map); | ||
541 | } | 551 | } |
542 | 552 | ||
543 | void regmap_debugfs_exit(struct regmap *map) | 553 | void regmap_debugfs_exit(struct regmap *map) |