[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250623123422.472872-1-panchuang@vivo.com>
Date: Mon, 23 Jun 2025 20:34:17 +0800
From: Pan Chuang <panchuang@...o.com>
To: "Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Zhang Rui <rui.zhang@...el.com>,
Lukasz Luba <lukasz.luba@....com>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Thomas Gleixner <tglx@...utronix.de>,
Uwe Kleine-König <u.kleine-koenig@...libre.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
"Jiri Slaby (SUSE)" <jirislaby@...nel.org>,
linux-pm@...r.kernel.org,
linux-tegra@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Yangtao Li <frank.li@...o.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Thierry Reding <treding@...dia.com>,
Pan Chuang <panchuang@...o.com>
Subject: [PATCH v6 05/24] thermal/drivers/tegra: convert to use devm_request*_irq_probe()
From: Yangtao Li <frank.li@...o.com>
The new devm_request_*irq_probe API prints an error message by default
when the request fails, and consumers can provide custom error messages.
Converting drivers to use this API has the following benefits:
1.More than 2,000 lines of code can be saved by removing redundant error
messages in drivers.
2.Upper-layer functions can directly return error codes without missing
debugging information.
3.Having proper and consistent information about why the device cannot
be used is useful.
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Krzysztof Kozlowski <krzk@...nel.org>
Cc: "Uwe Kleine-König" <u.kleine-koenig@...gutronix.de>
Cc: Jonathan Cameron <Jonathan.Cameron@...wei.com>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Signed-off-by: Yangtao Li <frank.li@...o.com>
Acked-by: Thierry Reding <treding@...dia.com>
Signed-off-by: Pan Chuang <panchuang@...o.com>
---
drivers/thermal/tegra/soctherm.c | 38 ++++++++++++-------------
drivers/thermal/tegra/tegra30-tsensor.c | 9 +++---
2 files changed, 22 insertions(+), 25 deletions(-)
diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
index 926f1052e6de..aea9931175e8 100644
--- a/drivers/thermal/tegra/soctherm.c
+++ b/drivers/thermal/tegra/soctherm.c
@@ -1989,29 +1989,27 @@ static int soctherm_interrupts_init(struct platform_device *pdev,
return 0;
}
- ret = devm_request_threaded_irq(&pdev->dev,
- tegra->thermal_irq,
- soctherm_thermal_isr,
- soctherm_thermal_isr_thread,
- IRQF_ONESHOT,
- dev_name(&pdev->dev),
- tegra);
- if (ret < 0) {
- dev_err(&pdev->dev, "request_irq 'thermal_irq' failed.\n");
+ ret = devm_request_threaded_irq_probe(&pdev->dev,
+ tegra->thermal_irq,
+ soctherm_thermal_isr,
+ soctherm_thermal_isr_thread,
+ IRQF_ONESHOT,
+ dev_name(&pdev->dev),
+ tegra,
+ "thermal_irq");
+ if (ret < 0)
return ret;
- }
- ret = devm_request_threaded_irq(&pdev->dev,
- tegra->edp_irq,
- soctherm_edp_isr,
- soctherm_edp_isr_thread,
- IRQF_ONESHOT,
- "soctherm_edp",
- tegra);
- if (ret < 0) {
- dev_err(&pdev->dev, "request_irq 'edp_irq' failed.\n");
+ ret = devm_request_threaded_irq_probe(&pdev->dev,
+ tegra->edp_irq,
+ soctherm_edp_isr,
+ soctherm_edp_isr_thread,
+ IRQF_ONESHOT,
+ "soctherm_edp",
+ tegra,
+ "edp_irq");
+ if (ret < 0)
return ret;
- }
return 0;
}
diff --git a/drivers/thermal/tegra/tegra30-tsensor.c b/drivers/thermal/tegra/tegra30-tsensor.c
index 6245f6b97f43..807e568e5b25 100644
--- a/drivers/thermal/tegra/tegra30-tsensor.c
+++ b/drivers/thermal/tegra/tegra30-tsensor.c
@@ -598,12 +598,11 @@ static int tegra_tsensor_probe(struct platform_device *pdev)
return err;
}
- err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
- tegra_tsensor_isr, IRQF_ONESHOT,
- "tegra_tsensor", ts);
+ err = devm_request_threaded_irq_probe(&pdev->dev, irq, NULL,
+ tegra_tsensor_isr, IRQF_ONESHOT,
+ "tegra_tsensor", ts, NULL);
if (err)
- return dev_err_probe(&pdev->dev, err,
- "failed to request interrupt\n");
+ return err;
return 0;
}
--
2.39.0
Powered by blists - more mailing lists