<br><br>On Wednesday, January 19, 2022, Lucas De Marchi <<a href="mailto:lucas.demarchi@intel.com">lucas.demarchi@intel.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Add some helpers under lib/string_helpers.h so they can be used<br>
throughout the kernel. When I started doing this there were 2 other<br>
previous attempts I know of, not counting the iterations each of them<br>
had:<br>
<br>
1) <a href="https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/" target="_blank">https://lore.kernel.org/all/<wbr>20191023131308.9420-1-jani.<wbr>nikula@intel.com/</a><br>
2) <a href="https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t" target="_blank">https://lore.kernel.org/all/<wbr>20210215142137.64476-1-andriy.<wbr>shevchenko@linux.intel.com/#t</a><br>
<br>
Going through the comments I tried to find some common ground and<br>
justification for what is in here, addressing some of the concerns<br>
raised.<br>
<br>
a. This version should be a drop-in replacement for what is currently in<br>
   the tree, with no change in behavior or binary size. For binary<br>
   size what I checked wat that the linked objects in the end have the<br>
   same size (gcc 11). From comments in the previous attempts this seems<br>
   also the case for earlier compiler versions<br>
<br>
b. I didn't change the function name to choice_* as suggested by Andrew<br>
   Morton in <a href="mailto:20191023155619.43e0013f0c8c673a5c508c1e@linux-foundation.org">20191023155619.<wbr>43e0013f0c8c673a5c508c1e@<wbr>linux-foundation.org</a><br>
   because other people argumented in favor of shorter names for these<br>
   simple helpers - if they are long and people simply not use due to<br>
   that, we failed<br>
<br>
c. Use string_helper.h for these helpers - pulling string.h in the<br>
   compilations units was one of the concerns and I think re-using this<br>
   already existing header is better than creating a new string-choice.h<br>
<br>
d. This doesn't bring onoff() helper as there are some places in the<br>
   kernel with onoff as variable - another name is probably needed for<br>
   this function in order not to shadow the variable, or those variables<br>
   could be renamed.  Or if people wanting  <someprefix><br>
   try to find a short one<br>
<br>
e. One alternative to all of this suggested by Christian König<br>
   (<a href="mailto:43456ba7-c372-84cc-4949-dcb817188e21@amd.com">43456ba7-c372-84cc-4949-<wbr>dcb817188e21@amd.com</a>) would be to add a<br>
   printk format. But besides the comment, he also seemed to like<br>
   the common function. This brought the argument from others that the<br>
   simple yesno()/enabledisable() already used in the code is easier to<br>
   remember and use than e.g. %py[DOY]<br>
<br>
Last patch also has some additional conversion of open coded cases. I<br>
preferred starting with drm/ since this is "closer to home".<br>
<br>
I hope this is a good summary of the previous attempts and a way we can<br>
move forward.<br>
<br>
Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my<br>
proposal is to take first 2 patches either through mm tree or maybe<br>
vsprintf. Last patch can be taken later through drm.</blockquote><div><br></div><div><br></div><div>I believe the best if we go via drm-misc with the entire series.</div><div><br></div><div>I have couple of comments, after addressing them:</div><div><br></div><div>Reviewed-by: Andy Shevchenko <<a href="mailto:andy.shevchenko@gmail.com">andy.shevchenko@gmail.com</a>></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
thanks<br>
Lucas De Marchi<br>
<br>
Cc: Alex Deucher <<a href="mailto:alexander.deucher@amd.com">alexander.deucher@amd.com</a>><br>
Cc: Andrew Morton <<a href="mailto:akpm@linux-foundation.org">akpm@linux-foundation.org</a>><br>
Cc: Andy Shevchenko <<a href="mailto:andriy.shevchenko@linux.intel.com">andriy.shevchenko@linux.<wbr>intel.com</a>><br>
Cc: Andy Shevchenko <<a href="mailto:andy.shevchenko@gmail.com">andy.shevchenko@gmail.com</a>><br>
Cc: Ben Skeggs <<a href="mailto:bskeggs@redhat.com">bskeggs@redhat.com</a>><br>
Cc: Christian König <<a href="mailto:christian.koenig@amd.com">christian.koenig@amd.com</a>><br>
Cc: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>><br>
Cc: Daniel Vetter <<a href="mailto:daniel@ffwll.ch">daniel@ffwll.ch</a>><br>
Cc: David Airlie <<a href="mailto:airlied@linux.ie">airlied@linux.ie</a>><br>
Cc: David S. Miller <<a href="mailto:davem@davemloft.net">davem@davemloft.net</a>><br>
Cc: Emma Anholt <<a href="mailto:emma@anholt.net">emma@anholt.net</a>><br>
Cc: Eryk Brol <<a href="mailto:eryk.brol@amd.com">eryk.brol@amd.com</a>><br>
Cc: Francis Laniel <<a href="mailto:laniel_francis@privacyrequired.com">laniel_francis@<wbr>privacyrequired.com</a>><br>
Cc: Greg Kroah-Hartman <<a href="mailto:gregkh@linuxfoundation.org">gregkh@linuxfoundation.org</a>><br>
Cc: Harry Wentland <<a href="mailto:harry.wentland@amd.com">harry.wentland@amd.com</a>><br>
Cc: Jakub Kicinski <<a href="mailto:kuba@kernel.org">kuba@kernel.org</a>><br>
Cc: Jani Nikula <<a href="mailto:jani.nikula@linux.intel.com">jani.nikula@linux.intel.com</a>><br>
Cc: Joonas Lahtinen <<a href="mailto:joonas.lahtinen@linux.intel.com">joonas.lahtinen@linux.intel.<wbr>com</a>><br>
Cc: Julia Lawall <<a href="mailto:julia.lawall@lip6.fr">julia.lawall@lip6.fr</a>><br>
Cc: Kentaro Takeda <<a href="mailto:takedakn@nttdata.co.jp">takedakn@nttdata.co.jp</a>><br>
Cc: Leo Li <<a href="mailto:sunpeng.li@amd.com">sunpeng.li@amd.com</a>><br>
Cc: Mikita Lipski <<a href="mailto:mikita.lipski@amd.com">mikita.lipski@amd.com</a>><br>
Cc: Petr Mladek <<a href="mailto:pmladek@suse.com">pmladek@suse.com</a>><br>
Cc: Rahul Lakkireddy <<a href="mailto:rahul.lakkireddy@chelsio.com">rahul.lakkireddy@chelsio.com</a>><br>
Cc: Raju Rangoju <<a href="mailto:rajur@chelsio.com">rajur@chelsio.com</a>><br>
Cc: Rasmus Villemoes <<a href="mailto:linux@rasmusvillemoes.dk">linux@rasmusvillemoes.dk</a>><br>
Cc: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>><br>
Cc: Sakari Ailus <<a href="mailto:sakari.ailus@linux.intel.com">sakari.ailus@linux.intel.com</a>><br>
Cc: Sergey Senozhatsky <<a href="mailto:sergey.senozhatsky@gmail.com">sergey.senozhatsky@gmail.com</a>><br>
Cc: Steven Rostedt <<a href="mailto:rostedt@goodmis.org">rostedt@goodmis.org</a>><br>
Cc: Vishal Kulkarni <<a href="mailto:vishal@chelsio.com">vishal@chelsio.com</a>><br>
<br>
Lucas De Marchi (3):<br>
  lib/string_helpers: Consolidate yesno() implementation<br>
  lib/string_helpers: Add helpers for enable[d]/disable[d]<br>
  drm: Convert open yes/no strings to yesno()<br>
<br>
 drivers/gpu/drm/amd/amdgpu/<wbr>atom.c              |  3 ++-<br>
 .../amd/display/amdgpu_dm/<wbr>amdgpu_dm_debugfs.c  |  6 +-----<br>
 drivers/gpu/drm/drm_client_<wbr>modeset.c           |  3 ++-<br>
 drivers/gpu/drm/drm_dp_helper.<wbr>c                |  3 ++-<br>
 drivers/gpu/drm/drm_gem.c                      |  3 ++-<br>
 drivers/gpu/drm/i915/i915_<wbr>utils.h              | 15 ---------------<br>
 drivers/gpu/drm/nouveau/nvkm/<wbr>subdev/i2c/aux.c  |  4 +++-<br>
 drivers/gpu/drm/radeon/atom.c                  |  3 ++-<br>
 drivers/gpu/drm/v3d/v3d_<wbr>debugfs.c              | 11 ++++++-----<br>
 drivers/gpu/drm/virtio/<wbr>virtgpu_debugfs.c       |  3 ++-<br>
 .../net/ethernet/chelsio/<wbr>cxgb4/cxgb4_debugfs.c | 11 -----------<br>
 include/linux/string_helpers.h                 |  4 ++++<br>
 security/tomoyo/audit.c                        |  2 +-<br>
 security/tomoyo/common.c                       | 18 ++++--------------<br>
 security/tomoyo/common.h                       |  1 -<br>
 15 files changed, 31 insertions(+), 59 deletions(-)<br>
<br>
-- <br>
2.34.1<br>
<br>
</blockquote><br><br>-- <br>With Best Regards,<br>Andy Shevchenko<br><br><br>