Re: [PATCH 2/2] staging: vme_user: Use __func__ instead of function name

From: Andi Shyti
Date: Wed Oct 18 2023 - 07:00:19 EST


Hi Soumya,

On Tue, Oct 17, 2023 at 09:36:33PM -0700, Soumya Negi wrote:
> Replace function names in message strings with __func__ to fix
> all checkpatch warnings like:
>
> WARNING: Prefer using '"%s...", __func__' to using 'vme_lm_get',
> this function's name, in a string
>
> Signed-off-by: Soumya Negi <soumya.negi97@xxxxxxxxx>
> ---
> drivers/staging/vme_user/vme.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/staging/vme_user/vme.c b/drivers/staging/vme_user/vme.c
> index e8c2c1e77b7d..11c1df12b657 100644
> --- a/drivers/staging/vme_user/vme.c
> +++ b/drivers/staging/vme_user/vme.c
> @@ -422,7 +422,7 @@ int vme_slave_get(struct vme_resource *resource, int *enabled,
> image = list_entry(resource->entry, struct vme_slave_resource, list);
>
> if (!bridge->slave_get) {
> - dev_err(bridge->parent, "vme_slave_get not supported\n");
> + dev_err(bridge->parent, "%s not supported\n", __func__);
> return -EINVAL;
> }
>
> @@ -572,7 +572,7 @@ int vme_master_set(struct vme_resource *resource, int enabled,
> image = list_entry(resource->entry, struct vme_master_resource, list);
>
> if (!bridge->master_set) {
> - dev_warn(bridge->parent, "vme_master_set not supported\n");
> + dev_warn(bridge->parent, "%s not supported\n", __func__);

I wouldn't disagree if you made this dev_err() instead of
dev_warn(). The reasoning behind is that if it's a warning you
should not fail. But beacuse you are returning -EINVAL it means
that you are failing, therefore you should use dev_err().

Others might object that the change I'm suggesting sohuld go in a
different patch, which is also OK.

> return -EINVAL;

... or, if you want to keep the dev_warn(), whou can consider
removing the "return -EINVAL;". But this is an evaluation you
should make in a different patch and mainly evaluate if it's
OK to remove the error here.

> }
>
> @@ -1565,7 +1565,7 @@ int vme_lm_set(struct vme_resource *resource, unsigned long long lm_base,
> lm = list_entry(resource->entry, struct vme_lm_resource, list);
>
> if (!bridge->lm_set) {
> - dev_err(bridge->parent, "vme_lm_set not supported\n");
> + dev_err(bridge->parent, "%s not supported\n", __func__);
> return -EINVAL;
> }
>
> @@ -1601,7 +1601,7 @@ int vme_lm_get(struct vme_resource *resource, unsigned long long *lm_base,
> lm = list_entry(resource->entry, struct vme_lm_resource, list);
>
> if (!bridge->lm_get) {
> - dev_err(bridge->parent, "vme_lm_get not supported\n");
> + dev_err(bridge->parent, "%s not supported\n", __func__);
> return -EINVAL;
> }
>
> @@ -1638,7 +1638,7 @@ int vme_lm_attach(struct vme_resource *resource, int monitor,
> lm = list_entry(resource->entry, struct vme_lm_resource, list);
>
> if (!bridge->lm_attach) {
> - dev_err(bridge->parent, "vme_lm_attach not supported\n");
> + dev_err(bridge->parent, "%s not supported\n", __func__);
> return -EINVAL;
> }
>
> @@ -1671,7 +1671,7 @@ int vme_lm_detach(struct vme_resource *resource, int monitor)
> lm = list_entry(resource->entry, struct vme_lm_resource, list);
>
> if (!bridge->lm_detach) {
> - dev_err(bridge->parent, "vme_lm_detach not supported\n");
> + dev_err(bridge->parent, "%s not supported\n", __func__);
> return -EINVAL;
> }
>
> @@ -1738,7 +1738,7 @@ int vme_slot_num(struct vme_dev *vdev)
> }
>
> if (!bridge->slot_get) {
> - dev_warn(bridge->parent, "vme_slot_num not supported\n");
> + dev_warn(bridge->parent, "%s not supported\n", __func__);
> return -EINVAL;
> }

Nothing wrong with the patch itself. But imagine if we end up in
one of those printouts and, as a user, you read something like:

... vme_slot_num not supported

The message itself doesn't say much to the user. The perfect fix
would be to re-write all these error messages with a proper
meaningful sentence, like, e.g.:

Can't retrieve the CS/CSR slot id

(don't even know if it's fully correct). Anyway, I understand
you don't have much time for such fine changes, so whatever you
decide to do:

Acked-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx>

Andi