aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorChen-Yu Tsai <wenst@chromium.org>2025-04-21 17:09:50 +0800
committerUlf Hansson <ulf.hansson@linaro.org>2025-04-25 12:17:55 +0200
commit0c1ddc7bb3e5ca77053b22f0fb5d9119550926b5 (patch)
treeb57274bff302ee4378501c7bf888bd1e8efd5004
parentpmdomain: arm: Do not enable by default during compile testing (diff)
downloadwireguard-linux-0c1ddc7bb3e5ca77053b22f0fb5d9119550926b5.tar.xz
wireguard-linux-0c1ddc7bb3e5ca77053b22f0fb5d9119550926b5.zip
pmdomain: mediatek: Add error messages for missing regmaps
A recent change to the syscon regmap API caused the MediaTek power controller drivers to fail, as the required regmap could no longer be retrieved. The error did not have an accompanying message, making the failure less obvious. The aforementioned change has since been reverted. Add error messages to all the regmap retrievals, thereby making all error paths in scpsys_add_one_domain() have visible error messages. Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250421090951.395467-1-wenst@chromium.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/pmdomain/mediatek/mtk-pm-domains.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/pmdomain/mediatek/mtk-pm-domains.c b/drivers/pmdomain/mediatek/mtk-pm-domains.c
index 9a33321d9fac..a58ed7e2d9a4 100644
--- a/drivers/pmdomain/mediatek/mtk-pm-domains.c
+++ b/drivers/pmdomain/mediatek/mtk-pm-domains.c
@@ -398,20 +398,26 @@ generic_pm_domain *scpsys_add_one_domain(struct scpsys *scpsys, struct device_no
pd->infracfg = syscon_regmap_lookup_by_phandle_optional(node, "mediatek,infracfg");
if (IS_ERR(pd->infracfg))
- return ERR_CAST(pd->infracfg);
+ return dev_err_cast_probe(scpsys->dev, pd->infracfg,
+ "%pOF: failed to get infracfg regmap\n",
+ node);
smi_node = of_parse_phandle(node, "mediatek,smi", 0);
if (smi_node) {
pd->smi = device_node_to_regmap(smi_node);
of_node_put(smi_node);
if (IS_ERR(pd->smi))
- return ERR_CAST(pd->smi);
+ return dev_err_cast_probe(scpsys->dev, pd->smi,
+ "%pOF: failed to get SMI regmap\n",
+ node);
}
if (MTK_SCPD_CAPS(pd, MTK_SCPD_HAS_INFRA_NAO)) {
pd->infracfg_nao = syscon_regmap_lookup_by_phandle(node, "mediatek,infracfg-nao");
if (IS_ERR(pd->infracfg_nao))
- return ERR_CAST(pd->infracfg_nao);
+ return dev_err_cast_probe(scpsys->dev, pd->infracfg_nao,
+ "%pOF: failed to get infracfg-nao regmap\n",
+ node);
} else {
pd->infracfg_nao = NULL;
}