lkml.org 
[lkml]   [2017]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 7/9] ASoC: max98927: Added PM suspend and resume function
    Date
    Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com>
    ---
    sound/soc/codecs/max98927.c | 27 ++++++++++++++++++++++++++-
    1 file changed, 26 insertions(+), 1 deletion(-)

    diff --git a/sound/soc/codecs/max98927.c b/sound/soc/codecs/max98927.c
    index 3ab8220..5517251 100644
    --- a/sound/soc/codecs/max98927.c
    +++ b/sound/soc/codecs/max98927.c
    @@ -803,6 +803,31 @@ static int max98927_probe(struct snd_soc_codec *codec)
    return 0;
    }

    +#ifdef CONFIG_PM_SLEEP
    +static int max98927_suspend(struct device *dev)
    +{
    + struct max98927_priv *max98927 = dev_get_drvdata(dev);
    +
    + regcache_cache_only(max98927->regmap, true);
    + regcache_mark_dirty(max98927->regmap);
    + return 0;
    +}
    +static int max98927_resume(struct device *dev)
    +{
    + struct max98927_priv *max98927 = dev_get_drvdata(dev);
    +
    + regmap_write(max98927->regmap,
    + MAX98927_R0100_SOFT_RESET, MAX98927_SOFT_RESET);
    + regcache_cache_only(max98927->regmap, false);
    + regcache_sync(max98927->regmap);
    + return 0;
    +}
    +#endif
    +
    +static const struct dev_pm_ops max98927_pm = {
    + SET_SYSTEM_SLEEP_PM_OPS(max98927_suspend, max98927_resume)
    +};
    +
    static const struct snd_soc_codec_driver soc_codec_dev_max98927 = {
    .probe = max98927_probe,
    .component_driver = {
    @@ -936,7 +961,7 @@ static int max98927_i2c_remove(struct i2c_client *client)
    .name = "max98927",
    .of_match_table = of_match_ptr(max98927_of_match),
    .acpi_match_table = ACPI_PTR(max98927_acpi_match),
    - .pm = NULL,
    + .pm = &max98927_pm,
    },
    .probe = max98927_i2c_probe,
    .remove = max98927_i2c_remove,
    --
    1.9.1
    \
     
     \ /
      Last update: 2017-08-29 01:33    [W:5.740 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site