ASoC: fsl_ssi: mark some registers precious
Mark some registers precious since their reads have side effects (like clearing flags). Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
3f1c241f0f
commit
f51e3d5372
1 changed files with 16 additions and 0 deletions
|
@ -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,
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue