* [PATCH 0/3] perf: Remove redundant error messages on IRQ request failure
@ 2026-07-17 10:31 Pan Chuang
2026-07-17 10:31 ` [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe() Pan Chuang
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Pan Chuang @ 2026-07-17 10:31 UTC (permalink / raw)
To: Shuai Xue, Will Deacon, Mark Rutland, Frank Li, Xu Yang,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Yushan Wang, Ji Sheng Teoh, Khuong Dinh, Besar Wicaksono,
Ilkka Koskinen, Jonathan Cameron, Suzuki K Poulose,
Chengwen Feng, Yury Norov, Ma Ke, Pan Chuang,
moderated list:ARM PMU PROFILING AND DEBUGGING,
open list:ARM PMU PROFILING AND DEBUGGING, open list,
open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
open list:ARM/QUALCOMM MAILING LIST
devm_request_threaded_irq() and devm_request_any_context_irq()
automatically log detailed error messages on failure via
the devm_request_result() helper, which prints device
name, IRQ number, handler functions, and error code.
Since devm_request_irq() is a static inline wrapper around
devm_request_threaded_irq(), it also benefits from this
automatic logging.
Remove the now-redundant dev_err() and dev_err_probe() calls
in perf drivers that follow these devm_request_*_irq()
functions, as the core now provides more detailed diagnostic
information on failure.
Pan Chuang (3):
perf: Remove redundant dev_err()/dev_err_probe()
perf: arm_cspmu: Remove redundant dev_err()
drivers/perf: hisi: Remove redundant dev_err()/dev_err_probe()
drivers/perf/alibaba_uncore_drw_pmu.c | 5 +----
drivers/perf/arm_cspmu/arm_cspmu.c | 4 +---
drivers/perf/fsl_imx8_ddr_perf.c | 4 +---
drivers/perf/fsl_imx9_ddr_perf.c | 4 +---
drivers/perf/fujitsu_uncore_pmu.c | 2 +-
drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c | 3 +--
drivers/perf/hisilicon/hisi_uncore_pmu.c | 5 +----
drivers/perf/qcom_l2_pmu.c | 5 +----
drivers/perf/qcom_l3_pmu.c | 5 +----
drivers/perf/starfive_starlink_pmu.c | 2 +-
drivers/perf/xgene_pmu.c | 4 +---
11 files changed, 11 insertions(+), 32 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe()
2026-07-17 10:31 [PATCH 0/3] perf: Remove redundant error messages on IRQ request failure Pan Chuang
@ 2026-07-17 10:31 ` Pan Chuang
2026-07-17 11:06 ` Xu Yang
2026-07-17 16:00 ` Frank Li
2026-07-17 10:31 ` [PATCH 2/3] perf: arm_cspmu: Remove redundant dev_err() Pan Chuang
2026-07-17 10:31 ` [PATCH 3/3] drivers/perf: hisi: Remove redundant dev_err()/dev_err_probe() Pan Chuang
2 siblings, 2 replies; 6+ messages in thread
From: Pan Chuang @ 2026-07-17 10:31 UTC (permalink / raw)
To: Shuai Xue, Will Deacon, Mark Rutland, Frank Li, Xu Yang,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Ji Sheng Teoh, Khuong Dinh,
moderated list:ARM PMU PROFILING AND DEBUGGING,
open list:ARM PMU PROFILING AND DEBUGGING, open list,
open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
open list:ARM/QUALCOMM MAILING LIST
Cc: Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in
devm_request_*_irq()"), devm_request_irq() automatically logs
detailed error messages on failure. Remove the now-redundant
driver-specific dev_err() and dev_err_probe() calls.
Signed-off-by: Pan Chuang <panchuang@vivo.com>
---
drivers/perf/alibaba_uncore_drw_pmu.c | 5 +----
drivers/perf/fsl_imx8_ddr_perf.c | 4 +---
drivers/perf/fsl_imx9_ddr_perf.c | 4 +---
drivers/perf/fujitsu_uncore_pmu.c | 2 +-
drivers/perf/qcom_l2_pmu.c | 5 +----
drivers/perf/qcom_l3_pmu.c | 5 +----
drivers/perf/starfive_starlink_pmu.c | 2 +-
drivers/perf/xgene_pmu.c | 4 +---
8 files changed, 8 insertions(+), 23 deletions(-)
diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
index 74786a5dd6a2..fc934bccf4a6 100644
--- a/drivers/perf/alibaba_uncore_drw_pmu.c
+++ b/drivers/perf/alibaba_uncore_drw_pmu.c
@@ -449,11 +449,8 @@ static struct ali_drw_pmu_irq *__ali_drw_pmu_init_irq(struct platform_device
*/
ret = devm_request_irq(&pdev->dev, irq_num, ali_drw_pmu_isr,
IRQF_SHARED, dev_name(&pdev->dev), irq);
- if (ret < 0) {
- dev_err(&pdev->dev,
- "Fail to request IRQ:%d ret:%d\n", irq_num, ret);
+ if (ret < 0)
goto out_free;
- }
ret = irq_set_affinity_hint(irq_num, cpumask_of(irq->cpu));
if (ret)
diff --git a/drivers/perf/fsl_imx8_ddr_perf.c b/drivers/perf/fsl_imx8_ddr_perf.c
index 3760ebe02674..dd8046265584 100644
--- a/drivers/perf/fsl_imx8_ddr_perf.c
+++ b/drivers/perf/fsl_imx8_ddr_perf.c
@@ -858,10 +858,8 @@ static int ddr_perf_probe(struct platform_device *pdev)
IRQF_NOBALANCING | IRQF_NO_THREAD,
DDR_CPUHP_CB_NAME,
pmu);
- if (ret < 0) {
- dev_err(&pdev->dev, "Request irq failed: %d", ret);
+ if (ret < 0)
goto ddr_perf_err;
- }
pmu->irq = irq;
ret = irq_set_affinity(pmu->irq, cpumask_of(pmu->cpu));
diff --git a/drivers/perf/fsl_imx9_ddr_perf.c b/drivers/perf/fsl_imx9_ddr_perf.c
index 6fee5eb5087a..d59bc5ea3155 100644
--- a/drivers/perf/fsl_imx9_ddr_perf.c
+++ b/drivers/perf/fsl_imx9_ddr_perf.c
@@ -830,10 +830,8 @@ static int ddr_perf_probe(struct platform_device *pdev)
ret = devm_request_irq(&pdev->dev, irq, ddr_perf_irq_handler,
IRQF_NOBALANCING | IRQF_NO_THREAD,
DDR_CPUHP_CB_NAME, pmu);
- if (ret < 0) {
- dev_err(&pdev->dev, "Request irq failed: %d", ret);
+ if (ret < 0)
goto ddr_perf_err;
- }
pmu->irq = irq;
ret = irq_set_affinity(pmu->irq, cpumask_of(pmu->cpu));
diff --git a/drivers/perf/fujitsu_uncore_pmu.c b/drivers/perf/fujitsu_uncore_pmu.c
index ede652f757da..fa64146fcac6 100644
--- a/drivers/perf/fujitsu_uncore_pmu.c
+++ b/drivers/perf/fujitsu_uncore_pmu.c
@@ -526,7 +526,7 @@ static int fujitsu_uncore_pmu_probe(struct platform_device *pdev)
IRQF_NOBALANCING | IRQF_NO_THREAD,
name, uncorepmu);
if (ret)
- return dev_err_probe(dev, ret, "Failed to request IRQ:%d\n", irq);
+ return ret;
ret = irq_set_affinity(irq, cpumask_of(uncorepmu->cpu));
if (ret)
diff --git a/drivers/perf/qcom_l2_pmu.c b/drivers/perf/qcom_l2_pmu.c
index c0c522b10b72..29554cca22c5 100644
--- a/drivers/perf/qcom_l2_pmu.c
+++ b/drivers/perf/qcom_l2_pmu.c
@@ -869,11 +869,8 @@ static int l2_cache_pmu_probe_cluster(struct device *dev, void *data)
IRQF_NOBALANCING | IRQF_NO_THREAD |
IRQF_NO_AUTOEN,
"l2-cache-pmu", cluster);
- if (err) {
- dev_err(&pdev->dev,
- "Unable to request IRQ%d for L2 PMU counters\n", irq);
+ if (err)
return err;
- }
dev_info(&pdev->dev,
"Registered L2 cache PMU cluster %lld\n", fw_cluster_id);
diff --git a/drivers/perf/qcom_l3_pmu.c b/drivers/perf/qcom_l3_pmu.c
index c8d259dd1f80..e18d0f94e8d8 100644
--- a/drivers/perf/qcom_l3_pmu.c
+++ b/drivers/perf/qcom_l3_pmu.c
@@ -767,11 +767,8 @@ static int qcom_l3_cache_pmu_probe(struct platform_device *pdev)
ret = devm_request_irq(&pdev->dev, ret, qcom_l3_cache__handle_irq, 0,
name, l3pmu);
- if (ret) {
- dev_err(&pdev->dev, "Request for IRQ failed for slice @%pa\n",
- &memrc->start);
+ if (ret)
return ret;
- }
/* Add this instance to the list used by the offline callback */
ret = cpuhp_state_add_instance(CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE, &l3pmu->node);
diff --git a/drivers/perf/starfive_starlink_pmu.c b/drivers/perf/starfive_starlink_pmu.c
index dc4e653761fc..98e5ccee2fdc 100644
--- a/drivers/perf/starfive_starlink_pmu.c
+++ b/drivers/perf/starfive_starlink_pmu.c
@@ -435,7 +435,7 @@ static int starlink_setup_irqs(struct starlink_pmu *starlink_pmu,
ret = devm_request_irq(&pdev->dev, irq, starlink_pmu_handle_irq,
0, STARLINK_PMU_PDEV_NAME, starlink_pmu);
if (ret)
- return dev_err_probe(&pdev->dev, ret, "Failed to request IRQ\n");
+ return ret;
starlink_pmu->irq = irq;
diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c
index e9e4871db08d..ab3623fab914 100644
--- a/drivers/perf/xgene_pmu.c
+++ b/drivers/perf/xgene_pmu.c
@@ -1876,10 +1876,8 @@ static int xgene_pmu_probe(struct platform_device *pdev)
rc = devm_request_irq(&pdev->dev, irq, xgene_pmu_isr,
IRQF_NOBALANCING | IRQF_NO_THREAD,
dev_name(&pdev->dev), xgene_pmu);
- if (rc) {
- dev_err(&pdev->dev, "Could not request IRQ %d\n", irq);
+ if (rc)
return rc;
- }
xgene_pmu->irq = irq;
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/3] perf: arm_cspmu: Remove redundant dev_err()
2026-07-17 10:31 [PATCH 0/3] perf: Remove redundant error messages on IRQ request failure Pan Chuang
2026-07-17 10:31 ` [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe() Pan Chuang
@ 2026-07-17 10:31 ` Pan Chuang
2026-07-17 10:31 ` [PATCH 3/3] drivers/perf: hisi: Remove redundant dev_err()/dev_err_probe() Pan Chuang
2 siblings, 0 replies; 6+ messages in thread
From: Pan Chuang @ 2026-07-17 10:31 UTC (permalink / raw)
To: Will Deacon, Mark Rutland, Besar Wicaksono, Ilkka Koskinen,
Rafael J. Wysocki, Ma Ke, Chengwen Feng, Yury Norov, Pan Chuang,
moderated list:ARM PMU PROFILING AND DEBUGGING,
open list:ARM PMU PROFILING AND DEBUGGING, open list
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in
devm_request_*_irq()"), devm_request_irq() automatically logs
detailed error messages on failure. Remove the now-redundant
driver-specific dev_err() calls.
Signed-off-by: Pan Chuang <panchuang@vivo.com>
---
drivers/perf/arm_cspmu/arm_cspmu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/perf/arm_cspmu/arm_cspmu.c b/drivers/perf/arm_cspmu/arm_cspmu.c
index e6292021f653..ae754363fba8 100644
--- a/drivers/perf/arm_cspmu/arm_cspmu.c
+++ b/drivers/perf/arm_cspmu/arm_cspmu.c
@@ -1070,10 +1070,8 @@ static int arm_cspmu_request_irq(struct arm_cspmu *cspmu)
ret = devm_request_irq(dev, irq, arm_cspmu_handle_irq,
IRQF_NOBALANCING | IRQF_NO_THREAD, dev_name(dev),
cspmu);
- if (ret) {
- dev_err(dev, "Could not request IRQ %d\n", irq);
+ if (ret)
return ret;
- }
cspmu->irq = irq;
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/3] drivers/perf: hisi: Remove redundant dev_err()/dev_err_probe()
2026-07-17 10:31 [PATCH 0/3] perf: Remove redundant error messages on IRQ request failure Pan Chuang
2026-07-17 10:31 ` [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe() Pan Chuang
2026-07-17 10:31 ` [PATCH 2/3] perf: arm_cspmu: Remove redundant dev_err() Pan Chuang
@ 2026-07-17 10:31 ` Pan Chuang
2 siblings, 0 replies; 6+ messages in thread
From: Pan Chuang @ 2026-07-17 10:31 UTC (permalink / raw)
To: Yushan Wang, Will Deacon, Mark Rutland,
moderated list:ARM PMU PROFILING AND DEBUGGING,
open list:ARM PMU PROFILING AND DEBUGGING, open list
Cc: Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in
devm_request_*_irq()"), devm_request_irq() automatically logs
detailed error messages on failure. Remove the now-redundant
driver-specific dev_err() and dev_err_probe() calls.
Signed-off-by: Pan Chuang <panchuang@vivo.com>
---
drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c | 3 +--
drivers/perf/hisilicon/hisi_uncore_pmu.c | 5 +----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c b/drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c
index f963e4f9e552..56a88fb0d3c2 100644
--- a/drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c
+++ b/drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c
@@ -604,8 +604,7 @@ static int hisi_l3c_pmu_init_ext(struct hisi_pmu *l3c_pmu, struct platform_devic
IRQF_NOBALANCING | IRQF_NO_THREAD,
irqname, l3c_pmu);
if (ret < 0)
- return dev_err_probe(&pdev->dev, ret,
- "Fail to request EXT IRQ: %d.\n", irq);
+ return ret;
hisi_l3c_pmu->ext_irq[i] = irq;
}
diff --git a/drivers/perf/hisilicon/hisi_uncore_pmu.c b/drivers/perf/hisilicon/hisi_uncore_pmu.c
index 0ff2fdf4b3e2..77390d033d08 100644
--- a/drivers/perf/hisilicon/hisi_uncore_pmu.c
+++ b/drivers/perf/hisilicon/hisi_uncore_pmu.c
@@ -192,11 +192,8 @@ int hisi_uncore_pmu_init_irq(struct hisi_pmu *hisi_pmu,
ret = devm_request_irq(&pdev->dev, irq, hisi_uncore_pmu_isr,
IRQF_NOBALANCING | IRQF_NO_THREAD,
dev_name(&pdev->dev), hisi_pmu);
- if (ret < 0) {
- dev_err(&pdev->dev,
- "Fail to request IRQ: %d ret: %d.\n", irq, ret);
+ if (ret < 0)
return ret;
- }
hisi_pmu->irq = irq;
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe()
2026-07-17 10:31 ` [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe() Pan Chuang
@ 2026-07-17 11:06 ` Xu Yang
2026-07-17 16:00 ` Frank Li
1 sibling, 0 replies; 6+ messages in thread
From: Xu Yang @ 2026-07-17 11:06 UTC (permalink / raw)
To: Pan Chuang
Cc: Shuai Xue, Will Deacon, Mark Rutland, Frank Li, Xu Yang,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Ji Sheng Teoh, Khuong Dinh,
moderated list:ARM PMU PROFILING AND DEBUGGING,
open list:ARM PMU PROFILING AND DEBUGGING, open list,
open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
open list:ARM/QUALCOMM MAILING LIST
On Fri, Jul 17, 2026 at 06:31:17PM +0800, Pan Chuang wrote:
> Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in
> devm_request_*_irq()"), devm_request_irq() automatically logs
> detailed error messages on failure. Remove the now-redundant
> driver-specific dev_err() and dev_err_probe() calls.
>
> Signed-off-by: Pan Chuang <panchuang@vivo.com>
> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 5 +----
> drivers/perf/fsl_imx8_ddr_perf.c | 4 +---
> drivers/perf/fsl_imx9_ddr_perf.c | 4 +---
> drivers/perf/fujitsu_uncore_pmu.c | 2 +-
> drivers/perf/qcom_l2_pmu.c | 5 +----
> drivers/perf/qcom_l3_pmu.c | 5 +----
> drivers/perf/starfive_starlink_pmu.c | 2 +-
> drivers/perf/xgene_pmu.c | 4 +---
> 8 files changed, 8 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
> index 74786a5dd6a2..fc934bccf4a6 100644
> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
> @@ -449,11 +449,8 @@ static struct ali_drw_pmu_irq *__ali_drw_pmu_init_irq(struct platform_device
> */
> ret = devm_request_irq(&pdev->dev, irq_num, ali_drw_pmu_isr,
> IRQF_SHARED, dev_name(&pdev->dev), irq);
> - if (ret < 0) {
> - dev_err(&pdev->dev,
> - "Fail to request IRQ:%d ret:%d\n", irq_num, ret);
> + if (ret < 0)
> goto out_free;
> - }
>
> ret = irq_set_affinity_hint(irq_num, cpumask_of(irq->cpu));
> if (ret)
> diff --git a/drivers/perf/fsl_imx8_ddr_perf.c b/drivers/perf/fsl_imx8_ddr_perf.c
> index 3760ebe02674..dd8046265584 100644
> --- a/drivers/perf/fsl_imx8_ddr_perf.c
> +++ b/drivers/perf/fsl_imx8_ddr_perf.c
> @@ -858,10 +858,8 @@ static int ddr_perf_probe(struct platform_device *pdev)
> IRQF_NOBALANCING | IRQF_NO_THREAD,
> DDR_CPUHP_CB_NAME,
> pmu);
> - if (ret < 0) {
> - dev_err(&pdev->dev, "Request irq failed: %d", ret);
> + if (ret < 0)
> goto ddr_perf_err;
> - }
>
> pmu->irq = irq;
> ret = irq_set_affinity(pmu->irq, cpumask_of(pmu->cpu));
> diff --git a/drivers/perf/fsl_imx9_ddr_perf.c b/drivers/perf/fsl_imx9_ddr_perf.c
> index 6fee5eb5087a..d59bc5ea3155 100644
> --- a/drivers/perf/fsl_imx9_ddr_perf.c
> +++ b/drivers/perf/fsl_imx9_ddr_perf.c
> @@ -830,10 +830,8 @@ static int ddr_perf_probe(struct platform_device *pdev)
> ret = devm_request_irq(&pdev->dev, irq, ddr_perf_irq_handler,
> IRQF_NOBALANCING | IRQF_NO_THREAD,
> DDR_CPUHP_CB_NAME, pmu);
> - if (ret < 0) {
> - dev_err(&pdev->dev, "Request irq failed: %d", ret);
> + if (ret < 0)
> goto ddr_perf_err;
> - }
>
> pmu->irq = irq;
> ret = irq_set_affinity(pmu->irq, cpumask_of(pmu->cpu));
Reviewed-by: Xu Yang <xu.yang_2@nxp.com>
Thanks,
Xu Yang
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe()
2026-07-17 10:31 ` [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe() Pan Chuang
2026-07-17 11:06 ` Xu Yang
@ 2026-07-17 16:00 ` Frank Li
1 sibling, 0 replies; 6+ messages in thread
From: Frank Li @ 2026-07-17 16:00 UTC (permalink / raw)
To: Pan Chuang
Cc: Shuai Xue, Will Deacon, Mark Rutland, Frank Li, Xu Yang,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Ji Sheng Teoh, Khuong Dinh,
moderated list:ARM PMU PROFILING AND DEBUGGING,
open list:ARM PMU PROFILING AND DEBUGGING, open list,
open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
open list:ARM/QUALCOMM MAILING LIST
On Fri, Jul 17, 2026 at 06:31:17PM +0800, Pan Chuang wrote:
> Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in
> devm_request_*_irq()"), devm_request_irq() automatically logs
> detailed error messages on failure. Remove the now-redundant
> driver-specific dev_err() and dev_err_probe() calls.
>
> Signed-off-by: Pan Chuang <panchuang@vivo.com>
> ---
> drivers/perf/alibaba_uncore_drw_pmu.c | 5 +----
> drivers/perf/fsl_imx8_ddr_perf.c | 4 +---
> drivers/perf/fsl_imx9_ddr_perf.c | 4 +---
for imx part
Acked-by: Frank Li <Frank.Li@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-07-17 16:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-17 10:31 [PATCH 0/3] perf: Remove redundant error messages on IRQ request failure Pan Chuang
2026-07-17 10:31 ` [PATCH 1/3] perf: Remove redundant dev_err()/dev_err_probe() Pan Chuang
2026-07-17 11:06 ` Xu Yang
2026-07-17 16:00 ` Frank Li
2026-07-17 10:31 ` [PATCH 2/3] perf: arm_cspmu: Remove redundant dev_err() Pan Chuang
2026-07-17 10:31 ` [PATCH 3/3] drivers/perf: hisi: Remove redundant dev_err()/dev_err_probe() Pan Chuang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox