diff options
author | Simon Trimmer <simont@opensource.cirrus.com> | 2023-11-13 16:40:29 +0000 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2023-11-13 17:44:30 +0100 |
commit | d02ef87db9d6137fc2a98231b92f24ead4f7966d (patch) | |
tree | 8331a1610abb5eed915b2c9cce1f04720477156e /sound | |
parent | 713f040cd22285fcc506f40a0d259566e6758c3c (diff) | |
download | linux-d02ef87db9d6137fc2a98231b92f24ead4f7966d.tar.gz linux-d02ef87db9d6137fc2a98231b92f24ead4f7966d.tar.bz2 linux-d02ef87db9d6137fc2a98231b92f24ead4f7966d.zip |
ALSA: hda: cs35l56: Enable low-power hibernation mode on i2c
This can now be re-enabled as the sequence to reliably wake the device
has been implemented in the shared ASoC code.
This has a functional dependency on commit 3df761bdbc8b
("ASoC: cs35l56: Wake transactions need to be issued twice")
To protect against this, enabling hibernation is conditional on
CS35L56_WAKE_HOLD_TIME_US being defined, which indicates that the new
hibernation sequences are available.
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20231113164029.1156669-1-rf@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/cs35l56_hda_i2c.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/cs35l56_hda_i2c.c b/sound/pci/hda/cs35l56_hda_i2c.c index 757a4d193e0f..a9ef6d86de83 100644 --- a/sound/pci/hda/cs35l56_hda_i2c.c +++ b/sound/pci/hda/cs35l56_hda_i2c.c @@ -21,6 +21,10 @@ static int cs35l56_hda_i2c_probe(struct i2c_client *clt) return -ENOMEM; cs35l56->base.dev = &clt->dev; + +#ifdef CS35L56_WAKE_HOLD_TIME_US + cs35l56->base.can_hibernate = true; +#endif cs35l56->base.regmap = devm_regmap_init_i2c(clt, &cs35l56_regmap_i2c); if (IS_ERR(cs35l56->base.regmap)) { ret = PTR_ERR(cs35l56->base.regmap); |