Re: [PATCH v2] cxl: Use %pe to print error pointers
From: Richard Cheng
Date: Mon Aug 03 2026 - 02:26:24 EST
On Sun, Aug 02, 2026 at 04:50:29PM +0800, Shaikh Kamaluddin wrote:
> Use the %pe printk format specifier to report error pointers directly
> instead of printing PTR_ERR() as a long value. A failed dport addition
> then reports -EBUSY rather than -16, which is easier to follow when
> tracing port and region setup with dynamic debug enabled.
>
> Convert the five affected sites in drivers/cxl/core/port.c and
> drivers/cxl/core/region.c. PTR_ERR() uses in return statements are
> unaffected and left unchanged.
>
> drivers/cxl was scanned in full; these are the only conversion
> candidates.
>
> Found by: make coccicheck MODE=report M=drivers/cxl/
> No functional change intended.
>
> Signed-off-by: Shaikh Kamaluddin <shaikhkamal2012@xxxxxxxxx>
Reviewed-by: Richard Cheng <icheng@xxxxxxxxxx>
> ---
> Compile tested only with cxl config on x86.
>
> v2:
> - Reword commit message: lead with the code improvement, note coccinelle
> only as the tool used to locate the sites (Alison)
> - Capitalise subject per CXL convention (Alison)
> - Note that drivers/cxl was scanned in full and these are the only
> candidates (Alison)
> - Clarify that the patch is compile tested only
> - No code changes
> Link to v1: https://lore.kernel.org/linux-cxl/20260801101217.12778-1-shaikhkamal2012@xxxxxxxxx/
>
> drivers/cxl/core/port.c | 13 ++++++-------
> drivers/cxl/core/region.c | 8 ++++----
> 2 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c
> index 1215ee4f4035..c9875e6af9f6 100644
> --- a/drivers/cxl/core/port.c
> +++ b/drivers/cxl/core/port.c
> @@ -932,11 +932,10 @@ struct cxl_port *devm_cxl_add_port(struct device *host,
>
> parent_port = parent_dport ? parent_dport->port : NULL;
> if (IS_ERR(port)) {
> - dev_dbg(uport_dev, "Failed to add%s%s%s: %ld\n",
> + dev_dbg(uport_dev, "Failed to add%s%s%s: %pe\n",
> parent_port ? " port to " : "",
> parent_port ? dev_name(&parent_port->dev) : "",
> - parent_port ? "" : " root port",
> - PTR_ERR(port));
> + parent_port ? "" : " root port", port);
> } else {
> dev_dbg(uport_dev, "%s added%s%s%s\n",
> dev_name(&port->dev),
> @@ -1271,8 +1270,8 @@ struct cxl_dport *devm_cxl_add_dport(struct cxl_port *port,
> dport = __devm_cxl_add_dport(port, dport_dev, port_id,
> component_reg_phys, CXL_RESOURCE_NONE);
> if (IS_ERR(dport)) {
> - dev_dbg(dport_dev, "failed to add dport to %s: %ld\n",
> - dev_name(&port->dev), PTR_ERR(dport));
> + dev_dbg(dport_dev, "failed to add dport to %s: %pe\n",
> + dev_name(&port->dev), dport);
> } else {
> dev_dbg(dport_dev, "dport added to %s\n",
> dev_name(&port->dev));
> @@ -1305,8 +1304,8 @@ struct cxl_dport *devm_cxl_add_rch_dport(struct cxl_port *port,
> dport = __devm_cxl_add_dport(port, dport_dev, port_id,
> CXL_RESOURCE_NONE, rcrb);
> if (IS_ERR(dport)) {
> - dev_dbg(dport_dev, "failed to add RCH dport to %s: %ld\n",
> - dev_name(&port->dev), PTR_ERR(dport));
> + dev_dbg(dport_dev, "failed to add RCH dport to %s: %pe\n",
> + dev_name(&port->dev), dport);
> } else {
> dev_dbg(dport_dev, "RCH dport added to %s\n",
> dev_name(&port->dev));
> diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
> index 1e211542b6b6..894df68a6074 100644
> --- a/drivers/cxl/core/region.c
> +++ b/drivers/cxl/core/region.c
> @@ -682,8 +682,8 @@ static int alloc_hpa(struct cxl_region *cxlr, resource_size_t size)
> dev_name(&cxlr->dev));
> if (IS_ERR(res)) {
> dev_dbg(&cxlr->dev,
> - "HPA allocation error (%ld) for size:%pap in %s %pr\n",
> - PTR_ERR(res), &size, cxlrd->res->name, cxlrd->res);
> + "HPA allocation error (%pe) for size:%pap in %s %pr\n",
> + res, &size, cxlrd->res->name, cxlrd->res);
> return PTR_ERR(res);
> }
>
> @@ -3773,9 +3773,9 @@ static struct cxl_region *construct_region(struct cxl_root_decoder *cxlrd,
>
> if (IS_ERR(cxlr)) {
> dev_err(cxlmd->dev.parent,
> - "%s:%s: %s failed assign region: %ld\n",
> + "%s:%s: %s failed assign region: %pe\n",
> dev_name(&cxlmd->dev), dev_name(&cxled->cxld.dev),
> - __func__, PTR_ERR(cxlr));
> + __func__, cxlr);
> return cxlr;
> }
>
>
> base-commit: f5098b6bae761e346ebcd9da7f95622c04733cff
> --
> 2.43.0
>
>