aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Frey <dpfrey@gmail.com>2018-09-01 12:50:41 -0400
committerMark Brown <broonie@kernel.org>2018-09-07 08:03:55 -0400
commit1c96a2f67cd9b617b013f0a7580d76aae7dcd0d7 (patch)
tree3face74ddb493620322aade5c20d721826e38486
parent9ad8eb0168ab76786f65d4b80ce082980f79a1d9 (diff)
regmap: split up regmap_config.use_single_rw
Split regmap_config.use_single_rw into use_single_read and use_single_write. This change enables drivers of devices which only support bulk operations in one direction to use the regmap_bulk_*() functions for both directions and have their bulk operation split into single operations only when necessary. Update all struct regmap_config instances where use_single_rw==true to instead set both use_single_read and use_single_write. No attempt was made to evaluate whether it is possible to set only one of use_single_read or use_single_write. Signed-off-by: David Frey <dpfrey@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/base/regmap/regmap.c4
-rw-r--r--drivers/edac/altera_edac.c3
-rw-r--r--drivers/hwmon/lm75.c3
-rw-r--r--drivers/hwmon/lm95245.c3
-rw-r--r--drivers/hwmon/tmp102.c3
-rw-r--r--drivers/hwmon/tmp108.c3
-rw-r--r--drivers/iio/light/apds9960.c3
-rw-r--r--drivers/iio/light/max44000.c23
-rw-r--r--drivers/iio/temperature/mlx90632.c3
-rw-r--r--drivers/input/touchscreen/tsc200x-core.c3
-rw-r--r--drivers/mfd/altera-a10sr.c3
-rw-r--r--drivers/mfd/da9052-spi.c3
-rw-r--r--drivers/mfd/mc13xxx-spi.c3
-rw-r--r--drivers/mfd/twl6040.c3
-rw-r--r--drivers/regulator/ltc3589.c3
-rw-r--r--drivers/regulator/ltc3676.c3
-rw-r--r--include/linux/regmap.h12
-rw-r--r--sound/hda/hdac_regmap.c3
-rw-r--r--sound/soc/codecs/cs35l33.c3
-rw-r--r--sound/soc/codecs/cs35l35.c3
-rw-r--r--sound/soc/codecs/cs43130.c4
-rw-r--r--sound/soc/codecs/es8328.c3
-rw-r--r--sound/soc/codecs/rt1305.c3
-rw-r--r--sound/soc/codecs/rt5514.c3
-rw-r--r--sound/soc/codecs/rt5616.c3
-rw-r--r--sound/soc/codecs/rt5640.c3
-rw-r--r--sound/soc/codecs/rt5645.c9
-rw-r--r--sound/soc/codecs/rt5651.c3
-rw-r--r--sound/soc/codecs/rt5660.c3
-rw-r--r--sound/soc/codecs/rt5663.c9
-rw-r--r--sound/soc/codecs/rt5665.c3
-rw-r--r--sound/soc/codecs/rt5668.c3
-rw-r--r--sound/soc/codecs/rt5670.c3
-rw-r--r--sound/soc/codecs/rt5682.c3
34 files changed, 93 insertions, 52 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 0360a90ad6b6..78a778c08f92 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -762,8 +762,8 @@ struct regmap *__regmap_init(struct device *dev,
762 map->reg_stride_order = ilog2(map->reg_stride); 762 map->reg_stride_order = ilog2(map->reg_stride);
763 else 763 else
764 map->reg_stride_order = -1; 764 map->reg_stride_order = -1;
765 map->use_single_read = config->use_single_rw || !bus || !bus->read; 765 map->use_single_read = config->use_single_read || !bus || !bus->read;
766 map->use_single_write = config->use_single_rw || !bus || !bus->write; 766 map->use_single_write = config->use_single_write || !bus || !bus->write;
767 map->can_multi_write = config->can_multi_write && bus && bus->write; 767 map->can_multi_write = config->can_multi_write && bus && bus->write;
768 if (bus) { 768 if (bus) {
769 map->max_raw_read = bus->max_raw_read; 769 map->max_raw_read = bus->max_raw_read;
diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c
index 5762c3c383f2..ab7c5a937ab0 100644
--- a/drivers/edac/altera_edac.c
+++ b/drivers/edac/altera_edac.c
@@ -599,7 +599,8 @@ static const struct regmap_config s10_sdram_regmap_cfg = {
599 .volatile_reg = s10_sdram_volatile_reg, 599 .volatile_reg = s10_sdram_volatile_reg,
600 .reg_read = s10_protected_reg_read, 600 .reg_read = s10_protected_reg_read,
601 .reg_write = s10_protected_reg_write, 601 .reg_write = s10_protected_reg_write,
602 .use_single_rw = true, 602 .use_single_read = true,
603 .use_single_write = true,
603}; 604};
604 605
605static int altr_s10_sdram_probe(struct platform_device *pdev) 606static int altr_s10_sdram_probe(struct platform_device *pdev)
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 49f4b33a5685..542dc4058831 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -254,7 +254,8 @@ static const struct regmap_config lm75_regmap_config = {
254 .volatile_reg = lm75_is_volatile_reg, 254 .volatile_reg = lm75_is_volatile_reg,
255 .val_format_endian = REGMAP_ENDIAN_BIG, 255 .val_format_endian = REGMAP_ENDIAN_BIG,
256 .cache_type = REGCACHE_RBTREE, 256 .cache_type = REGCACHE_RBTREE,
257 .use_single_rw = true, 257 .use_single_read = true,
258 .use_single_write = true,
258}; 259};
259 260
260static void lm75_remove(void *data) 261static void lm75_remove(void *data)
diff --git a/drivers/hwmon/lm95245.c b/drivers/hwmon/lm95245.c
index 27cb06d65594..996b50246175 100644
--- a/drivers/hwmon/lm95245.c
+++ b/drivers/hwmon/lm95245.c
@@ -541,7 +541,8 @@ static const struct regmap_config lm95245_regmap_config = {
541 .writeable_reg = lm95245_is_writeable_reg, 541 .writeable_reg = lm95245_is_writeable_reg,
542 .volatile_reg = lm95245_is_volatile_reg, 542 .volatile_reg = lm95245_is_volatile_reg,
543 .cache_type = REGCACHE_RBTREE, 543 .cache_type = REGCACHE_RBTREE,
544 .use_single_rw = true, 544 .use_single_read = true,
545 .use_single_write = true,
545}; 546};
546 547
547static const u32 lm95245_chip_config[] = { 548static const u32 lm95245_chip_config[] = {
diff --git a/drivers/hwmon/tmp102.c b/drivers/hwmon/tmp102.c
index dfc40c740d07..6778283e36f9 100644
--- a/drivers/hwmon/tmp102.c
+++ b/drivers/hwmon/tmp102.c
@@ -212,7 +212,8 @@ static const struct regmap_config tmp102_regmap_config = {
212 .volatile_reg = tmp102_is_volatile_reg, 212 .volatile_reg = tmp102_is_volatile_reg,
213 .val_format_endian = REGMAP_ENDIAN_BIG, 213 .val_format_endian = REGMAP_ENDIAN_BIG,
214 .cache_type = REGCACHE_RBTREE, 214 .cache_type = REGCACHE_RBTREE,
215 .use_single_rw = true, 215 .use_single_read = true,
216 .use_single_write = true,
216}; 217};
217 218
218static int tmp102_probe(struct i2c_client *client, 219static int tmp102_probe(struct i2c_client *client,
diff --git a/drivers/hwmon/tmp108.c b/drivers/hwmon/tmp108.c
index 91bb94639286..429bfeae4ca8 100644
--- a/drivers/hwmon/tmp108.c
+++ b/drivers/hwmon/tmp108.c
@@ -345,7 +345,8 @@ static const struct regmap_config tmp108_regmap_config = {
345 .volatile_reg = tmp108_is_volatile_reg, 345 .volatile_reg = tmp108_is_volatile_reg,
346 .val_format_endian = REGMAP_ENDIAN_BIG, 346 .val_format_endian = REGMAP_ENDIAN_BIG,
347 .cache_type = REGCACHE_RBTREE, 347 .cache_type = REGCACHE_RBTREE,
348 .use_single_rw = true, 348 .use_single_read = true,
349 .use_single_write = true,
349}; 350};
350 351
351static int tmp108_probe(struct i2c_client *client, 352static int tmp108_probe(struct i2c_client *client,
diff --git a/drivers/iio/light/apds9960.c b/drivers/iio/light/apds9960.c
index 1f112ae15f3c..b09b8b60bd83 100644
--- a/drivers/iio/light/apds9960.c
+++ b/drivers/iio/light/apds9960.c
@@ -206,7 +206,8 @@ static const struct regmap_config apds9960_regmap_config = {
206 .name = APDS9960_REGMAP_NAME, 206 .name = APDS9960_REGMAP_NAME,
207 .reg_bits = 8, 207 .reg_bits = 8,
208 .val_bits = 8, 208 .val_bits = 8,
209 .use_single_rw = 1, 209 .use_single_read = true,
210 .use_single_write = true,
210 211
211 .volatile_table = &apds9960_volatile_table, 212 .volatile_table = &apds9960_volatile_table,
212 .precious_table = &apds9960_precious_table, 213 .precious_table = &apds9960_precious_table,
diff --git a/drivers/iio/light/max44000.c b/drivers/iio/light/max44000.c
index bcdb0eb9e537..4067dff2ff6a 100644
--- a/drivers/iio/light/max44000.c
+++ b/drivers/iio/light/max44000.c
@@ -473,17 +473,18 @@ static bool max44000_precious_reg(struct device *dev, unsigned int reg)
473} 473}
474 474
475static const struct regmap_config max44000_regmap_config = { 475static const struct regmap_config max44000_regmap_config = {
476 .reg_bits = 8, 476 .reg_bits = 8,
477 .val_bits = 8, 477 .val_bits = 8,
478 478
479 .max_register = MAX44000_REG_PRX_DATA, 479 .max_register = MAX44000_REG_PRX_DATA,
480 .readable_reg = max44000_readable_reg, 480 .readable_reg = max44000_readable_reg,
481 .writeable_reg = max44000_writeable_reg, 481 .writeable_reg = max44000_writeable_reg,
482 .volatile_reg = max44000_volatile_reg, 482 .volatile_reg = max44000_volatile_reg,
483 .precious_reg = max44000_precious_reg, 483 .precious_reg = max44000_precious_reg,
484 484
485 .use_single_rw = 1, 485 .use_single_read = true,
486 .cache_type = REGCACHE_RBTREE, 486 .use_single_write = true,
487 .cache_type = REGCACHE_RBTREE,
487}; 488};
488 489
489static irqreturn_t max44000_trigger_handler(int irq, void *p) 490static irqreturn_t max44000_trigger_handler(int irq, void *p)
diff --git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
index 9851311aa3fd..be03be719efe 100644
--- a/drivers/iio/temperature/mlx90632.c
+++ b/drivers/iio/temperature/mlx90632.c
@@ -140,7 +140,8 @@ static const struct regmap_config mlx90632_regmap = {
140 .rd_table = &mlx90632_readable_regs_tbl, 140 .rd_table = &mlx90632_readable_regs_tbl,
141 .wr_table = &mlx90632_writeable_regs_tbl, 141 .wr_table = &mlx90632_writeable_regs_tbl,
142 142
143 .use_single_rw = true, 143 .use_single_read = true,
144 .use_single_write = true,
144 .reg_format_endian = REGMAP_ENDIAN_BIG, 145 .reg_format_endian = REGMAP_ENDIAN_BIG,
145 .val_format_endian = REGMAP_ENDIAN_BIG, 146 .val_format_endian = REGMAP_ENDIAN_BIG,
146 .cache_type = REGCACHE_RBTREE, 147 .cache_type = REGCACHE_RBTREE,
diff --git a/drivers/input/touchscreen/tsc200x-core.c b/drivers/input/touchscreen/tsc200x-core.c
index e0fde590df8e..62973ac01381 100644
--- a/drivers/input/touchscreen/tsc200x-core.c
+++ b/drivers/input/touchscreen/tsc200x-core.c
@@ -68,7 +68,8 @@ const struct regmap_config tsc200x_regmap_config = {
68 .read_flag_mask = TSC200X_REG_READ, 68 .read_flag_mask = TSC200X_REG_READ,
69 .write_flag_mask = TSC200X_REG_PND0, 69 .write_flag_mask = TSC200X_REG_PND0,
70 .wr_table = &tsc200x_writable_table, 70 .wr_table = &tsc200x_writable_table,
71 .use_single_rw = true, 71 .use_single_read = true,
72 .use_single_write = true,
72}; 73};
73EXPORT_SYMBOL_GPL(tsc200x_regmap_config); 74EXPORT_SYMBOL_GPL(tsc200x_regmap_config);
74 75
diff --git a/drivers/mfd/altera-a10sr.c b/drivers/mfd/altera-a10sr.c
index 96e7d2cb7b89..400e0b51844b 100644
--- a/drivers/mfd/altera-a10sr.c
+++ b/drivers/mfd/altera-a10sr.c
@@ -108,7 +108,8 @@ static const struct regmap_config altr_a10sr_regmap_config = {
108 108
109 .cache_type = REGCACHE_NONE, 109 .cache_type = REGCACHE_NONE,
110 110
111 .use_single_rw = true, 111 .use_single_read = true,
112 .use_single_write = true,
112 .read_flag_mask = 1, 113 .read_flag_mask = 1,
113 .write_flag_mask = 0, 114 .write_flag_mask = 0,
114 115
diff --git a/drivers/mfd/da9052-spi.c b/drivers/mfd/da9052-spi.c
index abfb11818fdc..fdae1288bc6d 100644
--- a/drivers/mfd/da9052-spi.c
+++ b/drivers/mfd/da9052-spi.c
@@ -46,7 +46,8 @@ static int da9052_spi_probe(struct spi_device *spi)
46 config.reg_bits = 7; 46 config.reg_bits = 7;
47 config.pad_bits = 1; 47 config.pad_bits = 1;
48 config.val_bits = 8; 48 config.val_bits = 8;
49 config.use_single_rw = 1; 49 config.use_single_read = true;
50 config.use_single_write = true;
50 51
51 da9052->regmap = devm_regmap_init_spi(spi, &config); 52 da9052->regmap = devm_regmap_init_spi(spi, &config);
52 if (IS_ERR(da9052->regmap)) { 53 if (IS_ERR(da9052->regmap)) {
diff --git a/drivers/mfd/mc13xxx-spi.c b/drivers/mfd/mc13xxx-spi.c
index cbc1e5ed599c..ee3411cc5ce4 100644
--- a/drivers/mfd/mc13xxx-spi.c
+++ b/drivers/mfd/mc13xxx-spi.c
@@ -57,7 +57,8 @@ static const struct regmap_config mc13xxx_regmap_spi_config = {
57 .max_register = MC13XXX_NUMREGS, 57 .max_register = MC13XXX_NUMREGS,
58 58
59 .cache_type = REGCACHE_NONE, 59 .cache_type = REGCACHE_NONE,
60 .use_single_rw = 1, 60 .use_single_read = true,
61 .use_single_write = true,
61}; 62};
62 63
63static int mc13xxx_spi_read(void *context, const void *reg, size_t reg_size, 64static int mc13xxx_spi_read(void *context, const void *reg, size_t reg_size,
diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
index dd19f17a1b63..7c3c5fd5fcd0 100644
--- a/drivers/mfd/twl6040.c
+++ b/drivers/mfd/twl6040.c
@@ -613,7 +613,8 @@ static const struct regmap_config twl6040_regmap_config = {
613 .writeable_reg = twl6040_writeable_reg, 613 .writeable_reg = twl6040_writeable_reg,
614 614
615 .cache_type = REGCACHE_RBTREE, 615 .cache_type = REGCACHE_RBTREE,
616 .use_single_rw = true, 616 .use_single_read = true,
617 .use_single_write = true,
617}; 618};
618 619
619static const struct regmap_irq twl6040_irqs[] = { 620static const struct regmap_irq twl6040_irqs[] = {
diff --git a/drivers/regulator/ltc3589.c b/drivers/regulator/ltc3589.c
index 18d5b01ddcb2..63f724f260ef 100644
--- a/drivers/regulator/ltc3589.c
+++ b/drivers/regulator/ltc3589.c
@@ -404,7 +404,8 @@ static const struct regmap_config ltc3589_regmap_config = {
404 .max_register = LTC3589_L2DTV2, 404 .max_register = LTC3589_L2DTV2,
405 .reg_defaults = ltc3589_reg_defaults, 405 .reg_defaults = ltc3589_reg_defaults,
406 .num_reg_defaults = ARRAY_SIZE(ltc3589_reg_defaults), 406 .num_reg_defaults = ARRAY_SIZE(ltc3589_reg_defaults),
407 .use_single_rw = true, 407 .use_single_read = true,
408 .use_single_write = true,
408 .cache_type = REGCACHE_RBTREE, 409 .cache_type = REGCACHE_RBTREE,
409}; 410};
410 411
diff --git a/drivers/regulator/ltc3676.c b/drivers/regulator/ltc3676.c
index 9dec1609ff66..71fd0f2a4b76 100644
--- a/drivers/regulator/ltc3676.c
+++ b/drivers/regulator/ltc3676.c
@@ -321,7 +321,8 @@ static const struct regmap_config ltc3676_regmap_config = {
321 .readable_reg = ltc3676_readable_reg, 321 .readable_reg = ltc3676_readable_reg,
322 .volatile_reg = ltc3676_volatile_reg, 322 .volatile_reg = ltc3676_volatile_reg,
323 .max_register = LTC3676_CLIRQ, 323 .max_register = LTC3676_CLIRQ,
324 .use_single_rw = true, 324 .use_single_read = true,
325 .use_single_write = true,
325 .cache_type = REGCACHE_RBTREE, 326 .cache_type = REGCACHE_RBTREE,
326}; 327};
327 328
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 379505a53722..6ea9bf9377cb 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -315,9 +315,12 @@ typedef void (*regmap_unlock)(void *);
315 * masks are used. 315 * masks are used.
316 * @zero_flag_mask: If set, read_flag_mask and write_flag_mask are used even 316 * @zero_flag_mask: If set, read_flag_mask and write_flag_mask are used even
317 * if they are both empty. 317 * if they are both empty.
318 * @use_single_rw: If set, converts the bulk read and write operations into 318 * @use_single_read: If set, converts the bulk read operation into a series of
319 * a series of single read and write operations. This is useful 319 * single read operations. This is useful for a device that
320 * for device that does not support bulk read and write. 320 * does not support bulk read.
321 * @use_single_write: If set, converts the bulk write operation into a series of
322 * single write operations. This is useful for a device that
323 * does not support bulk write.
321 * @can_multi_write: If set, the device supports the multi write mode of bulk 324 * @can_multi_write: If set, the device supports the multi write mode of bulk
322 * write operations, if clear multi write requests will be 325 * write operations, if clear multi write requests will be
323 * split into individual write operations 326 * split into individual write operations
@@ -380,7 +383,8 @@ struct regmap_config {
380 unsigned long write_flag_mask; 383 unsigned long write_flag_mask;
381 bool zero_flag_mask; 384 bool zero_flag_mask;
382 385
383 bool use_single_rw; 386 bool use_single_read;
387 bool use_single_write;
384 bool can_multi_write; 388 bool can_multi_write;
385 389
386 enum regmap_endian reg_format_endian; 390 enum regmap_endian reg_format_endian;
diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c
index 419e285e0226..996dbc850224 100644
--- a/sound/hda/hdac_regmap.c
+++ b/sound/hda/hdac_regmap.c
@@ -359,7 +359,8 @@ static const struct regmap_config hda_regmap_cfg = {
359 .cache_type = REGCACHE_RBTREE, 359 .cache_type = REGCACHE_RBTREE,
360 .reg_read = hda_reg_read, 360 .reg_read = hda_reg_read,
361 .reg_write = hda_reg_write, 361 .reg_write = hda_reg_write,
362 .use_single_rw = true, 362 .use_single_read = true,
363 .use_single_write = true,
363}; 364};
364 365
365/** 366/**
diff --git a/sound/soc/codecs/cs35l33.c b/sound/soc/codecs/cs35l33.c
index 668cd3754209..e9b7f72d880b 100644
--- a/sound/soc/codecs/cs35l33.c
+++ b/sound/soc/codecs/cs35l33.c
@@ -857,7 +857,8 @@ static const struct regmap_config cs35l33_regmap = {
857 .readable_reg = cs35l33_readable_register, 857 .readable_reg = cs35l33_readable_register,
858 .writeable_reg = cs35l33_writeable_register, 858 .writeable_reg = cs35l33_writeable_register,
859 .cache_type = REGCACHE_RBTREE, 859 .cache_type = REGCACHE_RBTREE,
860 .use_single_rw = true, 860 .use_single_read = true,
861 .use_single_write = true,
861}; 862};
862 863
863static int __maybe_unused cs35l33_runtime_resume(struct device *dev) 864static int __maybe_unused cs35l33_runtime_resume(struct device *dev)
diff --git a/sound/soc/codecs/cs35l35.c b/sound/soc/codecs/cs35l35.c
index bd6226bde45f..9f4a59871cee 100644
--- a/sound/soc/codecs/cs35l35.c
+++ b/sound/soc/codecs/cs35l35.c
@@ -1105,7 +1105,8 @@ static struct regmap_config cs35l35_regmap = {
1105 .readable_reg = cs35l35_readable_register, 1105 .readable_reg = cs35l35_readable_register,
1106 .precious_reg = cs35l35_precious_register, 1106 .precious_reg = cs35l35_precious_register,
1107 .cache_type = REGCACHE_RBTREE, 1107 .cache_type = REGCACHE_RBTREE,
1108 .use_single_rw = true, 1108 .use_single_read = true,
1109 .use_single_write = true,
1109}; 1110};
1110 1111
1111static irqreturn_t cs35l35_irq(int irq, void *data) 1112static irqreturn_t cs35l35_irq(int irq, void *data)
diff --git a/sound/soc/codecs/cs43130.c b/sound/soc/codecs/cs43130.c
index 80dc42197154..3f7b255587e6 100644
--- a/sound/soc/codecs/cs43130.c
+++ b/sound/soc/codecs/cs43130.c
@@ -2362,7 +2362,9 @@ static const struct regmap_config cs43130_regmap = {
2362 .precious_reg = cs43130_precious_register, 2362 .precious_reg = cs43130_precious_register,
2363 .volatile_reg = cs43130_volatile_register, 2363 .volatile_reg = cs43130_volatile_register,
2364 .cache_type = REGCACHE_RBTREE, 2364 .cache_type = REGCACHE_RBTREE,
2365 .use_single_rw = true, /* needed for regcache_sync */ 2365 /* needed for regcache_sync */
2366 .use_single_read = true,
2367 .use_single_write = true,
2366}; 2368};
2367 2369
2368static u16 const cs43130_dc_threshold[CS43130_DC_THRESHOLD] = { 2370static u16 const cs43130_dc_threshold[CS43130_DC_THRESHOLD] = {
diff --git a/sound/soc/codecs/es8328.c b/sound/soc/codecs/es8328.c
index e9fc2fd97d2f..4b5827dc23aa 100644
--- a/sound/soc/codecs/es8328.c
+++ b/sound/soc/codecs/es8328.c
@@ -824,7 +824,8 @@ const struct regmap_config es8328_regmap_config = {
824 .val_bits = 8, 824 .val_bits = 8,
825 .max_register = ES8328_REG_MAX, 825 .max_register = ES8328_REG_MAX,
826 .cache_type = REGCACHE_RBTREE, 826 .cache_type = REGCACHE_RBTREE,
827 .use_single_rw = true, 827 .use_single_read = true,
828 .use_single_write = true,
828}; 829};
829EXPORT_SYMBOL_GPL(es8328_regmap_config); 830EXPORT_SYMBOL_GPL(es8328_regmap_config);
830 831
diff --git a/sound/soc/codecs/rt1305.c b/sound/soc/codecs/rt1305.c
index c4452efc7970..c2c8a68cec97 100644
--- a/sound/soc/codecs/rt1305.c
+++ b/sound/soc/codecs/rt1305.c
@@ -963,7 +963,8 @@ static const struct regmap_config rt1305_regmap = {
963 .num_reg_defaults = ARRAY_SIZE(rt1305_reg), 963 .num_reg_defaults = ARRAY_SIZE(rt1305_reg),
964 .ranges = rt1305_ranges, 964 .ranges = rt1305_ranges,
965 .num_ranges = ARRAY_SIZE(rt1305_ranges), 965 .num_ranges = ARRAY_SIZE(rt1305_ranges),
966 .use_single_rw = true, 966 .use_single_read = true,
967 .use_single_write = true,
967}; 968};
968 969
969#if defined(CONFIG_OF) 970#if defined(CONFIG_OF)
diff --git a/sound/soc/codecs/rt5514.c b/sound/soc/codecs/rt5514.c
index dca82dd6e3bf..f78183a6e80d 100644
--- a/sound/soc/codecs/rt5514.c
+++ b/sound/soc/codecs/rt5514.c
@@ -1201,7 +1201,8 @@ static const struct regmap_config rt5514_regmap = {
1201 .cache_type = REGCACHE_RBTREE, 1201 .cache_type = REGCACHE_RBTREE,
1202 .reg_defaults = rt5514_reg, 1202 .reg_defaults = rt5514_reg,
1203 .num_reg_defaults = ARRAY_SIZE(rt5514_reg), 1203 .num_reg_defaults = ARRAY_SIZE(rt5514_reg),
1204 .use_single_rw = true, 1204 .use_single_read = true,
1205 .use_single_write = true,
1205}; 1206};
1206 1207
1207static const struct i2c_device_id rt5514_i2c_id[] = { 1208static const struct i2c_device_id rt5514_i2c_id[] = {
diff --git a/sound/soc/codecs/rt5616.c b/sound/soc/codecs/rt5616.c
index 3dc795f444ce..36a9f1c56c8d 100644
--- a/sound/soc/codecs/rt5616.c
+++ b/sound/soc/codecs/rt5616.c
@@ -1313,7 +1313,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5616 = {
1313static const struct regmap_config rt5616_regmap = { 1313static const struct regmap_config rt5616_regmap = {
1314 .reg_bits = 8, 1314 .reg_bits = 8,
1315 .val_bits = 16, 1315 .val_bits = 16,
1316 .use_single_rw = true, 1316 .use_single_read = true,
1317 .use_single_write = true,
1317 .max_register = RT5616_DEVICE_ID + 1 + (ARRAY_SIZE(rt5616_ranges) * 1318 .max_register = RT5616_DEVICE_ID + 1 + (ARRAY_SIZE(rt5616_ranges) *
1318 RT5616_PR_SPACING), 1319 RT5616_PR_SPACING),
1319 .volatile_reg = rt5616_volatile_register, 1320 .volatile_reg = rt5616_volatile_register,
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
index 27770143ae8f..fc530481a6e4 100644
--- a/sound/soc/codecs/rt5640.c
+++ b/sound/soc/codecs/rt5640.c
@@ -2704,7 +2704,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5640 = {
2704static const struct regmap_config rt5640_regmap = { 2704static const struct regmap_config rt5640_regmap = {
2705 .reg_bits = 8, 2705 .reg_bits = 8,
2706 .val_bits = 16, 2706 .val_bits = 16,
2707 .use_single_rw = true, 2707 .use_single_read = true,
2708 .use_single_write = true,
2708 2709
2709 .max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) * 2710 .max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) *
2710 RT5640_PR_SPACING), 2711 RT5640_PR_SPACING),
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index 1dc70f452c1b..be674688dc40 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -3559,7 +3559,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5645 = {
3559static const struct regmap_config rt5645_regmap = { 3559static const struct regmap_config rt5645_regmap = {
3560 .reg_bits = 8, 3560 .reg_bits = 8,
3561 .val_bits = 16, 3561 .val_bits = 16,
3562 .use_single_rw = true, 3562 .use_single_read = true,
3563 .use_single_write = true,
3563 .max_register = RT5645_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5645_ranges) * 3564 .max_register = RT5645_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5645_ranges) *
3564 RT5645_PR_SPACING), 3565 RT5645_PR_SPACING),
3565 .volatile_reg = rt5645_volatile_register, 3566 .volatile_reg = rt5645_volatile_register,
@@ -3575,7 +3576,8 @@ static const struct regmap_config rt5645_regmap = {
3575static const struct regmap_config rt5650_regmap = { 3576static const struct regmap_config rt5650_regmap = {
3576 .reg_bits = 8, 3577 .reg_bits = 8,
3577 .val_bits = 16, 3578 .val_bits = 16,
3578 .use_single_rw = true, 3579 .use_single_read = true,
3580 .use_single_write = true,
3579 .max_register = RT5645_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5645_ranges) * 3581 .max_register = RT5645_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5645_ranges) *
3580 RT5645_PR_SPACING), 3582 RT5645_PR_SPACING),
3581 .volatile_reg = rt5645_volatile_register, 3583 .volatile_reg = rt5645_volatile_register,
@@ -3592,7 +3594,8 @@ static const struct regmap_config temp_regmap = {
3592 .name="nocache", 3594 .name="nocache",
3593 .reg_bits = 8, 3595 .reg_bits = 8,
3594 .val_bits = 16, 3596 .val_bits = 16,
3595 .use_single_rw = true, 3597 .use_single_read = true,
3598 .use_single_write = true,
3596 .max_register = RT5645_VENDOR_ID2 + 1, 3599 .max_register = RT5645_VENDOR_ID2 + 1,
3597 .cache_type = REGCACHE_NONE, 3600 .cache_type = REGCACHE_NONE,
3598}; 3601};
diff --git a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c
index 985852fd9723..5bcedbc7eb4a 100644
--- a/sound/soc/codecs/rt5651.c
+++ b/sound/soc/codecs/rt5651.c
@@ -2124,7 +2124,8 @@ static const struct regmap_config rt5651_regmap = {
2124 .num_reg_defaults = ARRAY_SIZE(rt5651_reg), 2124 .num_reg_defaults = ARRAY_SIZE(rt5651_reg),
2125 .ranges = rt5651_ranges, 2125 .ranges = rt5651_ranges,
2126 .num_ranges = ARRAY_SIZE(rt5651_ranges), 2126 .num_ranges = ARRAY_SIZE(rt5651_ranges),
2127 .use_single_rw = true, 2127 .use_single_read = true,
2128 .use_single_write = true,
2128}; 2129};
2129 2130
2130#if defined(CONFIG_OF) 2131#if defined(CONFIG_OF)
diff --git a/sound/soc/codecs/rt5660.c b/sound/soc/codecs/rt5660.c
index 20a755137e63..27f7445b2432 100644
--- a/sound/soc/codecs/rt5660.c
+++ b/sound/soc/codecs/rt5660.c
@@ -1217,7 +1217,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5660 = {
1217static const struct regmap_config rt5660_regmap = { 1217static const struct regmap_config rt5660_regmap = {
1218 .reg_bits = 8, 1218 .reg_bits = 8,
1219 .val_bits = 16, 1219 .val_bits = 16,
1220 .use_single_rw = true, 1220 .use_single_read = true,
1221 .use_single_write = true,
1221 1222
1222 .max_register = RT5660_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5660_ranges) * 1223 .max_register = RT5660_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5660_ranges) *
1223 RT5660_PR_SPACING), 1224 RT5660_PR_SPACING),
diff --git a/sound/soc/codecs/rt5663.c b/sound/soc/codecs/rt5663.c
index 9bd24ad42240..70441661ea4a 100644
--- a/sound/soc/codecs/rt5663.c
+++ b/sound/soc/codecs/rt5663.c
@@ -3252,7 +3252,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5663 = {
3252static const struct regmap_config rt5663_v2_regmap = { 3252static const struct regmap_config rt5663_v2_regmap = {
3253 .reg_bits = 16, 3253 .reg_bits = 16,
3254 .val_bits = 16, 3254 .val_bits = 16,
3255 .use_single_rw = true, 3255 .use_single_read = true,
3256 .use_single_write = true,
3256 .max_register = 0x07fa, 3257 .max_register = 0x07fa,
3257 .volatile_reg = rt5663_v2_volatile_register, 3258 .volatile_reg = rt5663_v2_volatile_register,
3258 .readable_reg = rt5663_v2_readable_register, 3259 .readable_reg = rt5663_v2_readable_register,
@@ -3264,7 +3265,8 @@ static const struct regmap_config rt5663_v2_regmap = {
3264static const struct regmap_config rt5663_regmap = { 3265static const struct regmap_config rt5663_regmap = {
3265 .reg_bits = 16, 3266 .reg_bits = 16,
3266 .val_bits = 16, 3267 .val_bits = 16,
3267 .use_single_rw = true, 3268 .use_single_read = true,
3269 .use_single_write = true,
3268 .max_register = 0x03f3, 3270 .max_register = 0x03f3,
3269 .volatile_reg = rt5663_volatile_register, 3271 .volatile_reg = rt5663_volatile_register,
3270 .readable_reg = rt5663_readable_register, 3272 .readable_reg = rt5663_readable_register,
@@ -3277,7 +3279,8 @@ static const struct regmap_config temp_regmap = {
3277 .name = "nocache", 3279 .name = "nocache",
3278 .reg_bits = 16, 3280 .reg_bits = 16,
3279 .val_bits = 16, 3281 .val_bits = 16,
3280 .use_single_rw = true, 3282 .use_single_read = true,
3283 .use_single_write = true,
3281 .max_register = 0x03f3, 3284 .max_register = 0x03f3,
3282 .cache_type = REGCACHE_NONE, 3285 .cache_type = REGCACHE_NONE,
3283}; 3286};
diff --git a/sound/soc/codecs/rt5665.c b/sound/soc/codecs/rt5665.c
index 6ba99f5ed3f4..f2ad3a4c3b7f 100644
--- a/sound/soc/codecs/rt5665.c
+++ b/sound/soc/codecs/rt5665.c
@@ -4633,7 +4633,8 @@ static const struct regmap_config rt5665_regmap = {
4633 .cache_type = REGCACHE_RBTREE, 4633 .cache_type = REGCACHE_RBTREE,
4634 .reg_defaults = rt5665_reg, 4634 .reg_defaults = rt5665_reg,
4635 .num_reg_defaults = ARRAY_SIZE(rt5665_reg), 4635 .num_reg_defaults = ARRAY_SIZE(rt5665_reg),
4636 .use_single_rw = true, 4636 .use_single_read = true,
4637 .use_single_write = true,
4637}; 4638};
4638 4639
4639static const struct i2c_device_id rt5665_i2c_id[] = { 4640static const struct i2c_device_id rt5665_i2c_id[] = {
diff --git a/sound/soc/codecs/rt5668.c b/sound/soc/codecs/rt5668.c
index 3c19d03f2446..3f6046a66b56 100644
--- a/sound/soc/codecs/rt5668.c
+++ b/sound/soc/codecs/rt5668.c
@@ -2375,7 +2375,8 @@ static const struct regmap_config rt5668_regmap = {
2375 .cache_type = REGCACHE_RBTREE, 2375 .cache_type = REGCACHE_RBTREE,
2376 .reg_defaults = rt5668_reg, 2376 .reg_defaults = rt5668_reg,
2377 .num_reg_defaults = ARRAY_SIZE(rt5668_reg), 2377 .num_reg_defaults = ARRAY_SIZE(rt5668_reg),
2378 .use_single_rw = true, 2378 .use_single_read = true,
2379 .use_single_write = true,
2379}; 2380};
2380 2381
2381static const struct i2c_device_id rt5668_i2c_id[] = { 2382static const struct i2c_device_id rt5668_i2c_id[] = {
diff --git a/sound/soc/codecs/rt5670.c b/sound/soc/codecs/rt5670.c
index 732ef928b25d..f0f8debc2829 100644
--- a/sound/soc/codecs/rt5670.c
+++ b/sound/soc/codecs/rt5670.c
@@ -2814,7 +2814,8 @@ static const struct snd_soc_component_driver soc_component_dev_rt5670 = {
2814static const struct regmap_config rt5670_regmap = { 2814static const struct regmap_config rt5670_regmap = {
2815 .reg_bits = 8, 2815 .reg_bits = 8,
2816 .val_bits = 16, 2816 .val_bits = 16,
2817 .use_single_rw = true, 2817 .use_single_read = true,
2818 .use_single_write = true,
2818 .max_register = RT5670_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5670_ranges) * 2819 .max_register = RT5670_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5670_ranges) *
2819 RT5670_PR_SPACING), 2820 RT5670_PR_SPACING),
2820 .volatile_reg = rt5670_volatile_register, 2821 .volatile_reg = rt5670_volatile_register,
diff --git a/sound/soc/codecs/rt5682.c b/sound/soc/codecs/rt5682.c
index 640d400ca013..23515bfef257 100644
--- a/sound/soc/codecs/rt5682.c
+++ b/sound/soc/codecs/rt5682.c
@@ -2419,7 +2419,8 @@ static const struct regmap_config rt5682_regmap = {
2419 .cache_type = REGCACHE_RBTREE, 2419 .cache_type = REGCACHE_RBTREE,
2420 .reg_defaults = rt5682_reg, 2420 .reg_defaults = rt5682_reg,
2421 .num_reg_defaults = ARRAY_SIZE(rt5682_reg), 2421 .num_reg_defaults = ARRAY_SIZE(rt5682_reg),
2422 .use_single_rw = true, 2422 .use_single_read = true,
2423 .use_single_write = true,
2423}; 2424};
2424 2425
2425static const struct i2c_device_id rt5682_i2c_id[] = { 2426static const struct i2c_device_id rt5682_i2c_id[] = {