* [PATCH 0/5] PM: Use %pe to print error pointers symbolically
@ 2026-09-06 6:17 Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 1/5] powercap: intel_rapl: " Sumeet Pawnikar
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-06 6:17 UTC (permalink / raw)
To: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg, krzk,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel, sumeet4linux
This patch series is a cleanup for subsystems under power management
(linux-pm) that converts several instances of error pointer printing
to use the `%pe` format specifier instead of explicitly casting with
`PTR_ERR()`.
Currently, many drivers use `PTR_ERR()` paired with `%ld` or `%li` to
print error codes returned as pointers. By switching to `%pe` and passing
the error pointer directly, the logging subsystem will automatically
print the symbolic error name (e.g., `-ENOMEM`, `-EPROBE_DEFER`) when
`CONFIG_SYMBOLIC_ERRNAME` is enabled, and gracefully fall back to the
numeric value otherwise.
This change significantly improves the readability of kernel logs and
dmesg traces during debugging, without introducing any functional changes
or side effects.
The cleanup has been applied across the following PM subsystems/drivers:
* powercap (intel_rapl_msr, intel_rapl_tpmi)
* thermal (core, cpufreq_cooling, devfreq_cooling, mmio, etc.)
* cpufreq (bmips, cppc, qoriq, s3c64xx)
* devfreq (imx-bus, imx8m-ddrc, mtk-cci)
* power/supply (various battery and charger drivers)
Sumeet Pawnikar (5):
powercap: intel_rapl: Use %pe to print error pointers symbolically
thermal: Use %pe to print error pointers symbolically
cpufreq: Use %pe to print error pointers symbolically
devfreq: Use %pe to print error pointers symbolically
power: Use %pe to print error pointers symbolically
drivers/cpufreq/bmips-cpufreq.c | 4 ++--
drivers/cpufreq/cppc_cpufreq.c | 4 ++--
drivers/cpufreq/qoriq-cpufreq.c | 4 ++--
drivers/cpufreq/s3c64xx-cpufreq.c | 5 ++---
drivers/devfreq/imx-bus.c | 4 ++--
drivers/devfreq/imx8m-ddrc.c | 3 +--
drivers/devfreq/mtk-cci-devfreq.c | 4 ++--
drivers/power/reset/macsmc-reboot.c | 4 ++--
drivers/power/supply/axp20x_battery.c | 4 ++--
drivers/power/supply/cpcap-charger.c | 4 ++--
drivers/power/supply/cw2015_battery.c | 4 ++--
drivers/power/supply/intel_dc_ti_battery.c | 2 +-
drivers/power/supply/qcom_smbx.c | 2 +-
drivers/powercap/intel_rapl_msr.c | 4 ++--
drivers/powercap/intel_rapl_tpmi.c | 4 ++--
drivers/thermal/cpufreq_cooling.c | 4 ++--
drivers/thermal/devfreq_cooling.c | 4 ++--
drivers/thermal/qcom/qcom-spmi-adc-tm5.c | 4 ++--
drivers/thermal/thermal_mmio.c | 3 +--
drivers/thermal/uniphier_thermal.c | 3 +--
20 files changed, 35 insertions(+), 39 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/5] powercap: intel_rapl: Use %pe to print error pointers symbolically
2026-09-06 6:17 [PATCH 0/5] PM: Use %pe to print error pointers symbolically Sumeet Pawnikar
@ 2026-09-06 6:17 ` Sumeet Pawnikar
2026-09-06 6:28 ` Krzysztof Kozlowski
2026-09-06 6:17 ` [PATCH 2/5] thermal: " Sumeet Pawnikar
` (3 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-06 6:17 UTC (permalink / raw)
To: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg, krzk,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel, sumeet4linux
Replace PTR_ERR() and %ld with %pe and pass the original pointer directly
to pr_debug() and dev_err(). The %pe format specifier prints a symbolic
error name (e.g. -ENOMEM) when CONFIG_SYMBOLIC_ERRNAME is enabled,
otherwise it falls back gracefully and prints the raw integer value.
This makes messages more readable without any functional change.
Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
---
drivers/powercap/intel_rapl_msr.c | 4 ++--
drivers/powercap/intel_rapl_tpmi.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/powercap/intel_rapl_msr.c b/drivers/powercap/intel_rapl_msr.c
index a34543e66446..46972ee1ff84 100644
--- a/drivers/powercap/intel_rapl_msr.c
+++ b/drivers/powercap/intel_rapl_msr.c
@@ -582,8 +582,8 @@ static int intel_rapl_msr_init(void)
rapl_msr_platdev = platform_device_register_data(NULL, "intel_rapl_msr", 0, def,
sizeof(*def));
if (IS_ERR(rapl_msr_platdev))
- pr_debug("intel_rapl_msr device register failed, ret:%ld\n",
- PTR_ERR(rapl_msr_platdev));
+ pr_debug("intel_rapl_msr device register failed, ret:%pe\n",
+ rapl_msr_platdev);
return 0;
}
diff --git a/drivers/powercap/intel_rapl_tpmi.c b/drivers/powercap/intel_rapl_tpmi.c
index 73f36d9c09b1..6baaad3c59ef 100644
--- a/drivers/powercap/intel_rapl_tpmi.c
+++ b/drivers/powercap/intel_rapl_tpmi.c
@@ -408,8 +408,8 @@ static int intel_rapl_tpmi_probe(struct auxiliary_device *auxdev,
trp->rp = rapl_add_package(info->package_id, &trp->priv, false);
if (IS_ERR(trp->rp)) {
- dev_err(&auxdev->dev, "Failed to add RAPL Domain for Package%d, %ld\n",
- info->package_id, PTR_ERR(trp->rp));
+ dev_err(&auxdev->dev, "Failed to add RAPL Domain for Package%d, %pe\n",
+ info->package_id, trp->rp);
ret = PTR_ERR(trp->rp);
goto err;
}
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/5] thermal: Use %pe to print error pointers symbolically
2026-09-06 6:17 [PATCH 0/5] PM: Use %pe to print error pointers symbolically Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 1/5] powercap: intel_rapl: " Sumeet Pawnikar
@ 2026-09-06 6:17 ` Sumeet Pawnikar
2026-09-06 6:29 ` Krzysztof Kozlowski
2026-09-06 6:17 ` [PATCH 3/5] cpufreq: " Sumeet Pawnikar
` (2 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-06 6:17 UTC (permalink / raw)
To: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg, krzk,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel, sumeet4linux
Replace PTR_ERR() and %ld with %pe and pass the original pointer directly
to pr_err() and dev_err(). The %pe format specifier prints a symbolic error
name (e.g. -ENOMEM) when CONFIG_SYMBOLIC_ERRNAME is enabled, otherwise it
falls back gracefully and prints the raw integer value. This makes messages
more readable without any functional change.
Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
---
drivers/thermal/cpufreq_cooling.c | 4 ++--
drivers/thermal/devfreq_cooling.c | 4 ++--
drivers/thermal/qcom/qcom-spmi-adc-tm5.c | 4 ++--
drivers/thermal/thermal_mmio.c | 3 +--
drivers/thermal/uniphier_thermal.c | 3 +--
5 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
index 768859a7aed0..856d619370db 100644
--- a/drivers/thermal/cpufreq_cooling.c
+++ b/drivers/thermal/cpufreq_cooling.c
@@ -661,8 +661,8 @@ of_cpufreq_cooling_register(struct cpufreq_policy *policy)
cdev = __cpufreq_cooling_register(np, policy, em);
if (IS_ERR(cdev)) {
- pr_err("cpufreq_cooling: cpu%d failed to register as cooling device: %ld\n",
- policy->cpu, PTR_ERR(cdev));
+ pr_err("cpufreq_cooling: cpu%d failed to register as cooling device: %pe\n",
+ policy->cpu, cdev);
cdev = NULL;
}
}
diff --git a/drivers/thermal/devfreq_cooling.c b/drivers/thermal/devfreq_cooling.c
index 0330a8112832..9ada52cbf7dd 100644
--- a/drivers/thermal/devfreq_cooling.c
+++ b/drivers/thermal/devfreq_cooling.c
@@ -156,8 +156,8 @@ static unsigned long get_voltage(struct devfreq *df, unsigned long freq)
opp = dev_pm_opp_find_freq_exact(dev, freq, false);
if (IS_ERR(opp)) {
- dev_err_ratelimited(dev, "Failed to find OPP for frequency %lu: %ld\n",
- freq, PTR_ERR(opp));
+ dev_err_ratelimited(dev, "Failed to find OPP for frequency %lu: %pe\n",
+ freq, opp);
return 0;
}
diff --git a/drivers/thermal/qcom/qcom-spmi-adc-tm5.c b/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
index af72db6299cd..4554a6fa55d1 100644
--- a/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
+++ b/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
@@ -680,8 +680,8 @@ static int adc_tm5_register_tzd(struct adc_tm5_chip *adc_tm)
continue;
}
- dev_err(adc_tm->dev, "Error registering TZ zone for channel %d: %ld\n",
- adc_tm->channels[i].channel, PTR_ERR(tzd));
+ dev_err(adc_tm->dev, "Error registering TZ zone for channel %d: %pe\n",
+ adc_tm->channels[i].channel, tzd);
return PTR_ERR(tzd);
}
adc_tm->channels[i].tzd = tzd;
diff --git a/drivers/thermal/thermal_mmio.c b/drivers/thermal/thermal_mmio.c
index 6845756ad5e7..b34e70991d3d 100644
--- a/drivers/thermal/thermal_mmio.c
+++ b/drivers/thermal/thermal_mmio.c
@@ -71,8 +71,7 @@ static int thermal_mmio_probe(struct platform_device *pdev)
&thermal_mmio_ops);
if (IS_ERR(thermal_zone)) {
dev_err(&pdev->dev,
- "failed to register sensor (%ld)\n",
- PTR_ERR(thermal_zone));
+ "failed to register sensor (%pe)\n", thermal_zone);
return PTR_ERR(thermal_zone);
}
diff --git a/drivers/thermal/uniphier_thermal.c b/drivers/thermal/uniphier_thermal.c
index 1a04294effea..e451674d9709 100644
--- a/drivers/thermal/uniphier_thermal.c
+++ b/drivers/thermal/uniphier_thermal.c
@@ -286,8 +286,7 @@ static int uniphier_tm_probe(struct platform_device *pdev)
regmap = syscon_node_to_regmap(parent);
of_node_put(parent);
if (IS_ERR(regmap)) {
- dev_err(dev, "failed to get regmap (error %ld)\n",
- PTR_ERR(regmap));
+ dev_err(dev, "failed to get regmap (error %pe)\n", regmap);
return PTR_ERR(regmap);
}
tdev->regmap = regmap;
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 3/5] cpufreq: Use %pe to print error pointers symbolically
2026-09-06 6:17 [PATCH 0/5] PM: Use %pe to print error pointers symbolically Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 1/5] powercap: intel_rapl: " Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 2/5] thermal: " Sumeet Pawnikar
@ 2026-09-06 6:17 ` Sumeet Pawnikar
2026-09-07 4:39 ` Viresh Kumar
2026-09-06 6:17 ` [PATCH 4/5] devfreq: " Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 5/5] power: " Sumeet Pawnikar
4 siblings, 1 reply; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-06 6:17 UTC (permalink / raw)
To: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg, krzk,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel, sumeet4linux
Replace PTR_ERR() and %ld with %pe and pass the original pointer directly
to pr_err() and pr_warn(). The %pe format specifier prints a symbolic error
name (e.g. -ENOMEM) when CONFIG_SYMBOLIC_ERRNAME is enabled, otherwise it
falls back gracefully and prints the raw integer value. This makes messages
more readable without any functional change.
Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
---
drivers/cpufreq/bmips-cpufreq.c | 4 ++--
drivers/cpufreq/cppc_cpufreq.c | 4 ++--
drivers/cpufreq/qoriq-cpufreq.c | 4 ++--
drivers/cpufreq/s3c64xx-cpufreq.c | 5 ++---
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/cpufreq/bmips-cpufreq.c b/drivers/cpufreq/bmips-cpufreq.c
index a8e35bc75fb2..389fff5e6f65 100644
--- a/drivers/cpufreq/bmips-cpufreq.c
+++ b/drivers/cpufreq/bmips-cpufreq.c
@@ -132,8 +132,8 @@ static int bmips_cpufreq_init(struct cpufreq_policy *policy)
freq_table = bmips_cpufreq_get_freq_table(policy);
if (IS_ERR(freq_table)) {
- pr_err("%s: couldn't determine frequency table (%ld).\n",
- BMIPS_CPUFREQ_NAME, PTR_ERR(freq_table));
+ pr_err("%s: couldn't determine frequency table (%pe).\n",
+ BMIPS_CPUFREQ_NAME, freq_table);
return PTR_ERR(freq_table);
}
diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c
index 80893844353c..f767898ebfb5 100644
--- a/drivers/cpufreq/cppc_cpufreq.c
+++ b/drivers/cpufreq/cppc_cpufreq.c
@@ -230,8 +230,8 @@ static void cppc_fie_kworker_init(void)
kworker_fie = kthread_run_worker(0, "cppc_fie");
if (IS_ERR(kworker_fie)) {
- pr_warn("%s: failed to create kworker_fie: %ld\n", __func__,
- PTR_ERR(kworker_fie));
+ pr_warn("%s: failed to create kworker_fie: %pe\n", __func__,
+ kworker_fie);
fie_disabled = FIE_DISABLED;
kworker_fie = NULL;
return;
diff --git a/drivers/cpufreq/qoriq-cpufreq.c b/drivers/cpufreq/qoriq-cpufreq.c
index 42edb41ad459..0652e5df0278 100644
--- a/drivers/cpufreq/qoriq-cpufreq.c
+++ b/drivers/cpufreq/qoriq-cpufreq.c
@@ -57,8 +57,8 @@ static u32 get_bus_freq(void)
/* get platform freq by its clock name */
pltclk = clk_get(NULL, "cg-pll0-div1");
if (IS_ERR(pltclk)) {
- pr_err("%s: can't get bus frequency %ld\n",
- __func__, PTR_ERR(pltclk));
+ pr_err("%s: can't get bus frequency %pe\n",
+ __func__, pltclk);
return PTR_ERR(pltclk);
}
diff --git a/drivers/cpufreq/s3c64xx-cpufreq.c b/drivers/cpufreq/s3c64xx-cpufreq.c
index 9cef71528076..9a01592425ee 100644
--- a/drivers/cpufreq/s3c64xx-cpufreq.c
+++ b/drivers/cpufreq/s3c64xx-cpufreq.c
@@ -152,15 +152,14 @@ static int s3c64xx_cpufreq_driver_init(struct cpufreq_policy *policy)
policy->clk = clk_get(NULL, "armclk");
if (IS_ERR(policy->clk)) {
- pr_err("Unable to obtain ARMCLK: %ld\n",
- PTR_ERR(policy->clk));
+ pr_err("Unable to obtain ARMCLK: %pe\n", policy->clk);
return PTR_ERR(policy->clk);
}
#ifdef CONFIG_REGULATOR
vddarm = regulator_get(NULL, "vddarm");
if (IS_ERR(vddarm)) {
- pr_err("Failed to obtain VDDARM: %ld\n", PTR_ERR(vddarm));
+ pr_err("Failed to obtain VDDARM: %pe\n", vddarm);
pr_err("Only frequency scaling available\n");
vddarm = NULL;
} else {
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 4/5] devfreq: Use %pe to print error pointers symbolically
2026-09-06 6:17 [PATCH 0/5] PM: Use %pe to print error pointers symbolically Sumeet Pawnikar
` (2 preceding siblings ...)
2026-09-06 6:17 ` [PATCH 3/5] cpufreq: " Sumeet Pawnikar
@ 2026-09-06 6:17 ` Sumeet Pawnikar
2026-09-06 6:30 ` Krzysztof Kozlowski
2026-09-06 6:17 ` [PATCH 5/5] power: " Sumeet Pawnikar
4 siblings, 1 reply; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-06 6:17 UTC (permalink / raw)
To: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg, krzk,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel, sumeet4linux
Replace PTR_ERR() and %ld with %pe and pass the original pointer directly
to dev_err(). The %pe format specifier prints a symbolic error name (e.g.
-ENOMEM) when CONFIG_SYMBOLIC_ERRNAME is enabled, otherwise it falls back
gracefully and prints the raw integer value. This makes messages more
readable without any functional change.
Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
---
drivers/devfreq/imx-bus.c | 4 ++--
drivers/devfreq/imx8m-ddrc.c | 3 +--
drivers/devfreq/mtk-cci-devfreq.c | 4 ++--
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/devfreq/imx-bus.c b/drivers/devfreq/imx-bus.c
index 49798f542d68..dba76d8b9e5a 100644
--- a/drivers/devfreq/imx-bus.c
+++ b/drivers/devfreq/imx-bus.c
@@ -75,8 +75,8 @@ static int imx_bus_init_icc(struct device *dev)
priv->icc_pdev = platform_device_register_data(
dev, icc_driver_name, -1, NULL, 0);
if (IS_ERR(priv->icc_pdev)) {
- dev_err(dev, "failed to register icc provider %s: %ld\n",
- icc_driver_name, PTR_ERR(priv->icc_pdev));
+ dev_err(dev, "failed to register icc provider %s: %pe\n",
+ icc_driver_name, priv->icc_pdev);
return PTR_ERR(priv->icc_pdev);
}
diff --git a/drivers/devfreq/imx8m-ddrc.c b/drivers/devfreq/imx8m-ddrc.c
index 52beeb5b7d65..28d7c595fa17 100644
--- a/drivers/devfreq/imx8m-ddrc.c
+++ b/drivers/devfreq/imx8m-ddrc.c
@@ -340,8 +340,7 @@ static int imx8m_ddrc_check_opps(struct device *dev)
for (i = 0, freq = 0; i < opp_count; ++i, ++freq) {
opp = dev_pm_opp_find_freq_ceil(dev, &freq);
if (IS_ERR(opp)) {
- dev_err(dev, "Failed enumerating OPPs: %ld\n",
- PTR_ERR(opp));
+ dev_err(dev, "Failed enumerating OPPs: %pe\n", opp);
return PTR_ERR(opp);
}
dev_pm_opp_put(opp);
diff --git a/drivers/devfreq/mtk-cci-devfreq.c b/drivers/devfreq/mtk-cci-devfreq.c
index 4c22be728f6a..bda788909887 100644
--- a/drivers/devfreq/mtk-cci-devfreq.c
+++ b/drivers/devfreq/mtk-cci-devfreq.c
@@ -364,8 +364,8 @@ static int mtk_ccifreq_probe(struct platform_device *pdev)
passive_data);
if (IS_ERR(drv->devfreq)) {
ret = -EPROBE_DEFER;
- dev_err(dev, "failed to add devfreq device: %ld\n",
- PTR_ERR(drv->devfreq));
+ dev_err(dev, "failed to add devfreq device: %pe\n",
+ drv->devfreq);
goto out_remove_opp_table;
}
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 5/5] power: Use %pe to print error pointers symbolically
2026-09-06 6:17 [PATCH 0/5] PM: Use %pe to print error pointers symbolically Sumeet Pawnikar
` (3 preceding siblings ...)
2026-09-06 6:17 ` [PATCH 4/5] devfreq: " Sumeet Pawnikar
@ 2026-09-06 6:17 ` Sumeet Pawnikar
2026-09-06 6:30 ` Krzysztof Kozlowski
4 siblings, 1 reply; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-06 6:17 UTC (permalink / raw)
To: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg, krzk,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel, sumeet4linux
Replace PTR_ERR() and %ld/%li with %pe and pass the original pointer
directly to dev_info(), dev_warn(), dev_err() and dev_dbg(). The %pe
format specifier prints a symbolic error name (e.g. -ENOMEM) when
CONFIG_SYMBOLIC_ERRNAME is enabled, otherwise it falls back gracefully
and prints the raw integer value. This makes messages more readable
without any functional change.
Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
---
drivers/power/reset/macsmc-reboot.c | 4 ++--
drivers/power/supply/axp20x_battery.c | 4 ++--
drivers/power/supply/cpcap-charger.c | 4 ++--
drivers/power/supply/cw2015_battery.c | 4 ++--
drivers/power/supply/intel_dc_ti_battery.c | 2 +-
drivers/power/supply/qcom_smbx.c | 2 +-
6 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/power/reset/macsmc-reboot.c b/drivers/power/reset/macsmc-reboot.c
index 9fc36fa68676..7b8460a55e9d 100644
--- a/drivers/power/reset/macsmc-reboot.c
+++ b/drivers/power/reset/macsmc-reboot.c
@@ -221,8 +221,8 @@ static int macsmc_reboot_probe(struct platform_device *pdev)
if (IS_ERR(cell)) {
if (PTR_ERR(cell) == -EPROBE_DEFER)
return -EPROBE_DEFER;
- dev_warn(&pdev->dev, "Missing NVMEM cell %s (%ld)\n",
- nvmem_names[i], PTR_ERR(cell));
+ dev_warn(&pdev->dev, "Missing NVMEM cell %s (%pe)\n",
+ nvmem_names[i], cell);
/* Non fatal, we'll deal with it */
cell = NULL;
}
diff --git a/drivers/power/supply/axp20x_battery.c b/drivers/power/supply/axp20x_battery.c
index ee8701a6e907..915b6f6881db 100644
--- a/drivers/power/supply/axp20x_battery.c
+++ b/drivers/power/supply/axp20x_battery.c
@@ -1123,8 +1123,8 @@ static int axp20x_power_probe(struct platform_device *pdev)
axp20x_batt->data->bat_ps_desc,
&psy_cfg);
if (IS_ERR(axp20x_batt->batt)) {
- dev_err(&pdev->dev, "failed to register power supply: %ld\n",
- PTR_ERR(axp20x_batt->batt));
+ dev_err(&pdev->dev, "failed to register power supply: %pe\n",
+ axp20x_batt->batt);
return PTR_ERR(axp20x_batt->batt);
}
diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c
index 34a57dd5c3cf..d423a8bdc0c2 100644
--- a/drivers/power/supply/cpcap-charger.c
+++ b/drivers/power/supply/cpcap-charger.c
@@ -808,8 +808,8 @@ static void cpcap_charger_init_optional_gpios(struct cpcap_charger_ddata *ddata)
ddata->gpio[i] = devm_gpiod_get_index(ddata->dev, "mode",
i, GPIOD_OUT_HIGH);
if (IS_ERR(ddata->gpio[i])) {
- dev_info(ddata->dev, "no mode change GPIO%i: %li\n",
- i, PTR_ERR(ddata->gpio[i]));
+ dev_info(ddata->dev, "no mode change GPIO%i: %pe\n",
+ i, ddata->gpio[i]);
ddata->gpio[i] = NULL;
}
}
diff --git a/drivers/power/supply/cw2015_battery.c b/drivers/power/supply/cw2015_battery.c
index 1bcb60cf763d..48643f7bf503 100644
--- a/drivers/power/supply/cw2015_battery.c
+++ b/drivers/power/supply/cw2015_battery.c
@@ -658,8 +658,8 @@ static int cw_bat_probe(struct i2c_client *client)
cw_bat->regmap = devm_regmap_init_i2c(client, &cw2015_regmap_config);
if (IS_ERR(cw_bat->regmap)) {
- dev_err(cw_bat->dev, "Failed to allocate regmap: %ld\n",
- PTR_ERR(cw_bat->regmap));
+ dev_err(cw_bat->dev, "Failed to allocate regmap: %pe\n",
+ cw_bat->regmap);
return PTR_ERR(cw_bat->regmap);
}
diff --git a/drivers/power/supply/intel_dc_ti_battery.c b/drivers/power/supply/intel_dc_ti_battery.c
index cb6fa8d88b43..5819df23a543 100644
--- a/drivers/power/supply/intel_dc_ti_battery.c
+++ b/drivers/power/supply/intel_dc_ti_battery.c
@@ -349,7 +349,7 @@ static int dc_ti_battery_probe(struct platform_device *pdev)
chip->vbat_channel = devm_iio_channel_get(dev, "VBAT");
if (IS_ERR(chip->vbat_channel)) {
- dev_dbg(dev, "devm_iio_channel_get() ret %ld\n", PTR_ERR(chip->vbat_channel));
+ dev_dbg(dev, "devm_iio_channel_get() ret %pe\n", chip->vbat_channel);
return dev_err_probe(dev, -EPROBE_DEFER, "Waiting for VBAT IIO channel\n");
}
diff --git a/drivers/power/supply/qcom_smbx.c b/drivers/power/supply/qcom_smbx.c
index 67fdb4335338..c8e242341d04 100644
--- a/drivers/power/supply/qcom_smbx.c
+++ b/drivers/power/supply/qcom_smbx.c
@@ -613,7 +613,7 @@ static int smb_get_iio_chan(struct smb_chip *chip, struct iio_channel *chan,
}
if (IS_ERR(chan)) {
- dev_err(chip->dev, "Failed to chan, err = %li", PTR_ERR(chan));
+ dev_err(chip->dev, "Failed to chan, err = %pe", chan);
return PTR_ERR(chan);
}
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/5] powercap: intel_rapl: Use %pe to print error pointers symbolically
2026-09-06 6:17 ` [PATCH 1/5] powercap: intel_rapl: " Sumeet Pawnikar
@ 2026-09-06 6:28 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-06 6:28 UTC (permalink / raw)
To: Sumeet Pawnikar, rafael, amit.kachhap, daniel.lezcano,
thara.gopinath, talel, hayashi.kunihiko, mhiramat, mmayer,
viresh.kumar, sumitg, peter.griffin, myungjoo.ham, kyungmin.park,
cw00.choi, Frank.Li, s.hauer, matthias.bgg,
angelogioacchino.delregno, sven, j, marcan, casey.connolly, sre,
wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel
On 06/09/2026 08:17, Sumeet Pawnikar wrote:
> trp->rp = rapl_add_package(info->package_id, &trp->priv, false);
> if (IS_ERR(trp->rp)) {
> - dev_err(&auxdev->dev, "Failed to add RAPL Domain for Package%d, %ld\n",
> - info->package_id, PTR_ERR(trp->rp));
> + dev_err(&auxdev->dev, "Failed to add RAPL Domain for Package%d, %pe\n",
> + info->package_id, trp->rp);
Instead you should use dev_err_probe and drop the last argument.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/5] thermal: Use %pe to print error pointers symbolically
2026-09-06 6:17 ` [PATCH 2/5] thermal: " Sumeet Pawnikar
@ 2026-09-06 6:29 ` Krzysztof Kozlowski
0 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-06 6:29 UTC (permalink / raw)
To: Sumeet Pawnikar, rafael, amit.kachhap, daniel.lezcano,
thara.gopinath, talel, hayashi.kunihiko, mhiramat, mmayer,
viresh.kumar, sumitg, peter.griffin, myungjoo.ham, kyungmin.park,
cw00.choi, Frank.Li, s.hauer, matthias.bgg,
angelogioacchino.delregno, sven, j, marcan, casey.connolly, sre,
wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel
On 06/09/2026 08:17, Sumeet Pawnikar wrote:
> +++ b/drivers/thermal/thermal_mmio.c
> @@ -71,8 +71,7 @@ static int thermal_mmio_probe(struct platform_device *pdev)
> &thermal_mmio_ops);
> if (IS_ERR(thermal_zone)) {
> dev_err(&pdev->dev,
> - "failed to register sensor (%ld)\n",
> - PTR_ERR(thermal_zone));
> + "failed to register sensor (%pe)\n", thermal_zone);
> return PTR_ERR(thermal_zone);
Same comments. Syntax is just return dev_err_probe. When making such
changes, you should not do them blindly, but replace the code into
really the correct one.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] power: Use %pe to print error pointers symbolically
2026-09-06 6:17 ` [PATCH 5/5] power: " Sumeet Pawnikar
@ 2026-09-06 6:30 ` Krzysztof Kozlowski
2026-09-12 19:10 ` Sumeet Pawnikar
0 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-06 6:30 UTC (permalink / raw)
To: Sumeet Pawnikar, rafael, amit.kachhap, daniel.lezcano,
thara.gopinath, talel, hayashi.kunihiko, mhiramat, mmayer,
viresh.kumar, sumitg, peter.griffin, myungjoo.ham, kyungmin.park,
cw00.choi, Frank.Li, s.hauer, matthias.bgg,
angelogioacchino.delregno, sven, j, marcan, casey.connolly, sre,
wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel
On 06/09/2026 08:17, Sumeet Pawnikar wrote:
> }
> diff --git a/drivers/power/supply/cw2015_battery.c b/drivers/power/supply/cw2015_battery.c
> index 1bcb60cf763d..48643f7bf503 100644
> --- a/drivers/power/supply/cw2015_battery.c
> +++ b/drivers/power/supply/cw2015_battery.c
> @@ -658,8 +658,8 @@ static int cw_bat_probe(struct i2c_client *client)
>
> cw_bat->regmap = devm_regmap_init_i2c(client, &cw2015_regmap_config);
> if (IS_ERR(cw_bat->regmap)) {
> - dev_err(cw_bat->dev, "Failed to allocate regmap: %ld\n",
> - PTR_ERR(cw_bat->regmap));
> + dev_err(cw_bat->dev, "Failed to allocate regmap: %pe\n",
> + cw_bat->regmap);
> return PTR_ERR(cw_bat->regmap);
return dev_err_probe
Instead you should use dev_err_probe and drop the last argument.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/5] devfreq: Use %pe to print error pointers symbolically
2026-09-06 6:17 ` [PATCH 4/5] devfreq: " Sumeet Pawnikar
@ 2026-09-06 6:30 ` Krzysztof Kozlowski
2026-09-12 19:07 ` Sumeet Pawnikar
0 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-06 6:30 UTC (permalink / raw)
To: Sumeet Pawnikar, rafael, amit.kachhap, daniel.lezcano,
thara.gopinath, talel, hayashi.kunihiko, mhiramat, mmayer,
viresh.kumar, sumitg, peter.griffin, myungjoo.ham, kyungmin.park,
cw00.choi, Frank.Li, s.hauer, matthias.bgg,
angelogioacchino.delregno, sven, j, marcan, casey.connolly, sre,
wens, t.schramm
Cc: bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel
On 06/09/2026 08:17, Sumeet Pawnikar wrote:
> ret = -EPROBE_DEFER;
> - dev_err(dev, "failed to add devfreq device: %ld\n",
> - PTR_ERR(drv->devfreq));
> + dev_err(dev, "failed to add devfreq device: %pe\n",
> + drv->devfreq);
Instead you should use dev_err_probe and drop the last argument.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/5] cpufreq: Use %pe to print error pointers symbolically
2026-09-06 6:17 ` [PATCH 3/5] cpufreq: " Sumeet Pawnikar
@ 2026-09-07 4:39 ` Viresh Kumar
0 siblings, 0 replies; 13+ messages in thread
From: Viresh Kumar @ 2026-09-07 4:39 UTC (permalink / raw)
To: Sumeet Pawnikar
Cc: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, sumitg, krzk, peter.griffin,
myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li, s.hauer,
matthias.bgg, angelogioacchino.delregno, sven, j, marcan,
casey.connolly, sre, wens, t.schramm, bcm-kernel-feedback-list,
linux-samsung-soc, kernel, imx, linux-mediatek, linux-arm-kernel,
linux-arm-msm, linux-pm, linux-kernel
On 06-09-26, 11:47, Sumeet Pawnikar wrote:
> Replace PTR_ERR() and %ld with %pe and pass the original pointer directly
> to pr_err() and pr_warn(). The %pe format specifier prints a symbolic error
> name (e.g. -ENOMEM) when CONFIG_SYMBOLIC_ERRNAME is enabled, otherwise it
> falls back gracefully and prints the raw integer value. This makes messages
> more readable without any functional change.
>
> Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
> ---
> drivers/cpufreq/bmips-cpufreq.c | 4 ++--
> drivers/cpufreq/cppc_cpufreq.c | 4 ++--
> drivers/cpufreq/qoriq-cpufreq.c | 4 ++--
> drivers/cpufreq/s3c64xx-cpufreq.c | 5 ++---
> 4 files changed, 8 insertions(+), 9 deletions(-)
Applied. Thanks.
--
viresh
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/5] devfreq: Use %pe to print error pointers symbolically
2026-09-06 6:30 ` Krzysztof Kozlowski
@ 2026-09-12 19:07 ` Sumeet Pawnikar
0 siblings, 0 replies; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-12 19:07 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm,
bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel
On Sun, Sep 6, 2026 at 12:00 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 06/09/2026 08:17, Sumeet Pawnikar wrote:
> > ret = -EPROBE_DEFER;
> > - dev_err(dev, "failed to add devfreq device: %ld\n",
> > - PTR_ERR(drv->devfreq));
> > + dev_err(dev, "failed to add devfreq device: %pe\n",
> > + drv->devfreq);
>
> Instead you should use dev_err_probe and drop the last argument.
>
Sure. I'll do this suggested usage of dev_err_probe in different patch
series for *_probe() functions update.
Planning to post V2 for this original series to use %pe to print the
error pointers symbolically, reverting the change for dev_err under
*_porbe() function.
Thanks,
Sumeet.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] power: Use %pe to print error pointers symbolically
2026-09-06 6:30 ` Krzysztof Kozlowski
@ 2026-09-12 19:10 ` Sumeet Pawnikar
0 siblings, 0 replies; 13+ messages in thread
From: Sumeet Pawnikar @ 2026-09-12 19:10 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: rafael, amit.kachhap, daniel.lezcano, thara.gopinath, talel,
hayashi.kunihiko, mhiramat, mmayer, viresh.kumar, sumitg,
peter.griffin, myungjoo.ham, kyungmin.park, cw00.choi, Frank.Li,
s.hauer, matthias.bgg, angelogioacchino.delregno, sven, j,
marcan, casey.connolly, sre, wens, t.schramm,
bcm-kernel-feedback-list, linux-samsung-soc, kernel, imx,
linux-mediatek, linux-arm-kernel, linux-arm-msm, linux-pm,
linux-kernel
On Sun, Sep 6, 2026 at 12:00 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 06/09/2026 08:17, Sumeet Pawnikar wrote:
> > }
> > diff --git a/drivers/power/supply/cw2015_battery.c b/drivers/power/supply/cw2015_battery.c
> > index 1bcb60cf763d..48643f7bf503 100644
> > --- a/drivers/power/supply/cw2015_battery.c
> > +++ b/drivers/power/supply/cw2015_battery.c
> > @@ -658,8 +658,8 @@ static int cw_bat_probe(struct i2c_client *client)
> >
> > cw_bat->regmap = devm_regmap_init_i2c(client, &cw2015_regmap_config);
> > if (IS_ERR(cw_bat->regmap)) {
> > - dev_err(cw_bat->dev, "Failed to allocate regmap: %ld\n",
> > - PTR_ERR(cw_bat->regmap));
> > + dev_err(cw_bat->dev, "Failed to allocate regmap: %pe\n",
> > + cw_bat->regmap);
> > return PTR_ERR(cw_bat->regmap);
>
> return dev_err_probe
>
> Instead you should use dev_err_probe and drop the last argument.
>
Sure. I'll do this suggested usage of dev_err_probe in different patch
series for *_probe() functions update.
As of now reverting the change for dev_err under *_porbe() function
and planning to post V2 for this original series to use %pe for review.
Thanks,
Sumeet.
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-09-12 19:10 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-06 6:17 [PATCH 0/5] PM: Use %pe to print error pointers symbolically Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 1/5] powercap: intel_rapl: " Sumeet Pawnikar
2026-09-06 6:28 ` Krzysztof Kozlowski
2026-09-06 6:17 ` [PATCH 2/5] thermal: " Sumeet Pawnikar
2026-09-06 6:29 ` Krzysztof Kozlowski
2026-09-06 6:17 ` [PATCH 3/5] cpufreq: " Sumeet Pawnikar
2026-09-07 4:39 ` Viresh Kumar
2026-09-06 6:17 ` [PATCH 4/5] devfreq: " Sumeet Pawnikar
2026-09-06 6:30 ` Krzysztof Kozlowski
2026-09-12 19:07 ` Sumeet Pawnikar
2026-09-06 6:17 ` [PATCH 5/5] power: " Sumeet Pawnikar
2026-09-06 6:30 ` Krzysztof Kozlowski
2026-09-12 19:10 ` Sumeet Pawnikar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®