Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1242774pxb; Fri, 21 Jan 2022 13:10:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJwPCRSQMY7+/quaXmzkWsTSAeMMysZw10UaZbKagkI1JfIPtYf2CCGsTcVRROVjUSEi6eEl X-Received: by 2002:a63:c5e:: with SMTP id 30mr4108942pgm.522.1642799446644; Fri, 21 Jan 2022 13:10:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642799446; cv=none; d=google.com; s=arc-20160816; b=NfkqWknBDmg8Fu4pCrMbeib6H6FLjQQj+NpB/wAv7qRa6zXK0oobd++QmU9FiWwuDK Dj0LqAu14UaLpN9dL6im548Tj8kS8maw3xry0jCUxnJ90rNhjAjc7W71mf9a/+r6va4v +TZNqwsJL8riubeWj+4HbzyoJ8t1zKzW5ExUkitbvOEghisnagX2q44LkXOSofRHyEBU imWH6NuV0CaF7koTkfN8TzUUdqyIJjjtZvfdN/FCRbI6e2G1T5Kqm2YbT62aBQw7WOSn QTvPR6zaZF/L0UDFTGbE0K14XGSrBE6LX8E90BXgMO1S0XLD4aKAb+A6cewYOPnwtUQx lgHQ== 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-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=S1149P6IJdsdpbMcrXZq6Mc6WqPqJoBvK3pMWsa4MN8=; b=UB2lnoQnVfn64uuekC2EJf6sj0L9nnUtvA+zeskk7EJ6voVwi5HuyCSM0CYs4dIwdW cpq8ZY65SFX96ZS1PheSZ7aIvt1Hwl+76gz90v1+FHrEG913/kjNiFG3D1x8OztIFB1q TBqsiofnCWloxxQN4BxSVO/bg516xm6ftEGqcECrluomJ5FXDJOvBQBi7Q00z3sHYBnW /KPxiANgY+ctrrxRZdgyhVLzwk2Qa2Cn+DAaCJuvzqyEemkGQwxfL7FEdVM5HRC9ixg1 a1YGm2xvRPX1FeWqZsJ1D7V8MfmyuImVAlBxvpBMhoIviPrPxfPEpUMwFAGeXNZdjo+1 Sirg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=mgVK2GKX; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k22si6719954pls.433.2022.01.21.13.10.34; Fri, 21 Jan 2022 13:10:46 -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=@suse.com header.s=susede1 header.b=mgVK2GKX; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1359320AbiATIiQ (ORCPT + 99 others); Thu, 20 Jan 2022 03:38:16 -0500 Received: from smtp-out2.suse.de ([195.135.220.29]:56146 "EHLO smtp-out2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1359292AbiATIiM (ORCPT ); Thu, 20 Jan 2022 03:38:12 -0500 Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id 1F79E1F391; Thu, 20 Jan 2022 08:38:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1642667889; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=S1149P6IJdsdpbMcrXZq6Mc6WqPqJoBvK3pMWsa4MN8=; b=mgVK2GKX4z682928eNQNmcKH4PlzeX6XpPLxSucJKp6GDejDBl9xGnHm3EQ7m1HB7u4s0x HmV98Y94Jgx4BP2N49y70kzTAsfC49uladYoyY9u+lMOkRTYf7K7VjPT83DyGrKubQrpNL 4X9INnLQQrZk7xUamCgzquBLJDcbk7E= Received: from suse.cz (unknown [10.100.224.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id 1E602A3B81; Thu, 20 Jan 2022 08:38:04 +0000 (UTC) Date: Thu, 20 Jan 2022 09:38:04 +0100 From: Petr Mladek To: Jani Nikula Cc: 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: References: <20220119072450.2890107-1-lucas.demarchi@intel.com> <87tudzbykz.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87tudzbykz.fsf@intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 2022-01-19 16:16:12, Jani Nikula wrote: > On Wed, 19 Jan 2022, Petr Mladek wrote: > > On Tue 2022-01-18 23:24:47, Lucas De Marchi wrote: > >> 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. It is also possible to support both notations at the beginning. And convert the existing users in the 2nd step. > 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, and I am sorry for bikeshedding. Honestly, I do not know what is better. This is why I do not want to block this series when others like this. My main motivation is to point out that: enabledisable(enable) might be, for some people, more eye bleeding than enable ? "enable" : "disable" The problem is not that visible with yesno() and onoff(). But as you said, onoff() confliscts with variable names. And enabledisable() sucks. As a result, there is a non-trivial risk of two mass changes: now: - contition ? "yes" : "no" + yesno(condition) a few moths later: - yesno(condition) + str_yes_no(condition) Best Regards, Petr