Skip to content

Commit a308f9e

Browse files
committed
regmap: Cleanup and microoptimization
Merge series from Andy Shevchenko <andriy.shevchenko@linux.intel.com>: Two patches move the code to use BITS_TO_BYTES(), while the last one otpimizes the code generation on x86 (32- and 64-bit on different compilers).
2 parents b95cacd + 9b3cd5c commit a308f9e

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

drivers/base/regmap/regcache.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ int regcache_init(struct regmap *map, const struct regmap_config *config)
154154
map->num_reg_defaults = config->num_reg_defaults;
155155
map->num_reg_defaults_raw = config->num_reg_defaults_raw;
156156
map->reg_defaults_raw = config->reg_defaults_raw;
157-
map->cache_word_size = DIV_ROUND_UP(config->val_bits, 8);
157+
map->cache_word_size = BITS_TO_BYTES(config->val_bits);
158158
map->cache_size_raw = map->cache_word_size * config->num_reg_defaults_raw;
159159

160160
map->cache = NULL;

drivers/base/regmap/regmap.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -758,14 +758,13 @@ struct regmap *__regmap_init(struct device *dev,
758758
map->alloc_flags = GFP_KERNEL;
759759

760760
map->reg_base = config->reg_base;
761+
map->reg_shift = config->pad_bits % 8;
761762

762-
map->format.reg_bytes = DIV_ROUND_UP(config->reg_bits, 8);
763763
map->format.pad_bytes = config->pad_bits / 8;
764764
map->format.reg_shift = config->reg_shift;
765-
map->format.val_bytes = DIV_ROUND_UP(config->val_bits, 8);
766-
map->format.buf_size = DIV_ROUND_UP(config->reg_bits +
767-
config->val_bits + config->pad_bits, 8);
768-
map->reg_shift = config->pad_bits % 8;
765+
map->format.reg_bytes = BITS_TO_BYTES(config->reg_bits);
766+
map->format.val_bytes = BITS_TO_BYTES(config->val_bits);
767+
map->format.buf_size = BITS_TO_BYTES(config->reg_bits + config->val_bits + config->pad_bits);
769768
if (config->reg_stride)
770769
map->reg_stride = config->reg_stride;
771770
else

0 commit comments

Comments
 (0)