Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1187484pxb; Fri, 21 Jan 2022 11:48:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJyYOajnOfomUetw6RnybU9pmUR1nKrNQYADhhjIYxGvN9hzKX4dzMXIYeAlB6Gavf79DI48 X-Received: by 2002:a17:903:124c:b0:149:b16d:917e with SMTP id u12-20020a170903124c00b00149b16d917emr5142947plh.91.1642794495574; Fri, 21 Jan 2022 11:48:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642794495; cv=none; d=google.com; s=arc-20160816; b=RL/+82HjoSbCdUyj4nvOmTD+H0lmWXOzQuoi+dHAe/wUHF4Q/1Tq7tUYEAZO6EwMfn LhxUQ4yXeoUQRK+RuxuPDPqO9yUzOyopCCvclEz0OTdsNeK4ULsiVIy1xySLQFXkQK4j xWTITjH4Q9IHzf7/jzisjqNdPmusoib2mS+CgJtO8EimNaiWQo/OY+jtiNuNTZA9p+xC w0lOT1rvay1K580HO5RTJ/zjgsNMfaFlHxH2q6PNhJ5kkDKYYPUJ5CoDwJyzPfpX5UnQ 9UBiMpWgU4jUlsDFKeSVUQKAeXWr7TLpSvDUWSE26WBvjp3lWuwERuEMXPAC6M+6e1On 93DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:dkim-signature; bh=/740EhzwYoGWwplLvQqVEtpoUmpyOdkwft+pAru/eUg=; b=XILTmtdSmc1iiub0weR6eHKknnnND7qzHK090zctonK1tjRhHMLcffNhQXmjO2yiX1 YFhzygu/7KytkM70lgqmQfVVI2hotNzOLeyEBHLG/tHRISXC5WZYJdZr0qugoAuaSVcl FtNsOjxuj0O21Hgj4gxUc2SvXfffxUCmIlISJa1JRWK+QsEDo9eL5X0899eJ4hyJ0okV IBw41wUQT439wYQg1NRVKWdxisKO21Uia18/OVl4/vKX73wo9FZFyp/F711W7uNdhdRV aZqP0CfnyA1QcMTjadIfjKLNXn1RLh8VCbTsyOMK5HEq0fT4MK9lC90ZWx4KRgmMuwO+ tifw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=CLleadD2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z11si9441468pjc.23.2022.01.21.11.48.03; Fri, 21 Jan 2022 11:48:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=CLleadD2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353544AbiASQPJ (ORCPT + 99 others); Wed, 19 Jan 2022 11:15:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346196AbiASQPI (ORCPT ); Wed, 19 Jan 2022 11:15:08 -0500 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97365C061574 for ; Wed, 19 Jan 2022 08:15:07 -0800 (PST) Received: by mail-wm1-x32e.google.com with SMTP id v123so6068623wme.2 for ; Wed, 19 Jan 2022 08:15:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=/740EhzwYoGWwplLvQqVEtpoUmpyOdkwft+pAru/eUg=; b=CLleadD2rlpyVmC2Y6vZSEoLi9LN/RUvstwkUMHlt3h7gHDd+Twhzs8oNKymBLJ71M +mCmZ512cWOY8OIf9l9LSqDn0RzEX5N4nNE80SRlE4EPdjhpbA+VFlLjEUNdd6c7+gmz hc/Es0b3squc/LZ7AtYoKuJMwS6NkmXhvHLNA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :content-transfer-encoding:in-reply-to; bh=/740EhzwYoGWwplLvQqVEtpoUmpyOdkwft+pAru/eUg=; b=p6y3l3RCHQ4Gj5ea99uibKBEvRUkPJVdjD4At+9G3zBDf/yF1JC1uKH5vGWe544jfJ Fi9Bvpbg2o8A/saL944MaQDDdpRZeETHBZsigD80Z8BVHfeVxa/1wMIhVcqjXGTQMnku kXynZpqm3c9vL/Ag8dUfqg9yJEtIjeBfECbIzUH2jhlyyVXyxR/5cdMiBNHGuHkRdQyF p0fJCadX/0noR5LqJ+AKkQJbVA8QV21ySi1TXF6Lq9h2nVgqtA3MwE+1SD59dr0sMR2Y Cbrr/aCfYEN0U50BNzKRQQ5QEkBjDb3wUTSfONqj6PR/d+A+mLq40qWWWamf+qIihmLN 7akw== X-Gm-Message-State: AOAM532k4cImOn71oaqm5ZQZ5rxxNFc2aOfwHUa7+SVGKeXvPu5WjGSV flEqRwg1utNsgssVstCWAQMMIw== X-Received: by 2002:adf:fb84:: with SMTP id a4mr30060043wrr.315.1642608906005; Wed, 19 Jan 2022 08:15:06 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id o13sm298372wrq.37.2022.01.19.08.15.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Jan 2022 08:15:05 -0800 (PST) Date: Wed, 19 Jan 2022 17:15:02 +0100 From: Daniel Vetter To: Jani Nikula Cc: Petr Mladek , Lucas De Marchi , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-security-module@vger.kernel.org, nouveau@lists.freedesktop.org, netdev@vger.kernel.org, Alex Deucher , Andrew Morton , Andy Shevchenko , Andy Shevchenko , Ben Skeggs , Christian =?iso-8859-1?Q?K=F6nig?= , Chris Wilson , Daniel Vetter , David Airlie , "David S . Miller" , Emma Anholt , Eryk Brol , Francis Laniel , Greg Kroah-Hartman , Harry Wentland , Jakub Kicinski , Joonas Lahtinen , Julia Lawall , Kentaro Takeda , Leo Li , Mikita Lipski , Rahul Lakkireddy , Raju Rangoju , Rasmus Villemoes , Rodrigo Vivi , Sakari Ailus , Sergey Senozhatsky , Steven Rostedt , Vishal Kulkarni Subject: Re: [PATCH 0/3] lib/string_helpers: Add a few string helpers Message-ID: Mail-Followup-To: Jani Nikula , Petr Mladek , Lucas De Marchi , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-security-module@vger.kernel.org, nouveau@lists.freedesktop.org, netdev@vger.kernel.org, Alex Deucher , Andrew Morton , Andy Shevchenko , Andy Shevchenko , Ben Skeggs , Christian =?iso-8859-1?Q?K=F6nig?= , Chris Wilson , David Airlie , "David S . Miller" , Emma Anholt , Eryk Brol , Francis Laniel , Greg Kroah-Hartman , Harry Wentland , Jakub Kicinski , Joonas Lahtinen , Julia Lawall , Kentaro Takeda , Leo Li , Mikita Lipski , Rahul Lakkireddy , Raju Rangoju , Rasmus Villemoes , Rodrigo Vivi , Sakari Ailus , Sergey Senozhatsky , Steven Rostedt , Vishal Kulkarni References: <20220119072450.2890107-1-lucas.demarchi@intel.com> <87tudzbykz.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87tudzbykz.fsf@intel.com> X-Operating-System: Linux phenom 5.10.0-8-amd64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 19, 2022 at 04:16:12PM +0200, Jani Nikula wrote: > On Wed, 19 Jan 2022, Petr Mladek wrote: > > On Tue 2022-01-18 23:24:47, Lucas De Marchi 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.nikula@intel.com/ > >> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@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. > >> > >> 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 > >> try to find a short one > > > > I would call it str_on_off(). > > > > And I would actually suggest to use the same style also for > > the other helpers. > > > > The "str_" prefix would make it clear that it is something with > > string. There are other _on_off() that affect some > > functionality, e.g. mute_led_on_off(), e1000_vlan_filter_on_off(). > > > > The dash '_' would significantly help to parse the name. yesno() and > > onoff() are nicely short and kind of acceptable. But "enabledisable()" > > is a puzzle. > > > > IMHO, str_yes_no(), str_on_off(), str_enable_disable() are a good > > compromise. > > > > The main motivation should be code readability. You write the > > code once. But many people will read it many times. Open coding > > is sometimes better than misleading macro names. > > > > That said, I do not want to block this patchset. If others like > > it... ;-) > > I don't mind the names either way. Adding the prefix and dashes is > helpful in that it's possible to add the functions first and convert > users at leisure, though with a bunch of churn, while using names that > collide with existing ones requires the changes to happen in one go. > > What I do mind is grinding this series to a halt once again. I sent a > handful of versions of this three years ago, with inconclusive > bikeshedding back and forth, eventually threw my hands up in disgust, > and walked away. Yeah we can sed this anytime later we want to, but we need to get the foot in the door. There's also a pile more of these all over. Acked-by: Daniel Vetter on the series, maybe it helps? And yes let's merge this through drm-misc. -Daniel > > > > > > >> e. One alternative to all of this suggested by Christian K?nig > >> (43456ba7-c372-84cc-4949-dcb817188e21@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] > > > > Thanks for not going this way :-) > > > >> 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. > >> > >> 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. > > > > I agree with Andy that it should go via drm tree. It would make it > > easier to handle potential conflicts. > > > > Just in case, you decide to go with str_yes_no() or something similar. > > Mass changes are typically done at the end on the merge window. > > The best solution is when it can be done by a script. > > > > Best Regards, > > Petr > > -- > Jani Nikula, Intel Open Source Graphics Center -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch