On Wed, 2023-05-03 at 13:34 +0200, AngeloGioacchino Del Regno wrote:
Function mt8195_afe_init_registers() performs just a single call to regmap_multi_reg_write(), it returns int and it's not error checked; move that call to the probe function and also add some error check.
While at it, also move the contents of mt8195_afe_parse_of() to the probe function as well: since this is getting a handle to topckgen and since that's optional, the ifdef for CONFIG_SND_SOC_MT6359 can also be removed.
Signed-off-by: AngeloGioacchino Del Regno < angelogioacchino.delregno@collabora.com>
Acked-by: Trevor Wu trevor.wu@mediatek.com
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 32 ++++++------------
1 file changed, 8 insertions(+), 24 deletions(-)
diff --git a/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c b/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c index 105db11eecec..d22cf1664d8a 100644 --- a/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c +++ b/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c @@ -3030,28 +3030,6 @@ static const struct reg_sequence mt8195_cg_patch[] = { { AUDIO_TOP_CON1, 0xfffffff8 }, };
-static int mt8195_afe_init_registers(struct mtk_base_afe *afe) -{
return regmap_multi_reg_write(afe->regmap,
mt8195_afe_reg_defaults,
ARRAY_SIZE(mt8195_afe_reg_defaults));
-}
-static void mt8195_afe_parse_of(struct mtk_base_afe *afe,
struct device_node *np)
-{ -#if IS_ENABLED(CONFIG_SND_SOC_MT6359)
struct mt8195_afe_private *afe_priv = afe->platform_priv;
afe_priv->topckgen = syscon_regmap_lookup_by_phandle(afe-
dev->of_node,
"mediate
k,topckgen");
if (IS_ERR(afe_priv->topckgen)) {
dev_info(afe->dev, "%s() Cannot find topckgen
controller: %ld\n",
__func__, PTR_ERR(afe_priv->topckgen));
}
-#endif -}
static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev) { struct mtk_base_afe *afe; @@ -3160,7 +3138,10 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, afe);
mt8195_afe_parse_of(afe, pdev->dev.of_node);
afe_priv->topckgen = syscon_regmap_lookup_by_phandle(dev-
of_node, "mediatek,topckgen");
if (IS_ERR(afe_priv->topckgen))
dev_dbg(afe->dev, "Cannot find topckgen controller:
%ld\n",
PTR_ERR(afe_priv->topckgen)); /* enable clock for regcache get default value from hw */ afe_priv->pm_runtime_bypass_reg_ctl = true;
@@ -3219,7 +3200,10 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev) goto err_pm_put; }
mt8195_afe_init_registers(afe);
ret = regmap_multi_reg_write(afe->regmap,
mt8195_afe_reg_defaults,
ARRAY_SIZE(mt8195_afe_reg_defaul
ts));
if (ret)
goto err_pm_put; ret = pm_runtime_put_sync(dev); if (ret)
-- 2.40.1