[PATCH v6 18/24] thermal/drivers/stm: convert to use devm_request*_irq_probe()
From: Pan Chuang
Date: Mon Jun 23 2025 - 08:45:34 EST
From: Yangtao Li <frank.li@xxxxxxxx>
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@xxxxxxxxxxxxx>
Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Cc: "Uwe Kleine-König" <u.kleine-koenig@xxxxxxxxxxxxxx>
Cc: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>
Signed-off-by: Pan Chuang <panchuang@xxxxxxxx>
---
drivers/thermal/st/st_thermal_memmap.c | 12 +++++-------
drivers/thermal/st/stm_thermal.c | 14 +++++---------
2 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/drivers/thermal/st/st_thermal_memmap.c b/drivers/thermal/st/st_thermal_memmap.c
index 8f76e50ea567..f0dac7a17883 100644
--- a/drivers/thermal/st/st_thermal_memmap.c
+++ b/drivers/thermal/st/st_thermal_memmap.c
@@ -97,14 +97,12 @@ static int st_mmap_register_enable_irq(struct st_thermal_sensor *sensor)
if (sensor->irq < 0)
return sensor->irq;
- ret = devm_request_threaded_irq(dev, sensor->irq,
- NULL, st_mmap_thermal_trip_handler,
- IRQF_TRIGGER_RISING | IRQF_ONESHOT,
- dev->driver->name, sensor);
- if (ret) {
- dev_err(dev, "failed to register IRQ %d\n", sensor->irq);
+ ret = devm_request_threaded_irq_probe(dev, sensor->irq,
+ NULL, st_mmap_thermal_trip_handler,
+ IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+ dev->driver->name, sensor, NULL);
+ if (ret)
return ret;
- }
return st_mmap_enable_irq(sensor);
}
diff --git a/drivers/thermal/st/stm_thermal.c b/drivers/thermal/st/stm_thermal.c
index 6e90eb9f414d..267b86e2e8c3 100644
--- a/drivers/thermal/st/stm_thermal.c
+++ b/drivers/thermal/st/stm_thermal.c
@@ -385,16 +385,12 @@ static int stm_register_irq(struct stm_thermal_sensor *sensor)
if (sensor->irq < 0)
return sensor->irq;
- ret = devm_request_threaded_irq(dev, sensor->irq,
- NULL,
- stm_thermal_irq_handler,
- IRQF_ONESHOT,
- dev->driver->name, sensor);
- if (ret) {
- dev_err(dev, "%s: Failed to register IRQ %d\n", __func__,
- sensor->irq);
+ ret = devm_request_threaded_irq_probe(dev, sensor->irq, NULL,
+ stm_thermal_irq_handler,
+ IRQF_ONESHOT,
+ dev->driver->name, sensor, NULL);
+ if (ret)
return ret;
- }
dev_dbg(dev, "%s: thermal IRQ registered", __func__);
--
2.39.0