Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f51e3d53 authored by Maciej S. Szmigiero's avatar Maciej S. Szmigiero Committed by Mark Brown
Browse files

ASoC: fsl_ssi: mark some registers precious



Mark some registers precious since their
reads have side effects (like clearing flags).

Signed-off-by: default avatarMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3f1c241f
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -157,6 +157,21 @@ static bool fsl_ssi_volatile_reg(struct device *dev, unsigned int reg)
	}
}

static bool fsl_ssi_precious_reg(struct device *dev, unsigned int reg)
{
	switch (reg) {
	case CCSR_SSI_SRX0:
	case CCSR_SSI_SRX1:
	case CCSR_SSI_SISR:
	case CCSR_SSI_SACADD:
	case CCSR_SSI_SACDAT:
	case CCSR_SSI_SATAG:
		return true;
	default:
		return false;
	}
}

static bool fsl_ssi_writeable_reg(struct device *dev, unsigned int reg)
{
	switch (reg) {
@@ -179,6 +194,7 @@ static const struct regmap_config fsl_ssi_regconfig = {
	.num_reg_defaults = ARRAY_SIZE(fsl_ssi_reg_defaults),
	.readable_reg = fsl_ssi_readable_reg,
	.volatile_reg = fsl_ssi_volatile_reg,
	.precious_reg = fsl_ssi_precious_reg,
	.writeable_reg = fsl_ssi_writeable_reg,
	.cache_type = REGCACHE_RBTREE,
};