commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=e57c16c7eb084951bb177b16d0e2fdd3f286f07d branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2012R2
Signed-off-by: Scott Jiang <[email protected]> --- sound/soc/codecs/ad193x.c | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c index 13e62be..9f41eed 100644 --- a/sound/soc/codecs/ad193x.c +++ b/sound/soc/codecs/ad193x.c @@ -351,8 +351,31 @@ static int ad193x_probe(struct snd_soc_codec *codec) return ret; } +#ifdef CONFIG_PM +static int ad193x_suspend(struct snd_soc_codec *codec) +{ + struct ad193x_priv *ad193x = snd_soc_codec_get_drvdata(codec); + + regcache_mark_dirty(ad193x->regmap); + return 0; +} + +static int ad193x_resume(struct snd_soc_codec *codec) +{ + struct ad193x_priv *ad193x = snd_soc_codec_get_drvdata(codec); + + regcache_sync(ad193x->regmap); + return 0; +} +#else +#define ad193x_suspend NULL +#define ad193x_resume NULL +#endif + static struct snd_soc_codec_driver soc_codec_dev_ad193x = { .probe = ad193x_probe, + .suspend = ad193x_suspend, + .resume = ad193x_resume, .controls = ad193x_snd_controls, .num_controls = ARRAY_SIZE(ad193x_snd_controls), .dapm_widgets = ad193x_dapm_widgets, @@ -374,8 +397,9 @@ static const struct regmap_config ad193x_spi_regmap_config = { .read_flag_mask = 0x09, .write_flag_mask = 0x08, - .max_register = AD193X_NUM_REGS - 1, + .max_register = AD193X_NUM_REGS, .volatile_reg = adau193x_reg_volatile, + .cache_type = REGCACHE_RBTREE, }; static int __devinit ad193x_spi_probe(struct spi_device *spi) @@ -434,7 +458,7 @@ static const struct regmap_config ad193x_i2c_regmap_config = { .val_bits = 8, .reg_bits = 8, - .max_register = AD193X_NUM_REGS - 1, + .max_register = AD193X_NUM_REGS, .volatile_reg = adau193x_reg_volatile, };
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
