On Tue, 18 Jan 2022, Lucas De Marchi <lucas.demar...@intel.com> wrote: > Add some helpers under lib/string_helpers.h so they can be used > throughout the kernel. When I started doing this there were 2 other > previous attempts I know of, not counting the iterations each of them > had: > > 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nik...@intel.com/ > 2) > https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevche...@linux.intel.com/#t > > Going through the comments I tried to find some common ground and > justification for what is in here, addressing some of the concerns > raised. > > a. This version should be a drop-in replacement for what is currently in > the tree, with no change in behavior or binary size. For binary > size what I checked wat that the linked objects in the end have the > same size (gcc 11). From comments in the previous attempts this seems > also the case for earlier compiler versions > > b. I didn't change the function name to choice_* as suggested by Andrew > Morton in 20191023155619.43e0013f0c8c673a5c508...@linux-foundation.org > because other people argumented in favor of shorter names for these > simple helpers - if they are long and people simply not use due to > that, we failed > > c. Use string_helper.h for these helpers - pulling string.h in the > compilations units was one of the concerns and I think re-using this > already existing header is better than creating a new string-choice.h > > d. This doesn't bring onoff() helper as there are some places in the > kernel with onoff as variable - another name is probably needed for > this function in order not to shadow the variable, or those variables > could be renamed. Or if people wanting <someprefix> > try to find a short one > > e. One alternative to all of this suggested by Christian König > (43456ba7-c372-84cc-4949-dcb817188...@amd.com) would be to add a > printk format. But besides the comment, he also seemed to like > the common function. This brought the argument from others that the > simple yesno()/enabledisable() already used in the code is easier to > remember and use than e.g. %py[DOY] > > Last patch also has some additional conversion of open coded cases. I > preferred starting with drm/ since this is "closer to home". > > I hope this is a good summary of the previous attempts and a way we can > move forward.
Thanks for picking this up again. I agree with the approach here. Acked-by: Jani Nikula <jani.nik...@intel.com> > > Andrew Morton, Petr Mladek, Andy Shevchenko: if this is accepted, my > proposal is to take first 2 patches either through mm tree or maybe > vsprintf. Last patch can be taken later through drm. > > thanks > Lucas De Marchi > > Cc: Alex Deucher <alexander.deuc...@amd.com> > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Andy Shevchenko <andriy.shevche...@linux.intel.com> > Cc: Andy Shevchenko <andy.shevche...@gmail.com> > Cc: Ben Skeggs <bske...@redhat.com> > Cc: Christian König <christian.koe...@amd.com> > Cc: Chris Wilson <ch...@chris-wilson.co.uk> > Cc: Daniel Vetter <dan...@ffwll.ch> > Cc: David Airlie <airl...@linux.ie> > Cc: David S. Miller <da...@davemloft.net> > Cc: Emma Anholt <e...@anholt.net> > Cc: Eryk Brol <eryk.b...@amd.com> > Cc: Francis Laniel <laniel_fran...@privacyrequired.com> > Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> > Cc: Harry Wentland <harry.wentl...@amd.com> > Cc: Jakub Kicinski <k...@kernel.org> > Cc: Jani Nikula <jani.nik...@linux.intel.com> > Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com> > Cc: Julia Lawall <julia.law...@lip6.fr> > Cc: Kentaro Takeda <taked...@nttdata.co.jp> > Cc: Leo Li <sunpeng...@amd.com> > Cc: Mikita Lipski <mikita.lip...@amd.com> > Cc: Petr Mladek <pmla...@suse.com> > Cc: Rahul Lakkireddy <rahul.lakkire...@chelsio.com> > Cc: Raju Rangoju <ra...@chelsio.com> > Cc: Rasmus Villemoes <li...@rasmusvillemoes.dk> > Cc: Rodrigo Vivi <rodrigo.v...@intel.com> > Cc: Sakari Ailus <sakari.ai...@linux.intel.com> > Cc: Sergey Senozhatsky <sergey.senozhat...@gmail.com> > Cc: Steven Rostedt <rost...@goodmis.org> > Cc: Vishal Kulkarni <vis...@chelsio.com> > > Lucas De Marchi (3): > lib/string_helpers: Consolidate yesno() implementation > lib/string_helpers: Add helpers for enable[d]/disable[d] > drm: Convert open yes/no strings to yesno() > > drivers/gpu/drm/amd/amdgpu/atom.c | 3 ++- > .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 6 +----- > drivers/gpu/drm/drm_client_modeset.c | 3 ++- > drivers/gpu/drm/drm_dp_helper.c | 3 ++- > drivers/gpu/drm/drm_gem.c | 3 ++- > drivers/gpu/drm/i915/i915_utils.h | 15 --------------- > drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c | 4 +++- > drivers/gpu/drm/radeon/atom.c | 3 ++- > drivers/gpu/drm/v3d/v3d_debugfs.c | 11 ++++++----- > drivers/gpu/drm/virtio/virtgpu_debugfs.c | 3 ++- > .../net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 11 ----------- > include/linux/string_helpers.h | 4 ++++ > security/tomoyo/audit.c | 2 +- > security/tomoyo/common.c | 18 ++++-------------- > security/tomoyo/common.h | 1 - > 15 files changed, 31 insertions(+), 59 deletions(-) -- Jani Nikula, Intel Open Source Graphics Center