From nobody Thu Apr 9 08:51:49 2026 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (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 BA70243D4EF for ; Tue, 10 Mar 2026 09:20:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773134404; cv=none; b=BlRXgSFg74urWf5dTGHpct0m4mRwhACAZsdvcs4U9Ap1hEjTCWHBgCZW97qS08e3iQEMV26VOFgaV13R7l4KA3iz3IV50kti7S39fCzL4Ibe6EHySwFgpDSHIQ1tGZX6RRSl7ATcvfn4HQM4f6a7ufxhYX7ufUDwejtnRaEGbss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773134404; c=relaxed/simple; bh=Wj0U1ds5tnOHTv5YHW1mT+V8EiMFt+tECNQnEdXijVc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QS+e1MCF6jJUYKpV106NHdo/2RW9qjl+m3eWsXtkbubyvsJPVHVZ4EEk79wMJFFUwrqEn5gaW/k8C1+05kVfQ/VNPgugL3dXXgwtRDEbAxcXDGX6diAjz40S3/UdBfBtUFzpBJIta/f3GiHM9viuOMhASx+Ku0Qsxt9BD2LT5Qc= 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=Fnid4vXS; arc=none smtp.client-ip=209.85.210.182 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="Fnid4vXS" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-82735a41920so4678608b3a.2 for ; Tue, 10 Mar 2026 02:20:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1773134402; x=1773739202; 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=0m2X60AbRiPH6OZp8R6Aq2XdXF8mhqQvbj4ZWhmMt60=; b=Fnid4vXS4xZDnRuwOGeJ4+bLvWvkMe+/sEaYJSB9upuBoc6ws0n+s0GUgFEoYPXFFJ VNuFmdf48zEodW/lyLPFC/BOFpqhBpsV6wyu1FMHEkXjswSHDhqTBZEme0YkINblk6tS lDsJyXanlvPbemBX8wrWNvY6hPl8ziMPrnjbs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773134402; x=1773739202; 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=0m2X60AbRiPH6OZp8R6Aq2XdXF8mhqQvbj4ZWhmMt60=; b=wtcWuoJFxAW6ywMe0hPtr1LRzoLR2Pyozd+G7tTA1mu9FY9yvaEiQB0fqZrHBH7FWK VGsSjEZ2AKCEx+vDVwyfqeOul+tUDFV+I9nBX7PRh367SzDaqDcx9ue55MxPWd8wpEek neBHqG8bbv3zofdefr7vlTXzgRQO4hFJJEECSV4zIp3ivXI4OOKUv8H/iE3cTpg6cSn0 e8xpmjRtah3CAxgDTKVkR7m4SYl7TxD10Iwx3ML05BDqsItgrKs8SLnBg5hhgInSE8se X+oAqjpF7nGinsrZdMzkInPijdEFr6C4dJpb68e88Zg3V+buSTTfX9Psox7MqMnrqFpr 6iDQ== X-Forwarded-Encrypted: i=1; AJvYcCWj0e4k+2gMdUyWlIHpBgW6B3CzCgrPGPpHYzlf7wyRIan4JUMuFoPoOY0KHrA81yQtcfvgumn9nf18YZ8=@vger.kernel.org X-Gm-Message-State: AOJu0YzfN2/gFD0AuErkO6nkIdX+WqgToIAEsniDckhPmvH6JsSu9fGn KFURpA6awhxxSDw3Wn3tVcoGHyIVHJ5iaYwmtB4W7dKu2XCCIUiEEhs396aYCOhcug== X-Gm-Gg: ATEYQzzhczk3Er6ehtTVznNSIAqvsjoVGexLD3hJ+dxlZrKe4/LXrcNViClNQZfUdzo xVk0qTLb2+rKF9yMig3TypZHr9PjbD6Qu/xPwuPiyoTrKfX3pY+HLX8fOZ/L3g07z3SEj0G7oiz B5srUeocuvrY5Ms4jQZYC/tuXAUXUjLY7Hk5WUHMOQ7zMpXdcJm6OhIyJg1EDyFoxCNPEEEq+qK lxWZmkSM36xKp01q6nG/6/D+Sq1XF9e0p6ltnN6xIPONcHQ8NpMprpHfDgRKZmMz5s5HjwlAYVO HKFQi2bvULL8ioNyJ2Dwip9Qr6qyAaNPzR2UQhHxs0Ahi89Xs5kX/JfX9v90MoldcrOsQ8HWTSH bmWb5VDuaXNoZCq/C52tin6UOv3cnkxtuEc8V7Of9FGd6X4lClPbK+RAYGImbdMiSnyh+DFmrMU 4FFarfdNv/cu1eakR5HUhkJeXzMVmldWdI36BzZ7u/DZeHcwkhE0zaDXYz3JiByfWYsCdeO9rQH YoZx59r X-Received: by 2002:a05:6a00:9510:b0:829:7ee0:1a44 with SMTP id d2e1a72fcca58-829a2d86b38mr12332941b3a.4.1773134402170; Tue, 10 Mar 2026 02:20:02 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:ee38:e01e:e888:6900]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-829a48a3b74sm16965190b3a.45.2026.03.10.02.19.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 02:20:01 -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 Subject: [PATCH v4 2/7] PCI: mediatek-gen3: Move mtk_pcie_setup_irq() out of mtk_pcie_setup() Date: Tue, 10 Mar 2026 17:19:41 +0800 Message-ID: <20260310091947.2742004-3-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog In-Reply-To: <20260310091947.2742004-1-wenst@chromium.org> References: <20260310091947.2742004-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/ Signed-off-by: Chen-Yu Tsai --- Changes since v3: - New patch --- 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.473.g4a7958ca14-goog