mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-06 12:44:00 -05:00
Add a new microchipsw target aimed add supporting Microchip switch SoC-s. Start by supporting LAN969x SoC-s as the first subtarget. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
63 lines
2.1 KiB
Diff
63 lines
2.1 KiB
Diff
From e56d9480ea806b1d92d16b882c40e7216f2cf2f2 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Bence=20Cs=C3=B3k=C3=A1s?= <csokas.bence@prolan.hu>
|
|
Date: Thu, 27 Mar 2025 20:59:27 +0100
|
|
Subject: [PATCH 106/112] spi: atmel-quadspi: Fix unbalanced pm_runtime by
|
|
using devm_ API
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Fix unbalanced PM in error path of `atmel_qspi_probe()`
|
|
by using `devm_pm_runtime_*()` functions.
|
|
|
|
Reported-by: Alexander Dahl <ada@thorsis.com>
|
|
Closes: https://lore.kernel.org/linux-spi/20250110-paycheck-irregular-bcddab1276c7@thorsis.com/
|
|
Fixes: 5af42209a4d2 ("spi: atmel-quadspi: Add support for sama7g5 QSPI")
|
|
Signed-off-by: Bence Csókás <csokas.bence@prolan.hu>
|
|
Link: https://patch.msgid.link/20250327195928.680771-4-csokas.bence@prolan.hu
|
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
---
|
|
drivers/spi/atmel-quadspi.c | 17 ++++-------------
|
|
1 file changed, 4 insertions(+), 13 deletions(-)
|
|
|
|
--- a/drivers/spi/atmel-quadspi.c
|
|
+++ b/drivers/spi/atmel-quadspi.c
|
|
@@ -1409,22 +1409,17 @@ static int atmel_qspi_probe(struct platf
|
|
|
|
pm_runtime_set_autosuspend_delay(&pdev->dev, 500);
|
|
pm_runtime_use_autosuspend(&pdev->dev);
|
|
- pm_runtime_set_active(&pdev->dev);
|
|
- pm_runtime_enable(&pdev->dev);
|
|
- pm_runtime_get_noresume(&pdev->dev);
|
|
+ devm_pm_runtime_set_active_enabled(&pdev->dev);
|
|
+ devm_pm_runtime_get_noresume(&pdev->dev);
|
|
|
|
err = atmel_qspi_init(aq);
|
|
if (err)
|
|
goto dma_release;
|
|
|
|
err = spi_register_controller(ctrl);
|
|
- if (err) {
|
|
- pm_runtime_put_noidle(&pdev->dev);
|
|
- pm_runtime_disable(&pdev->dev);
|
|
- pm_runtime_set_suspended(&pdev->dev);
|
|
- pm_runtime_dont_use_autosuspend(&pdev->dev);
|
|
+ if (err)
|
|
goto dma_release;
|
|
- }
|
|
+
|
|
pm_runtime_mark_last_busy(&pdev->dev);
|
|
pm_runtime_put_autosuspend(&pdev->dev);
|
|
|
|
@@ -1503,10 +1498,6 @@ static void atmel_qspi_remove(struct pla
|
|
*/
|
|
dev_warn(&pdev->dev, "Failed to resume device on remove\n");
|
|
}
|
|
-
|
|
- pm_runtime_disable(&pdev->dev);
|
|
- pm_runtime_dont_use_autosuspend(&pdev->dev);
|
|
- pm_runtime_put_noidle(&pdev->dev);
|
|
}
|
|
|
|
static int __maybe_unused atmel_qspi_suspend(struct device *dev)
|