dev_err() is a macro that expand dev_fmt, but dev_err_probe() is a function and cannot perform this macro expansion. So hard code the "hw perfevents: " prefix and dd a comment explaining why. Fixes: 11fa1dc8020a ("perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors") Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- Untested, but I can't see how it could work. --- drivers/perf/arm_pmu_platform.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/perf/arm_pmu_platform.c b/drivers/perf/arm_pmu_platform.c index 513de1f54e2d..02cca4b8f0fd 100644 --- a/drivers/perf/arm_pmu_platform.c +++ b/drivers/perf/arm_pmu_platform.c @@ -101,8 +101,11 @@ static int pmu_parse_irqs(struct arm_pmu *pmu) struct device *dev = &pdev->dev; num_irqs = platform_irq_count(pdev); - if (num_irqs < 0) - return dev_err_probe(dev, num_irqs, "unable to count PMU IRQs\n"); + if (num_irqs < 0) { + /* dev_err_probe() does not handle dev_pm, so hard-code the prefix */ + return dev_err_probe(dev, num_irqs, + "hw perfevents: unable to count PMU IRQs\n"); + } /* * In this case we have no idea which CPUs are covered by the PMU. -- 2.34.1