From nobody Fri Apr 3 17:38:35 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 22BE1299A8F for ; Tue, 24 Mar 2026 05:20:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774329620; cv=none; b=jUfYp8BWq/cV5/9V5GbhW9M7ui8jO7/nBf2iNB1FjLuSiP8nLLgqtz5GpP00SanKgwHRFh+NZejZFlf6dJurZwP+gQIPUdPkB1/x7XhcPebydF3WwypOMIkY90LVm0DSy8tW/RzHQYh1MjwkXKIw093mYtRtuiiP0fj9LIGjwyc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774329620; c=relaxed/simple; bh=+ezN/B2ZMUl15YakQPOJzFUOlgdtwdAcENxCtoQ+AHM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BO5Mm3OLKK7Gwzf6p9deKIWOGLItp4WSQTmO46i0DKzrhDwlu9l5ncb567vMWCr8gEYdG+jA6osBgPAxQjotapC1tBLKGKamzarAHIfebVBDhCrIiVrmIZ/Fdn/ToPm3S4E5sqfcSvJHQcdDTNfSsGijqBIC+0rlZnNKZZyEASk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=nMzSZzL6; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="nMzSZzL6" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-35a211df8e3so585189a91.2 for ; Mon, 23 Mar 2026 22:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1774329618; x=1774934418; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=O74W4ZMgDpT3MGQ+8wcjX/PqoiKfeKCvLKILcQ8L8Jc=; b=nMzSZzL6KctTDmOxd0axnyBeVoFdgAekcU7DOLQjCEZ3T1gkygbymQaW0SackruzZe A2nP4zCia/o9NvV7REW7deyysbSCKX2KTEtHZxigJDPa8ICgEBbRXB5B5/uFpfHil7wI zgC3a2N2lcnNkGrW9fMAsxbem3H0vmRUcFOmI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774329618; x=1774934418; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=O74W4ZMgDpT3MGQ+8wcjX/PqoiKfeKCvLKILcQ8L8Jc=; b=bwGc12mQnLmMeYrfg7UqusilwpcwOIGa6F1Z5cx6E8YciNH935p1iyn+SRJg1Dn0Vu 9B5R+pQpw75TbB0Hqb4AD1vfawvCN5hKxI8cnaBvZZ0XOJwV105CRWtslh+jDrWKCZ9X XNlIieoYr7lp2xNJvB9/k9MhGDX/ZtvWT0Lt+/Nm/5w4pqhX+2qo/ppreCT7/GyNkn76 qiHuNDGXeonmJKGDCr+7SdJdQsH/Lm5JDtYnBRLbtj00FibGlVvl8u9N5gN+W3qPrkbB wDZvCM3nx+DD+et2N+9+kUWKAYSOxvwGEcUybKVbKdCNxMsC/HoKBpg3CozutomwROyG /6Zw== X-Forwarded-Encrypted: i=1; AJvYcCVd7/JFggTHd9324se63SvQs+lCW6/JkGJ5xP6N4cdFcZeG9oNBFGtuGDPaLeOjhij0yNxvnCJ4dAAGksA=@vger.kernel.org X-Gm-Message-State: AOJu0YwohVf6kPWtxeHr5+2zFN6/qQ8Ev00q31jDTjW5BUwhYV4eLyKi L28plDG2nra28ChCfZCPaMtpyI2ZvgzdGBHvYFjWX897XKHGdtgveRZHnJT5EmLJPg== X-Gm-Gg: ATEYQzzhuTbqdB+Ze2NsZYv5A+cTnaWx764lnb21pfOQh2QoLCUbuHIOnY/xAPpvE2p 9ivGY02AIRMG/C0kfEWciDc6u5lXcHnAN8HhXhlYfCn56g+Fyw9YsKjJ4IZNvmx5s75K8Rz6yxe xRo1Y7IC4nmt9Tmt1RuC5LSHqy5GGcNgj7ERmCK13QC1kQoDEsOOet3Dte8ugYwTwQLma1xg7tZ /NLQJ9x22YC5A1sXsp38raq/3l5Y/RgYYnMCDgSc8mxd7AjMf9Enbu+iyJM1dzWFAHyA9YYQMF0 b+VTdQlacVCLTvW8m1jVJmu1JSF1eO3hu/jXAeyQhYJpQP1AvmDDDWrtAWvu2SrTsvBmhGSznZa FvysvODb5ByorDR9g01g7lhbHuyLUbRWhenv0pNerla++4tqfHz41+q+s5E9JA+Mx6Vm67+HkEE fTCT6htRwllB2kWZbzy7jonyy6tyzITQYK1r65aPdDSPkh24Y0mYbN0qTfp2VNMiXx+KDKjzSMq wJdDkbw X-Received: by 2002:a17:90b:4c8e:b0:34c:fe57:2793 with SMTP id 98e67ed59e1d1-35bd2cec778mr11788613a91.20.1774329618496; Mon, 23 Mar 2026 22:20:18 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:19a5:8f2f:d584:8078]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c03124a87sm1068647a91.3.2026.03.23.22.20.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 22:20:18 -0700 (PDT) From: Chen-Yu Tsai To: Matthias Brugger , AngeloGioacchino Del Regno , Ryder Lee , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas Cc: Chen-Yu Tsai , Bartosz Golaszewski , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , Bartosz Golaszewski Subject: [PATCH v6 2/7] PCI: mediatek-gen3: Move mtk_pcie_setup_irq() out of mtk_pcie_setup() Date: Tue, 24 Mar 2026 13:19:54 +0800 Message-ID: <20260324052002.4072430-3-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.983.g0bb29b3bc5-goog In-Reply-To: <20260324052002.4072430-1-wenst@chromium.org> References: <20260324052002.4072430-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" mtk_pcie_setup_irq() just sets up the IRQ domains for PCI INTx and MSI, and chains them to the controller's interrupt. It's not really related to the setup of the actual PCIe controller. Move the mtk_pcie_setup_irq() call out of and before mtk_pcie_setup(), and add a proper error message for when it fails. Reorder mtk_pcie_irq_teardown() in the remove callback to follow. Also create an error path in the probe function. Suggested-by: Bjorn Helgaas Link: https://lore.kernel.org/all/20260309215056.GA603013@bhelgaas/ Reviewed-by: Bartosz Golaszewski Signed-off-by: Chen-Yu Tsai --- drivers/pci/controller/pcie-mediatek-gen3.c | 25 ++++++++++++--------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/cont= roller/pcie-mediatek-gen3.c index 1939cac995b5..04ae195d36c2 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -1152,10 +1152,6 @@ static int mtk_pcie_setup(struct mtk_gen3_pcie *pcie) if (err) goto err_setup; =20 - err =3D mtk_pcie_setup_irq(pcie); - if (err) - goto err_setup; - return 0; =20 err_setup: @@ -1181,21 +1177,28 @@ static int mtk_pcie_probe(struct platform_device *p= dev) pcie->soc =3D device_get_match_data(dev); platform_set_drvdata(pdev, pcie); =20 + err =3D mtk_pcie_setup_irq(pcie); + if (err) + return dev_err_probe(dev, err, "Failed to setup IRQ domains\n"); + err =3D mtk_pcie_setup(pcie); if (err) - return err; + goto err_tear_down_irq; =20 host->ops =3D &mtk_pcie_ops; host->sysdata =3D pcie; =20 err =3D pci_host_probe(host); - if (err) { - mtk_pcie_irq_teardown(pcie); - mtk_pcie_power_down(pcie); - return err; - } + if (err) + goto err_power_down_pcie; =20 return 0; + +err_power_down_pcie: + mtk_pcie_power_down(pcie); +err_tear_down_irq: + mtk_pcie_irq_teardown(pcie); + return err; } =20 static void mtk_pcie_remove(struct platform_device *pdev) @@ -1208,8 +1211,8 @@ static void mtk_pcie_remove(struct platform_device *p= dev) pci_remove_root_bus(host->bus); pci_unlock_rescan_remove(); =20 - mtk_pcie_irq_teardown(pcie); mtk_pcie_power_down(pcie); + mtk_pcie_irq_teardown(pcie); } =20 static void mtk_pcie_irq_save(struct mtk_gen3_pcie *pcie) --=20 2.53.0.983.g0bb29b3bc5-goog