Skip to content

Commit a6f7c21

Browse files
rfvirgilbroonie
authored andcommitted
ASoC: cs35l56-shared-test: Subtract reg_base offset in dummy regmap
Subtract the value of cs35l56 regmap_config->reg_base from addresses passed into the mock regmap bus. Chip register addresses transferred over SoundWire are offset by 0x8000 to move them after the address range reserved in the SoundWire spec. This commit prepares for changing the cs35l56-sdw driver to use regmap_config->reg_base to add this offset. When that is done the addresses passed into the mock regmap_bus will include this offset. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://patch.msgid.link/20260519135435.479949-2-rf@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 75a3e43 commit a6f7c21

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

sound/soc/codecs/cs35l56-shared-test.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ struct cs35l56_shared_test_priv {
2929
struct faux_device *gpio_dev;
3030
struct cs35l56_shared_test_mock_gpio *gpio_priv;
3131
struct regmap *registers;
32+
unsigned int reg_offset;
3233
struct cs35l56_base *cs35l56_base;
3334
u8 applied_pad_pull_state[CS35L56_MAX_GPIO];
3435
};
@@ -194,6 +195,8 @@ static int cs35l56_shared_test_reg_read(void *context, unsigned int reg, unsigne
194195
{
195196
struct cs35l56_shared_test_priv *priv = context;
196197

198+
reg -= priv->reg_offset;
199+
197200
switch (reg) {
198201
case CS35L56_SYNC_GPIO1_CFG ... CS35L56_ASP2_DIO_GPIO13_CFG:
199202
case CS35L56_GPIO1_CTRL1 ... CS35L56_GPIO13_CTRL1:
@@ -214,6 +217,8 @@ static int cs35l56_shared_test_reg_write(void *context, unsigned int reg, unsign
214217
{
215218
struct cs35l56_shared_test_priv *priv = context;
216219

220+
reg -= priv->reg_offset;
221+
217222
switch (reg) {
218223
case CS35L56_UPDATE_REGS:
219224
return cs35l56_shared_test_updt_gpio_pres(priv, reg, val);
@@ -657,6 +662,7 @@ static int cs35l56_shared_test_case_base_init(struct kunit *test, u8 type, u8 re
657662

658663
test->priv = priv;
659664
priv->test = test;
665+
priv->reg_offset = regmap_config->reg_base;
660666

661667
/* Create dummy amp driver dev */
662668
priv->amp_dev = faux_device_create("cs35l56_shared_test_drv", NULL, NULL);

0 commit comments

Comments
 (0)