aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorRasmus Villemoes <linux@rasmusvillemoes.dk>2015-09-30 14:30:25 -0400
committerMark Brown <broonie@kernel.org>2015-09-30 15:31:15 -0400
commite34dc490713f8d9dfbbb5bb56d966d90a9344131 (patch)
tree48a68316a43804e68f07f45eed043199e01e961f /drivers/base
parent9ae3109d1d9ff367e0d0efa7073cc078edb9a372 (diff)
regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file()
Calling strlen() no less than three times on entry is silly. Since we're formatting into a buffer with plenty of room, there's no chance of truncation, so snprintf() has actually returned the value we want, meaning we don't even have to call strlen once. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regmap-debugfs.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c
index 4a4737887cce..1ffc101ca011 100644
--- a/drivers/base/regmap/regmap-debugfs.c
+++ b/drivers/base/regmap/regmap-debugfs.c
@@ -337,6 +337,7 @@ static ssize_t regmap_reg_ranges_read_file(struct file *file,
337 char *buf; 337 char *buf;
338 char *entry; 338 char *entry;
339 int ret; 339 int ret;
340 unsigned entry_len;
340 341
341 if (*ppos < 0 || !count) 342 if (*ppos < 0 || !count)
342 return -EINVAL; 343 return -EINVAL;
@@ -364,18 +365,18 @@ static ssize_t regmap_reg_ranges_read_file(struct file *file,
364 p = 0; 365 p = 0;
365 mutex_lock(&map->cache_lock); 366 mutex_lock(&map->cache_lock);
366 list_for_each_entry(c, &map->debugfs_off_cache, list) { 367 list_for_each_entry(c, &map->debugfs_off_cache, list) {
367 snprintf(entry, PAGE_SIZE, "%x-%x", 368 entry_len = snprintf(entry, PAGE_SIZE, "%x-%x",
368 c->base_reg, c->max_reg); 369 c->base_reg, c->max_reg);
369 if (p >= *ppos) { 370 if (p >= *ppos) {
370 if (buf_pos + 1 + strlen(entry) > count) 371 if (buf_pos + 1 + entry_len > count)
371 break; 372 break;
372 snprintf(buf + buf_pos, count - buf_pos, 373 snprintf(buf + buf_pos, count - buf_pos,
373 "%s", entry); 374 "%s", entry);
374 buf_pos += strlen(entry); 375 buf_pos += entry_len;
375 buf[buf_pos] = '\n'; 376 buf[buf_pos] = '\n';
376 buf_pos++; 377 buf_pos++;
377 } 378 }
378 p += strlen(entry) + 1; 379 p += entry_len + 1;
379 } 380 }
380 mutex_unlock(&map->cache_lock); 381 mutex_unlock(&map->cache_lock);
381 382