]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mfd: cs47l35: Update to use maple tree register cache
authorMark Brown <broonie@kernel.org>
Thu, 13 Jul 2023 00:49:21 +0000 (01:49 +0100)
committerLee Jones <lee@kernel.org>
Fri, 18 Aug 2023 20:48:02 +0000 (21:48 +0100)
The maple tree register cache is based on a much more modern data structure
than the rbtree cache and makes optimisation choices which are probably
more appropriate for modern systems than those made by the rbtree cache. In
v6.5 it has also acquired the ability to generate multi-register writes in
sync operations, bringing performance up to parity with the rbtree cache
there.

Update the cs47l35 driver to use the more modern data structure.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230713-mfd-cirrus-maple-v1-3-16dacae402a8@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/cs47l35-tables.c

index a0bc6c5100d63293341ea5a3a0dd26b6cfcb6532..274f4b05850a3935d233b743b979eebcdc0f2753 100644 (file)
@@ -1498,7 +1498,7 @@ const struct regmap_config cs47l35_16bit_spi_regmap = {
        .readable_reg = cs47l35_16bit_readable_register,
        .volatile_reg = cs47l35_16bit_volatile_register,
 
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
        .reg_defaults = cs47l35_reg_default,
        .num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default),
 };
@@ -1515,7 +1515,7 @@ const struct regmap_config cs47l35_16bit_i2c_regmap = {
        .readable_reg = cs47l35_16bit_readable_register,
        .volatile_reg = cs47l35_16bit_volatile_register,
 
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
        .reg_defaults = cs47l35_reg_default,
        .num_reg_defaults = ARRAY_SIZE(cs47l35_reg_default),
 };
@@ -1534,7 +1534,7 @@ const struct regmap_config cs47l35_32bit_spi_regmap = {
        .readable_reg = cs47l35_32bit_readable_register,
        .volatile_reg = cs47l35_32bit_volatile_register,
 
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
 };
 EXPORT_SYMBOL_GPL(cs47l35_32bit_spi_regmap);
 
@@ -1550,6 +1550,6 @@ const struct regmap_config cs47l35_32bit_i2c_regmap = {
        .readable_reg = cs47l35_32bit_readable_register,
        .volatile_reg = cs47l35_32bit_volatile_register,
 
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
 };
 EXPORT_SYMBOL_GPL(cs47l35_32bit_i2c_regmap);