* [PATCH v2] staging: greybus: replace PTR_ERR() with %pe in error messages
@ 2026-10-13 2:24 pavankumaryalagada
2026-10-13 20:11 ` Alex Elder
0 siblings, 1 reply; 4+ messages in thread
From: pavankumaryalagada @ 2026-10-13 2:24 UTC (permalink / raw)
To: johan, gregkh
Cc: vireshk, elder, greybus-dev, linux-staging, linux-kernel,
outreachy, gservice341, Yalagada Pavan Kumar
From: Yalagada Pavan Kumar <pavankumaryalagada@gmail.com>
Use %pe to print error pointers directly and display their
error names.
Keep the other PTR_ERR() call because its return value is
needed for ret.
Signed-off-by: Yalagada Pavan Kumar <pavankumaryalagada@gmail.com>
---
v2:
- Use %pe in the firmware management case, as suggested by Jeremy Clifton,
to match the other cases.
v1: https://lore.kernel.org/outreachy/as0nhVbagZa8Birm@user/T/#t
---
drivers/staging/greybus/fw-core.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/greybus/fw-core.c b/drivers/staging/greybus/fw-core.c
index 2016a74f137f..78321be80013 100644
--- a/drivers/staging/greybus/fw-core.c
+++ b/drivers/staging/greybus/fw-core.c
@@ -93,8 +93,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
if (IS_ERR(connection)) {
ret = PTR_ERR(connection);
dev_err(&bundle->dev,
- "failed to create management connection (%d)\n",
- ret);
+ "failed to create management connection (%pe)\n",
+ connection);
goto err_destroy_connections;
}
@@ -112,8 +112,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
connection = gb_connection_create(bundle, cport_id,
gb_fw_download_request_handler);
if (IS_ERR(connection)) {
- dev_err(&bundle->dev, "failed to create download connection (%ld)\n",
- PTR_ERR(connection));
+ dev_err(&bundle->dev, "failed to create download connection (%pe)\n",
+ connection);
} else {
fw_core->download_connection = connection;
}
@@ -131,8 +131,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
connection = gb_connection_create(bundle, cport_id,
NULL);
if (IS_ERR(connection)) {
- dev_err(&bundle->dev, "failed to create SPI connection (%ld)\n",
- PTR_ERR(connection));
+ dev_err(&bundle->dev, "failed to create SPI connection (%pe)\n",
+ connection);
} else {
fw_core->spi_connection = connection;
}
@@ -149,8 +149,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
connection = gb_connection_create(bundle, cport_id,
NULL);
if (IS_ERR(connection)) {
- dev_err(&bundle->dev, "failed to create Authentication connection (%ld)\n",
- PTR_ERR(connection));
+ dev_err(&bundle->dev, "failed to create Authentication connection (%pe)\n",
+ connection);
} else {
fw_core->cap_connection = connection;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] staging: greybus: replace PTR_ERR() with %pe in error messages
2026-10-13 2:24 [PATCH v2] staging: greybus: replace PTR_ERR() with %pe in error messages pavankumaryalagada
@ 2026-10-13 20:11 ` Alex Elder
2026-10-13 21:43 ` Yalagada Pavan Kumar
0 siblings, 1 reply; 4+ messages in thread
From: Alex Elder @ 2026-10-13 20:11 UTC (permalink / raw)
To: pavankumaryalagada, johan, gregkh
Cc: vireshk, elder, greybus-dev, linux-staging, linux-kernel,
outreachy, gservice341
On 10/12/26 9:24 PM, pavankumaryalagada@gmail.com wrote:
> From: Yalagada Pavan Kumar <pavankumaryalagada@gmail.com>
>
> Use %pe to print error pointers directly and display their
> error names.
>
> Keep the other PTR_ERR() call because its return value is
> needed for ret.
>
> Signed-off-by: Yalagada Pavan Kumar <pavankumaryalagada@gmail.com>
Generally I think what you're doing is OK. It looks
like %pe is better than just %d, because it prints
the error *name* for the pointer-coded error.
But I have two general questions about this effort:
- There are other places in the Greybus code (even in
just the staging source files) where this exact same
thing could be done. Why limit this to "fw-core.c" only?
- Do you think that all Greybus error messages should be
converted to use %pe (passing ERR_PTR() if necessary)
instead of %d for showing the error number?
I think your suggested change is a net positive, but
doing it in some spots but not others means it is
adding a bit of inconsistency.
-Alex
> ---
> v2:
> - Use %pe in the firmware management case, as suggested by Jeremy Clifton,
> to match the other cases.
>
> v1: https://lore.kernel.org/outreachy/as0nhVbagZa8Birm@user/T/#t
> ---
> drivers/staging/greybus/fw-core.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/staging/greybus/fw-core.c b/drivers/staging/greybus/fw-core.c
> index 2016a74f137f..78321be80013 100644
> --- a/drivers/staging/greybus/fw-core.c
> +++ b/drivers/staging/greybus/fw-core.c
> @@ -93,8 +93,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> if (IS_ERR(connection)) {
> ret = PTR_ERR(connection);
> dev_err(&bundle->dev,
> - "failed to create management connection (%d)\n",
> - ret);
> + "failed to create management connection (%pe)\n",
> + connection);
> goto err_destroy_connections;
> }
>
> @@ -112,8 +112,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> connection = gb_connection_create(bundle, cport_id,
> gb_fw_download_request_handler);
> if (IS_ERR(connection)) {
> - dev_err(&bundle->dev, "failed to create download connection (%ld)\n",
> - PTR_ERR(connection));
> + dev_err(&bundle->dev, "failed to create download connection (%pe)\n",
> + connection);
> } else {
> fw_core->download_connection = connection;
> }
> @@ -131,8 +131,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> connection = gb_connection_create(bundle, cport_id,
> NULL);
> if (IS_ERR(connection)) {
> - dev_err(&bundle->dev, "failed to create SPI connection (%ld)\n",
> - PTR_ERR(connection));
> + dev_err(&bundle->dev, "failed to create SPI connection (%pe)\n",
> + connection);
> } else {
> fw_core->spi_connection = connection;
> }
> @@ -149,8 +149,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> connection = gb_connection_create(bundle, cport_id,
> NULL);
> if (IS_ERR(connection)) {
> - dev_err(&bundle->dev, "failed to create Authentication connection (%ld)\n",
> - PTR_ERR(connection));
> + dev_err(&bundle->dev, "failed to create Authentication connection (%pe)\n",
> + connection);
> } else {
> fw_core->cap_connection = connection;
> }
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] staging: greybus: replace PTR_ERR() with %pe in error messages
2026-10-13 20:11 ` Alex Elder
@ 2026-10-13 21:43 ` Yalagada Pavan Kumar
2026-10-14 13:32 ` Alex Elder
0 siblings, 1 reply; 4+ messages in thread
From: Yalagada Pavan Kumar @ 2026-10-13 21:43 UTC (permalink / raw)
To: Alex Elder
Cc: johan, gregkh, vireshk, elder, greybus-dev, linux-staging,
linux-kernel, outreachy, gservice341
On Tue, Oct 13, 2026 at 03:11:51PM -0500, Alex Elder wrote:
> On 10/12/26 9:24 PM, pavankumaryalagada@gmail.com wrote:
> > From: Yalagada Pavan Kumar <pavankumaryalagada@gmail.com>
> >
> > Use %pe to print error pointers directly and display their
> > error names.
> >
> > Keep the other PTR_ERR() call because its return value is
> > needed for ret.
> >
> > Signed-off-by: Yalagada Pavan Kumar <pavankumaryalagada@gmail.com>
>
>
> Generally I think what you're doing is OK. It looks
> like %pe is better than just %d, because it prints
> the error *name* for the pointer-coded error.
>
> But I have two general questions about this effort:
>
> - There are other places in the Greybus code (even in
> just the staging source files) where this exact same
> thing could be done. Why limit this to "fw-core.c" only?
I initially limited the change to "fw-core.c" because I was
focusing on the error messages in that file.
>
> - Do you think that all Greybus error messages should be
> converted to use %pe (passing ERR_PTR() if necessary)
> instead of %d for showing the error number?
Using %pe prints the error name instead of just the
error number, which makes the error messages easier
to understand.
For example, the current message is:
failed to create download connection (-12)
with %pe, it becomes:
failed to create download connection (-ENOMEM)
I think the second message is easier to understand because
it shows the error name instead of just error number.
I also found other PTR_ERR() calls in Greybus. some of them
are used to return error codes and should remain unchanged.
For example, in fw-core.c:
if (IS_ERR(connection)) {
ret = PTR_ERR(connection);
dev_err(&bundle->dev,
"failed to create management connection (%pe)\n",
connection);
goto err_destroy_connections;
}
Here, PTR_ERR(connection) is needed to store the error code in ret
for the error-handling path, while passing connection to %pe makes
the error message more readable.
>
> I think your suggested change is a net positive, but
> doing it in some spots but not others means it is
> adding a bit of inconsistency.
I agree that similar cases elsewhere in Greybus are worth
checking to keep error reporting consistent. I will look
at the other Greybus files for cases where using %pe would
be appropriate.
Would you prefer me to extend this change to the other
relevant Greybus files, or keep this patch focused on
fw-core.c and submit a separate patch for the remaining
changes?
Thanks for the suggestions.
Pavan
>
> -Alex
>
> > ---
> > v2:
> > - Use %pe in the firmware management case, as suggested by Jeremy Clifton,
> > to match the other cases.
> >
> > v1: https://lore.kernel.org/outreachy/as0nhVbagZa8Birm@user/T/#t
> > ---
> > drivers/staging/greybus/fw-core.c | 16 ++++++++--------
> > 1 file changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/staging/greybus/fw-core.c b/drivers/staging/greybus/fw-core.c
> > index 2016a74f137f..78321be80013 100644
> > --- a/drivers/staging/greybus/fw-core.c
> > +++ b/drivers/staging/greybus/fw-core.c
> > @@ -93,8 +93,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> > if (IS_ERR(connection)) {
> > ret = PTR_ERR(connection);
> > dev_err(&bundle->dev,
> > - "failed to create management connection (%d)\n",
> > - ret);
> > + "failed to create management connection (%pe)\n",
> > + connection);
> > goto err_destroy_connections;
> > }
> > @@ -112,8 +112,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> > connection = gb_connection_create(bundle, cport_id,
> > gb_fw_download_request_handler);
> > if (IS_ERR(connection)) {
> > - dev_err(&bundle->dev, "failed to create download connection (%ld)\n",
> > - PTR_ERR(connection));
> > + dev_err(&bundle->dev, "failed to create download connection (%pe)\n",
> > + connection);
> > } else {
> > fw_core->download_connection = connection;
> > }
> > @@ -131,8 +131,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> > connection = gb_connection_create(bundle, cport_id,
> > NULL);
> > if (IS_ERR(connection)) {
> > - dev_err(&bundle->dev, "failed to create SPI connection (%ld)\n",
> > - PTR_ERR(connection));
> > + dev_err(&bundle->dev, "failed to create SPI connection (%pe)\n",
> > + connection);
> > } else {
> > fw_core->spi_connection = connection;
> > }
> > @@ -149,8 +149,8 @@ static int gb_fw_core_probe(struct gb_bundle *bundle,
> > connection = gb_connection_create(bundle, cport_id,
> > NULL);
> > if (IS_ERR(connection)) {
> > - dev_err(&bundle->dev, "failed to create Authentication connection (%ld)\n",
> > - PTR_ERR(connection));
> > + dev_err(&bundle->dev, "failed to create Authentication connection (%pe)\n",
> > + connection);
> > } else {
> > fw_core->cap_connection = connection;
> > }
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] staging: greybus: replace PTR_ERR() with %pe in error messages
2026-10-13 21:43 ` Yalagada Pavan Kumar
@ 2026-10-14 13:32 ` Alex Elder
0 siblings, 0 replies; 4+ messages in thread
From: Alex Elder @ 2026-10-14 13:32 UTC (permalink / raw)
To: Yalagada Pavan Kumar
Cc: johan, gregkh, vireshk, elder, greybus-dev, linux-staging,
linux-kernel, outreachy, gservice341
On 10/13/26 4:43 PM, Yalagada Pavan Kumar wrote:
>> I think your suggested change is a net positive, but
>> doing it in some spots but not others means it is
>> adding a bit of inconsistency.
> I agree that similar cases elsewhere in Greybus are worth
> checking to keep error reporting consistent. I will look
> at the other Greybus files for cases where using %pe would
> be appropriate.
>
> Would you prefer me to extend this change to the other
> relevant Greybus files, or keep this patch focused on
> fw-core.c and submit a separate patch for the remaining
> changes?
I guess I mainly wanted to understand your intent. I don't
really mind your proposed change, but I would really prefer
to have it be part of an overall plan to upgrade all error
messages this way.
Ideally error (and other) messages are done consistently,
and so changing them in just one file sort of raises a flag
for me.
Can you survey the messages elsewhere in the Greybus code
and get a sense of how much work it will be to do this
comprehensively? Your current patch affects four spots in
one source file; how many others would there be?
And if updating everything is a task you're willing to do,
then I think I would prefer you extend this change.
-Alex
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-10-14 13:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13 2:24 [PATCH v2] staging: greybus: replace PTR_ERR() with %pe in error messages pavankumaryalagada
2026-10-13 20:11 ` Alex Elder
2026-10-13 21:43 ` Yalagada Pavan Kumar
2026-10-14 13:32 ` Alex Elder
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.