mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 07:46:48 +00:00
c36de2e73a
Backport almost 50 commits from upstream Linux to improve thermal drivers for MediaTek SoCs and add new LVTS driver for MT7988. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
41 lines
1.7 KiB
Diff
41 lines
1.7 KiB
Diff
From 27b389d9f62c2174f95fe4002b11e77d4cb3ce80 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?N=C3=ADcolas=20F=2E=20R=2E=20A=2E=20Prado?=
|
|
<nfraprado@collabora.com>
|
|
Date: Thu, 6 Jul 2023 11:37:32 -0400
|
|
Subject: [PATCH 25/42] thermal/drivers/mediatek/lvts_thermal: Handle IRQ on
|
|
all controllers
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
There is a single IRQ handler for each LVTS thermal domain, and it is
|
|
supposed to check each of its underlying controllers for the origin of
|
|
the interrupt and clear its status. However due to a typo, only the
|
|
first controller was ever being handled, which resulted in the interrupt
|
|
never being cleared when it happened on the other controllers. Add the
|
|
missing index so interrupts are handled for all controllers.
|
|
|
|
Fixes: f5f633b18234 ("thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver")
|
|
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
|
|
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
|
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
|
|
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
|
|
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
|
|
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Link: https://lore.kernel.org/r/20230706153823.201943-2-nfraprado@collabora.com
|
|
---
|
|
drivers/thermal/mediatek/lvts_thermal.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/thermal/mediatek/lvts_thermal.c
|
|
+++ b/drivers/thermal/mediatek/lvts_thermal.c
|
|
@@ -451,7 +451,7 @@ static irqreturn_t lvts_irq_handler(int
|
|
|
|
for (i = 0; i < lvts_td->num_lvts_ctrl; i++) {
|
|
|
|
- aux = lvts_ctrl_irq_handler(lvts_td->lvts_ctrl);
|
|
+ aux = lvts_ctrl_irq_handler(&lvts_td->lvts_ctrl[i]);
|
|
if (aux != IRQ_HANDLED)
|
|
continue;
|
|
|