From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 45EA03B8409 for ; Tue, 23 Jun 2026 09:41:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782207694; cv=none; b=tLyfufIH33sRxN/33aBKQqgZDQIPhzvqy4wclBD32d7QkxyRKUaFbj25gdbWyww6D0+/plX8wf7KNtUFFVg2oyy8gawv45ULY70pdsxMAOlXZ/p5PaUW9V6X2pIO3hLjTHXphY5fbwSMJHTinkrBovfqd+9mv3pbBopTqPAd+YQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782207694; c=relaxed/simple; bh=zr8hwqY180WIlpyUsuAChZb+brSoXLdvMBNtpNj9nYM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=YOCclFHb6hshK3sMot2UndxoDSmILPVS9mbX/3Kx6FUu5wuG8Kn/7zgpEHUrtVvDHkPRyhTcRMT9w8cx2GRYIz7xP4XLddfA5Q/FHxSGSDQUDbOM0Vi06ZPzTTjWhnD5fbo0poRIJt2hEoNlisoqkufeHCRrKmH0V+wdZSadnIc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gpRvR2Ku; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gpRvR2Ku" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-84237c55ef9so3208222b3a.0 for ; Tue, 23 Jun 2026 02:41:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782207692; x=1782812492; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=LEY4mxBInTV31P334VeLm1dxOKL0Pc0LaCfP0/xhKcY=; b=gpRvR2Ku0ASNRIhgJAFEPFQwuF84WEqdBv1977/Yos8N79u1IHkuO8DInbwq/auzCL P+nLiKSDAozAScQj1Kf7kTOqB2Gd6iYEs4MkHe0cWPoz46HCB6U6H0DupSPWLfi/O0ZU H5EnWpCpFNsG2fQOUOetOLXw+V76/qgFrvYzzCNHOw1iAW1SF5UF0t2rhoO3DngftQpG osI6VvArz5TLMwBlpH5SiPDWfY1v+5rNDZxNgj78Z9RonqZZGnMsTl889Jv5tR6pxjFI 2b6MlFPOzhOyd9oha4jQoBmjs2R5/4OJ/x7j2/x6gAOchwYZJ39AW51j/j0EciCc+Grq Oukg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782207692; x=1782812492; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=LEY4mxBInTV31P334VeLm1dxOKL0Pc0LaCfP0/xhKcY=; b=hYoitI9UMPbNlEB0SbOTTuPNOmFLA+XMGfp8txJcrfjLALgr+SeBv+P88ThOAO3+bF 1l1Widb7WjDAQ4d7AbwGvc8fcWt+S6evtJWiajUeIE3ZbikKYkF0spwk5jEjIxuqn2xB U+2Ue1EJAl613xDmqiPHrZpWs6AsBTRFb5HoenYUo93VMzqTJ2TwIA1gS8fJj+/BMdBw BgohKvX5afFQ0ekhSJVRHXwBXsnvNoPtls+y15G6EPP4Q77FwDrSXMoLZBiz078T0xYC C1Qo8Zsr9niraelBywgySp+P0J8O0xmVYzVKPyvWMO4ZOie8BaTXSV2YTD/0440rr0dd ZdVQ== X-Forwarded-Encrypted: i=1; AFNElJ9u8kHuVoxK5JLf7zr0avRTqcYNxK9ePQAznqc94MAAS1I7U5VT/Ard3RIsbzpig7RlsMYC0h2P764BTK0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4qsll8fLq3gUWPBdWy0BTZqTiIQRic4dV4snOwBkIzNvppOoJ dUdbIdsw8t/QQWXDODcCLvv6S2BZVUW5WNxvaHylBsFwEFJUKhhrQ4Q= X-Gm-Gg: AfdE7ckBrQrNj4edxSFHscDIeYaVsPfHSxGUlJy3llzv6mQVNNDAxsX44nmAcZ8326l KyiWAfs6tnaUUYlwNo2/iBB/VZtTQaf1lwdxAoGdm9inHT8be/yUiOzfhBEOkniI5bPQHl4OUSv GAhi27vcZBkJKG0w10JTYQu4PcPqAQ7/D4WELiIBdTzCi1ySFa8qMZ2wkejFAQD3HnuT/JZiCCf DCaEWo5i3iM+bdVCpykEGq/+fBc/KsGMObPBxuzlUFJcYC4z47G9aOEVicCX2ybmYFB8ESJGTBB afYv5OOB9bLueR9sF8NahkaYVPhh9NzDXEUtnjMrhfla+homd45gbz2igg8qvo5CH9HPKXKjVO0 CXdG1yQunzgtAVyiVJ+AYYRIK03Mlngs8On+evHYlE5Nr2XXnPPu6WihvNsj7xA1Z0AYR2EXKUb 345LMSTsXnuombLqp65p4l2ApY0xAhrvMdyW6opXc1iXdzvwGAIpkWXUt6OGSARSuDJb5WgA8+G 1U= X-Received: by 2002:a05:6a00:2196:b0:842:4387:34c0 with SMTP id d2e1a72fcca58-8459524d475mr2570456b3a.5.1782207692530; Tue, 23 Jun 2026 02:41:32 -0700 (PDT) Received: from localhost.localdomain ([14.5.152.27]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84564d6bf73sm10180079b3a.5.2026.06.23.02.41.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 23 Jun 2026 02:41:31 -0700 (PDT) From: Myeonghun Pak To: Yassine Oudjana , Michael Turquette , Stephen Boyd Cc: Matthias Brugger , AngeloGioacchino Del Regno , linux-clk@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Myeonghun Pak , Ijae Kim Subject: [PATCH] clk: mediatek: mt6735: Unregister PLLs on probe failure Date: Tue, 23 Jun 2026 18:41:11 +0900 Message-ID: <20260623094125.95791-1-mhun512@gmail.com> X-Mailer: git-send-email 2.47.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit mtk_clk_register_plls() registers the apmixedsys PLL clocks manually, while clk_mt6735_apmixed_remove() unregisters them on driver removal. If devm_of_clk_add_hw_provider() fails after the PLL registration succeeds, probe returns the error directly and the remove callback is not run. This leaves the registered PLL clocks behind on the probe failure path. Add an unregister_plls error path so provider registration failures unwind the PLLs before returning the error. Fixes: 43c04ed79189 ("clk: mediatek: Add drivers for MediaTek MT6735 main clock and reset drivers") Co-developed-by: Ijae Kim Signed-off-by: Ijae Kim Signed-off-by: Myeonghun Pak --- drivers/clk/mediatek/clk-mt6735-apmixedsys.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/clk/mediatek/clk-mt6735-apmixedsys.c b/drivers/clk/mediatek/clk-mt6735-apmixedsys.c index 9e30c089a2..04cf9665ec 100644 --- a/drivers/clk/mediatek/clk-mt6735-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt6735-apmixedsys.c @@ -102,10 +102,17 @@ static int clk_mt6735_apmixed_probe(struct platform_device *pdev) ret = devm_of_clk_add_hw_provider(&pdev->dev, of_clk_hw_onecell_get, clk_data); - if (ret) + if (ret) { dev_err(&pdev->dev, "Failed to register clock provider: %d\n", ret); + goto unregister_plls; + } + + return 0; +unregister_plls: + mtk_clk_unregister_plls(apmixedsys_plls, ARRAY_SIZE(apmixedsys_plls), + clk_data); return ret; } -- 2.47.1