Commit d584e73e authored by Martin Povišer's avatar Martin Povišer Committed by Mark Brown

ASoC: apple: mca: Trigger, not deassert, the peripheral reset

Replace the deassertion of the peripheral's shared reset with the
triggering of a pulse on it. This is what we should have been using all
along as the platform's custom is not leaving the reset asserted on
unused peripherals.

Fixes: 3df5d0d9 ("ASoC: apple: mca: Start new platform driver")
Signed-off-by: default avatarMartin Povišer <povik+lin@cutebit.org>
Link: https://lore.kernel.org/r/20220927113426.49724-1-povik+lin@cutebit.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6fed3265
...@@ -995,7 +995,7 @@ static void apple_mca_release(struct mca_data *mca) ...@@ -995,7 +995,7 @@ static void apple_mca_release(struct mca_data *mca)
if (!IS_ERR_OR_NULL(mca->pd_dev)) if (!IS_ERR_OR_NULL(mca->pd_dev))
dev_pm_domain_detach(mca->pd_dev, true); dev_pm_domain_detach(mca->pd_dev, true);
reset_control_assert(mca->rstc); reset_control_rearm(mca->rstc);
} }
static int apple_mca_probe(struct platform_device *pdev) static int apple_mca_probe(struct platform_device *pdev)
...@@ -1049,12 +1049,12 @@ static int apple_mca_probe(struct platform_device *pdev) ...@@ -1049,12 +1049,12 @@ static int apple_mca_probe(struct platform_device *pdev)
DL_FLAG_RPM_ACTIVE); DL_FLAG_RPM_ACTIVE);
if (!mca->pd_link) { if (!mca->pd_link) {
ret = -EINVAL; ret = -EINVAL;
/* Prevent an unbalanced reset assert */ /* Prevent an unbalanced reset rearm */
mca->rstc = NULL; mca->rstc = NULL;
goto err_release; goto err_release;
} }
reset_control_deassert(mca->rstc); reset_control_reset(mca->rstc);
for (i = 0; i < nclusters; i++) { for (i = 0; i < nclusters; i++) {
struct mca_cluster *cl = &clusters[i]; struct mca_cluster *cl = &clusters[i];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment