Re: [PATCH 3/3] drm: Convert open yes/no strings to yesno()

From: Lucas De Marchi
Date: Wed Jan 26 2022 - 04:05:31 EST


On Wed, Jan 19, 2022 at 09:30:47PM +0200, Andy Shevchenko wrote:
On Tue, Jan 18, 2022 at 11:24:50PM -0800, Lucas De Marchi wrote:
linux/string_helpers.h provides a helper to return "yes"/"no"
strings. Replace the open coded versions with yesno(). The places were
identified with the following semantic patch:

@@
expression b;
@@

- b ? "yes" : "no"
+ yesno(b)

Then the includes were added, so we include-what-we-use, and parenthesis
adjusted in drivers/gpu/drm/v3d/v3d_debugfs.c. After the conversion we
still see the same binary sizes:

text data bss dec hex filename
1442171 60344 800 1503315 16f053 ./drivers/gpu/drm/radeon/radeon.ko
1442171 60344 800 1503315 16f053 ./drivers/gpu/drm/radeon/radeon.ko.old
5985991 324439 33808 6344238 60ce2e ./drivers/gpu/drm/amd/amdgpu/amdgpu.ko
5985991 324439 33808 6344238 60ce2e ./drivers/gpu/drm/amd/amdgpu/amdgpu.ko.old
411986 10490 6176 428652 68a6c ./drivers/gpu/drm/drm.ko
411986 10490 6176 428652 68a6c ./drivers/gpu/drm/drm.ko.old
1970292 109515 2352 2082159 1fc56f ./drivers/gpu/drm/nouveau/nouveau.ko
1970292 109515 2352 2082159 1fc56f ./drivers/gpu/drm/nouveau/nouveau.ko.old

...

#include <linux/module.h>
#include <linux/sched.h>
#include <linux/slab.h>
+#include <linux/string_helpers.h>

+ blank line?

+#include <linux/string_helpers.h>

...

seq_printf(m, "\tDP branch device present: %s\n",
- branch_device ? "yes" : "no");
+ yesno(branch_device));

Now it's possible to keep this on one line.

...

drm_printf_indent(p, indent, "imported=%s\n",
- obj->import_attach ? "yes" : "no");
+ yesno(obj->import_attach));

81 here, but anyway, ditto!

...

*/

+blank line here?

+#include <linux/string_helpers.h>
+
#include "aux.h"
#include "pad.h"

...

seq_printf(m, "MMU: %s\n",
- (ident2 & V3D_HUB_IDENT2_WITH_MMU) ? "yes" : "no");
+ yesno(ident2 & V3D_HUB_IDENT2_WITH_MMU));
seq_printf(m, "TFU: %s\n",
- (ident1 & V3D_HUB_IDENT1_WITH_TFU) ? "yes" : "no");
+ yesno(ident1 & V3D_HUB_IDENT1_WITH_TFU));
seq_printf(m, "TSY: %s\n",
- (ident1 & V3D_HUB_IDENT1_WITH_TSY) ? "yes" : "no");
+ yesno(ident1 & V3D_HUB_IDENT1_WITH_TSY));
seq_printf(m, "MSO: %s\n",
- (ident1 & V3D_HUB_IDENT1_WITH_MSO) ? "yes" : "no");
+ yesno(ident1 & V3D_HUB_IDENT1_WITH_MSO));
seq_printf(m, "L3C: %s (%dkb)\n",
- (ident1 & V3D_HUB_IDENT1_WITH_L3C) ? "yes" : "no",
+ yesno(ident1 & V3D_HUB_IDENT1_WITH_L3C),
V3D_GET_FIELD(ident2, V3D_HUB_IDENT2_L3C_NKB));

I believe it's fine to join back to have less LOCs (yes, it will be 83 or so,
but I believe in these cases it's very much okay).

now that we are converting to str_yes_no(), we will have a few more
chars. Some maintainers may be more strict on the 80 or 100 chars. I
will assume whatever is in the code base is the preferred form.

thanks
Lucas De Marchi


--
With Best Regards,
Andy Shevchenko