ASoC: ak4458: correct reset polarity
[ Upstream commit e953daeb68b1abd8a7d44902786349fdeef5c297 ] Reset (aka power off) happens when the reset gpio is made active. Change function name to ak4458_reset to match devicetree property "reset-gpios" Signed-off-by: Eliot Blennerhassett <eliot@blennerhassett.gen.nz> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/ce650f47-4ff6-e486-7846-cc3d033f3601@blennerhassett.gen.nz Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e96d102502
commit
589cf152fe
@ -523,18 +523,10 @@ static struct snd_soc_dai_driver ak4497_dai = {
|
||||
.ops = &ak4458_dai_ops,
|
||||
};
|
||||
|
||||
static void ak4458_power_off(struct ak4458_priv *ak4458)
|
||||
static void ak4458_reset(struct ak4458_priv *ak4458, bool active)
|
||||
{
|
||||
if (ak4458->reset_gpiod) {
|
||||
gpiod_set_value_cansleep(ak4458->reset_gpiod, 0);
|
||||
usleep_range(1000, 2000);
|
||||
}
|
||||
}
|
||||
|
||||
static void ak4458_power_on(struct ak4458_priv *ak4458)
|
||||
{
|
||||
if (ak4458->reset_gpiod) {
|
||||
gpiod_set_value_cansleep(ak4458->reset_gpiod, 1);
|
||||
gpiod_set_value_cansleep(ak4458->reset_gpiod, active);
|
||||
usleep_range(1000, 2000);
|
||||
}
|
||||
}
|
||||
@ -548,7 +540,7 @@ static int ak4458_init(struct snd_soc_component *component)
|
||||
if (ak4458->mute_gpiod)
|
||||
gpiod_set_value_cansleep(ak4458->mute_gpiod, 1);
|
||||
|
||||
ak4458_power_on(ak4458);
|
||||
ak4458_reset(ak4458, false);
|
||||
|
||||
ret = snd_soc_component_update_bits(component, AK4458_00_CONTROL1,
|
||||
0x80, 0x80); /* ACKS bit = 1; 10000000 */
|
||||
@ -571,7 +563,7 @@ static void ak4458_remove(struct snd_soc_component *component)
|
||||
{
|
||||
struct ak4458_priv *ak4458 = snd_soc_component_get_drvdata(component);
|
||||
|
||||
ak4458_power_off(ak4458);
|
||||
ak4458_reset(ak4458, true);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
@ -581,7 +573,7 @@ static int __maybe_unused ak4458_runtime_suspend(struct device *dev)
|
||||
|
||||
regcache_cache_only(ak4458->regmap, true);
|
||||
|
||||
ak4458_power_off(ak4458);
|
||||
ak4458_reset(ak4458, true);
|
||||
|
||||
if (ak4458->mute_gpiod)
|
||||
gpiod_set_value_cansleep(ak4458->mute_gpiod, 0);
|
||||
@ -596,8 +588,8 @@ static int __maybe_unused ak4458_runtime_resume(struct device *dev)
|
||||
if (ak4458->mute_gpiod)
|
||||
gpiod_set_value_cansleep(ak4458->mute_gpiod, 1);
|
||||
|
||||
ak4458_power_off(ak4458);
|
||||
ak4458_power_on(ak4458);
|
||||
ak4458_reset(ak4458, true);
|
||||
ak4458_reset(ak4458, false);
|
||||
|
||||
regcache_cache_only(ak4458->regmap, false);
|
||||
regcache_mark_dirty(ak4458->regmap);
|
||||
|
Loading…
x
Reference in New Issue
Block a user