From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEF6538B098; Sat, 28 Feb 2026 17:36:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300206; cv=none; b=uRGcFSzUb0Z1/ZHWcxz3Sy+o6xDYzgqPr/tfjwFGObdiZq8E7R08dhrZhqeckD3gjGe5OjJ0Z4snaHrPenb/oE3s/s9gD3HemLXKoU7nm70EtohOcrPI2MJ5SMD5CzdSWwgUFgX5thuHEME4yXTiifl7NVyPfkjGPKuyHlFJwYw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300206; c=relaxed/simple; bh=Hv4zTzC8AsZwjBE0dP/UIcpMsL4cPNvABgym2Z2/pp0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DRZVl+t8143LE69waZt2KisY9Snd2vgVLKb2min4cYy+5GiQY6s8zG86FQTZZcsRJPGBcr6FVAWyZK9OmPL6BkkP8qSkw81Y0hO4n2nbTp68YJN4Cd7IndDjm09V/5S/Wms60fGtIYlQLIeFROW0Xte4IOgsHIlwaRCWn/O59sk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=q7C+NlKd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="q7C+NlKd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11488C19424; Sat, 28 Feb 2026 17:36:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772300205; bh=Hv4zTzC8AsZwjBE0dP/UIcpMsL4cPNvABgym2Z2/pp0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=q7C+NlKd4c0QR4XibfNHOlTrPA4sfuMh/kecbHuTJKCb69eJ9z599LgqGEAVZe0RF werc6iY+fqKtnuBXnksewuwS6zE3p1iUparRsaRCAGwVQrxefrIZrC6fdNfwdK4Ymj bCHnxg35ejl0Wk4MlnkeDOhA8GizJGqmAU1i2T95EtogkiorGwj7RPijb6/dD1joa9 1p/ENEevX4kOQ8WtkwBJ7+oQjtIHZ/5JT8yNFDsBiP9dlw3X/OZ3K/yXkLhBT/PhTB 4bebaYsFeV7mYdwm8KDaQmu2gsor1/k422NTID4WNhu3ovzEhX3N/CIABqQMoR2sxK kWni429JWprwQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Miquel Raynal (Schneider Electric)" , Wolfram Sang , Santhosh Kumar K , Mark Brown , Sasha Levin Subject: [PATCH 6.19 224/844] spi: cadence-qspi: Try hard to disable the clocks Date: Sat, 28 Feb 2026 12:22:17 -0500 Message-ID: <20260228173244.1509663-225-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260228173244.1509663-1-sashal@kernel.org> References: <20260228173244.1509663-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: "Miquel Raynal (Schneider Electric)" [ Upstream commit 612227b392eed94a3398dc03334a84a699a82276 ] In the remove path, we should try hard to perform all steps as we simply cannot fail. The "no runtime PM" quirk must only alter the state of the RPM core, but the clocks should still be disabled if that is possible. Move the disable call outside of the RPM quirk. Tested-by: Wolfram Sang Signed-off-by: Miquel Raynal (Schneider Electric) Tested-by: Santhosh Kumar K Link: https://patch.msgid.link/20260122-schneider-6-19-rc1-qspi-v4-9-f9c21419a3e6@bootlin.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/spi/spi-cadence-quadspi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c index ab74808debe98..51ed666a0fdd1 100644 --- a/drivers/spi/spi-cadence-quadspi.c +++ b/drivers/spi/spi-cadence-quadspi.c @@ -2040,6 +2040,7 @@ static void cqspi_remove(struct platform_device *pdev) const struct cqspi_driver_platdata *ddata; struct cqspi_st *cqspi = platform_get_drvdata(pdev); struct device *dev = &pdev->dev; + int ret = 0; ddata = of_device_get_match_data(dev); @@ -2059,8 +2060,10 @@ static void cqspi_remove(struct platform_device *pdev) cqspi_jh7110_disable_clk(pdev, cqspi); if (!(ddata && (ddata->quirks & CQSPI_DISABLE_RUNTIME_PM))) - if (pm_runtime_get_sync(&pdev->dev) >= 0) - clk_disable(cqspi->clk); + ret = pm_runtime_get_sync(&pdev->dev); + + if (ret >= 0) + clk_disable(cqspi->clk); if (!(ddata && (ddata->quirks & CQSPI_DISABLE_RUNTIME_PM))) { pm_runtime_put_sync(&pdev->dev); -- 2.51.0