Re: [PATCH v11 2/2] memory: mtk-smi: mt8188: Add SMI reset and clamp
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-10-18 16:41:52
Also in:
linux-devicetree, linux-mediatek, lkml
On 17/09/2025 14:07, Friday Yang wrote:
quoted hunk ↗ jump to hunk
static int mtk_smi_device_link_common(struct device *dev, struct device **com_dev) { struct platform_device *smi_com_pdev;@@ -638,6 +711,46 @@ static int mtk_smi_dts_clk_init(struct device *dev, struct mtk_smi *smi, return ret; } +static int mtk_smi_larb_parse_syscon(struct mtk_smi_larb *larb, int larbid) +{ + struct device *dev = larb->dev; + const struct mtk_smi_larb_gen *larb_gen = larb->larb_gen; + int ret; + + larb->smi_comm_in_port_id = larb_gen->clamp_port[larbid]; + larb->smi_comm_syscon = syscon_regmap_lookup_by_phandle(dev->of_node, + "mediatek,smi");
The code already parses this phandle (in other place). Why do you need second time?
+ if (IS_ERR(larb->smi_comm_syscon)) {
+ ret = PTR_ERR(larb->smi_comm_syscon);
+ larb->smi_comm_syscon = NULL;
+ return dev_err_probe(dev, ret,
+ "Failed to get smi syscon for larb %d\n", larbid);
+ }
+
+ return 0;
+}
+
+static int mtk_smi_larb_parse_reset(struct mtk_smi_larb *larb)
+{
+ struct device *dev = larb->dev;
+ int ret;
+
+ larb->rst_con = devm_reset_control_get_exclusive(dev, "larb");
+ if (IS_ERR(larb->rst_con))
+ return dev_err_probe(dev, PTR_ERR(larb->rst_con),
+ "Failed to get reset controller\n");This looks like ABI break. Aren't all devices affected?
+
+ larb->nb.notifier_call = mtk_smi_genpd_callback;
+ ret = dev_pm_genpd_add_notifier(dev, &larb->nb);
+ if (ret) {
+ larb->nb.notifier_call = NULL;
+ return dev_err_probe(dev, ret,
+ "Failed to add genpd callback\n");
+ }
+
+ return 0;
+}
+Best regards, Krzysztof