commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=41e2b852df95ba17c455541d5929c1c9b9578724 branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk
Signed-off-by: Scott Jiang <[email protected]> --- sound/soc/codecs/ad193x.c | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c index aea7e52..d916b20 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 ad193x_spi_probe(struct spi_device *spi) @@ -419,8 +443,9 @@ 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, + .cache_type = REGCACHE_RBTREE, }; static const struct i2c_device_id ad193x_id[] = {
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
