Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1565070pxb; Fri, 26 Feb 2021 14:24:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJwcaSyu8Sm4bq23Gjl4nQHWjMPOV62oWQOfQLVw4Hmimz9w99/ACHbAGOEClFovAwu7FP/K X-Received: by 2002:a05:6402:1c0a:: with SMTP id ck10mr5897377edb.318.1614378245247; Fri, 26 Feb 2021 14:24:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614378245; cv=none; d=google.com; s=arc-20160816; b=TZkH0YgRSAS9Sof0L7oxwToMdZKqH8WibxWacZlwQLASGPCc/MfJUR2P6GRBjjkNe3 kkmgfbX1ootyBzDstZoqWfPY3glnxpGsjvGJaedmDomUkfdu3rq6Sj4vuP5IpeL8H31Y COk40GGuUywSvjvX885CKbV3q56ZZUIQT4z+Pf6J/kcTnvKIMQ+F1MCI84hpnEbq9sQQ vVD2D3VJeNg9p+Z6giuG3yToLG9pGx0/ZTFqwOYX55TKaDvevfwbJCgXdWoLU3A9288N UiKn6Lg44xuaAiB0pypzTv4Mn8yWCNHawOmMZwdd3pBK3fdi5RTz1eZR0hG7KIFZwnYW IVqA== 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:to:from:date:dkim-signature; bh=GxUJ2qExrQAW6kSkLGo88Wd6gDhve8/UVNS1OlhAqCM=; b=GxDYCF4xCbibNPNchbWtyGG3cxT0HFYqHG5AGCwxxR2mBbbYjiktcTyCC7Y02adTSz 9gr+lmBWU0OgSfmF+LDiZ6BLd3M7ZfoE/QhIan7RweDcM8b/7p4W09f1VEmx+7O9Vno6 lLHJoh7G7Gv4HaADE0lmz7Wzeg3LR88pGpYweAlqpcXvBSwN2DimPUCnNYIBMsAXJyTQ OzjdlZhE3+IdQoLA8nYHIDCIzn3mNVX5pZkgx4XiqJ4rROWlkAB8Hlyca3NQvcVBqfuF 2WdoXVz1aiDSCShtwXQyVXOQSahagPVbTx7sDWU8AaJW2r3uXkf69n7OQB/sFtiqYWIF /nIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@beagleboard-org.20150623.gappssmtp.com header.s=20150623 header.b=wy501qCf; 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 g12si8423002edj.22.2021.02.26.14.23.42; Fri, 26 Feb 2021 14:24:05 -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=@beagleboard-org.20150623.gappssmtp.com header.s=20150623 header.b=wy501qCf; 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 S230122AbhBZWWI (ORCPT + 99 others); Fri, 26 Feb 2021 17:22:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229990AbhBZWWG (ORCPT ); Fri, 26 Feb 2021 17:22:06 -0500 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 32610C06178A for ; Fri, 26 Feb 2021 14:21:26 -0800 (PST) Received: by mail-pj1-x1033.google.com with SMTP id t9so6811975pjl.5 for ; Fri, 26 Feb 2021 14:21:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beagleboard-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=GxUJ2qExrQAW6kSkLGo88Wd6gDhve8/UVNS1OlhAqCM=; b=wy501qCfbVvyRLwgj7bVOh4004Z2e57xZzkdNRzB7tS3bQiSn04n1o9x9zwTz75oAp 4+YRm15oO2K10rZtAcFgO1lG4NGqduAd7SBPIdvvT/oOAZWuhpjSmWoQ5tej4Ruo0u89 zk61XmxDzxaCbjT/msMZVEFdSU0MmUirSmGKJ3jb2wCmman6P33jNo/644DpL1khGlSY Kwh1nhwU37RlX47DdDmerIzC7wpG6bzzCTyIHcmTHuLsF/+omQgIA0H/7f4d8ITTfRRc L0qSFvCMC39uVpiyrH6vfZ84cp04z+F31i8BM/H3v/Ao+CSd8L1+oeY7hpz6dwEL2PAq qiwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=GxUJ2qExrQAW6kSkLGo88Wd6gDhve8/UVNS1OlhAqCM=; b=VlD8B4pAyxlI/cJNFB9fXb4+S8umisSnOhbIFHcq9cKdsGEbiPXtira9qVFYTE4xHN 040zst9LTZtocViK5wAJsU0b37DTkzJti0WZ7Lvd/pJe41CptDndf8bZZUVN19AXMM6S n8fGb6zRwPUHRh4W5X/OrTBa2Y2+TbBkcP8J0+jHOYe7Pl/vtpCMzM92xJUGcR7Qyytg 2vS9VB+gDtJty+E9beBrsyuNMsRGGzMO+TRqfBEfODkGWCRQZg6cUzGp/tbmExFOYtmy b688xLGEaH9hi2V1r/hy3otctYXOd2pX4wSUgyC6UtZpEmz5tVlkxFMP8czfGtUagJ46 ggbw== X-Gm-Message-State: AOAM532v4+9rb9j6Z50PMD6/cNa0FQ+0QN1IOpF6B5V40uUIQ2X5DCnB zBMWnN5PYPHXkoXm2V7IYoAEqmcguVJT2TZa X-Received: by 2002:a17:903:30c3:b029:e3:c391:6ccd with SMTP id s3-20020a17090330c3b02900e3c3916ccdmr4943630plc.53.1614378085658; Fri, 26 Feb 2021 14:21:25 -0800 (PST) Received: from x1 ([2601:1c0:4701:ae70:6aa6:aac2:3a17:e4e7]) by smtp.gmail.com with ESMTPSA id u1sm6615772pfn.209.2021.02.26.14.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Feb 2021 14:21:25 -0800 (PST) Date: Fri, 26 Feb 2021 14:21:22 -0800 From: Drew Fustini To: Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Tony Lindgren , Andy Shevchenko , Alexandre Belloni , Geert Uytterhoeven , Pantelis Antoniou , Jason Kridner , Robert Nelson , Joe Perches , Dan Carpenter , Jonathan Corbet , linux-doc@vger.kernel.org Subject: Re: [PATCH v8 0/3] pinctrl: pinmux: Add pinmux-select debugfs file Message-ID: <20210226222122.GA725305@x1> References: <20210220202750.117421-1-drew@beagleboard.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210220202750.117421-1-drew@beagleboard.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Feb 20, 2021 at 12:27:47PM -0800, Drew Fustini wrote: > This series first converts the debugfs files in the pinctrl subsystem to > octal permissions and then adds a new debugfs file "pinmux-select". > > Group name and function name can be written to "pinmux-select" which > will cause the pin function for the specified group to be activated on > the pin controller. > > The final patch in this series documents the debugfs files for pinctrl. > > Notes for PATCH v8: > - add 'Reviewed-by:' from Geert Uytterhoeven for pinmux-select patch > - add 'Tested-by:' from Geert Uytterhoeven for pinmux-select patch > - change pinmux-select format to '' based on > feedback from Geert > - rephrase parts of documentation per Geert's comments > > Notes for PATCH v7: > - add 'Reviewed-by:' from Andy Shevchenko for pinmux-select patch > - add 'Reviewed-by:' from Andy Shevchenko for documentation patch > - add 'Reviewed-by:' from Tony Lindgren to all patches > - change order of '#include ' per Andy's suggestion > - change PINMUX_SELECT_MAX back to 128 as I had accidentally changed it > to 50 and Andy pointed this out. > - grammer fixes as suggested by Andy > - rework assignment of fsel and ret from pinmux_func_name_to_selector() > - rework assignment of gsel and ret from pinctrl_get_group_selector() > > Notes for PATCH v6: > - add 'Suggested-by:' for Joe Perches to octal permissions patch > - add 'Reviewed-by:' from Andy and Geert to octal permissions patch > - reword example in the pinmux-select patch per Andy's advice > - indent the example output per Andy's advice > - remove usage error messages as Andy advised it is too verbose > - return -ENOMEM when write is too big for the input buffer per Andy's advice > - handle whitespace before, in between, and after the function name and > group name as suggested by Andy > - rename free_buf to exit_free_buf per Andy's advice > - add documentation patch to series which documents the debugfs files > for the pinctrl subsystem including the new pinmux-select file > > Notes for PATCH v5: > - convert permissions from symbolic to octal for debugfs_create_file() > calls in core.c that Joe Perches pointed out I had missed > - Linus W: please let me know if I should break this series apart as you > already applied an earlier version of octal conversion patch today [1] > - switch from sscanf() to just pointing to function name and group name > inside of the buffer. This also avoids having to allocate additional > buffers for fname and gname. Geert and Andy highlighted this security > issue and Andy suggested code to use instead of sscanf(). > - switch from devm_kfree() to kfree() after Dan Carpenter warned me > - remove .read from pinmux_select_ops per Geert since it is write only > - add usage format to error when unable find fname or gname in buffer > > Notes for PATCH v4: > - correct the commit message in the second patch to reference function > and group name instead of integer selectors. Apologies for not fixing > that in v3 > - fix typos in cover letter > > Notes for PATCH v3: > - add Suggested-by: Andy Shevchenko to the "pinctrl: use to octal > permissions for debugfs files" patch > - change the octal permissions from 0400 to 0444 to correctly match the > symbolic permissions (thanks to Joe Perches and Geert Uytterhoeven) > - note that S_IFREG flag is added to the mode in __debugfs_create_file() > (thanks to Andy for highlighting this and Joe for suggesting I should > add a note to the commit message) > - fix order of the goto labels so that the buffers are freed correctly > as suggested by Dan Carpenter > - move from devm_kzalloc() to kzalloc() as the buffers are only used > inside the pinmux_select() function and not related to the lifetime > of the pin controller device (thanks to Andy for pointing this out) > - correct the pinmux-select example in commit message to use the > function and group name instead of selector (thanks to Geert) > > Notes for PATCH v2: > - create patch series that includes patch to switch all the debugfs > files in pinctrl subsystem over to octal permission > - write function name and group name, instead of error-prone selector > numbers, to the 'pinmux-select' file > - switch from static to dynamic allocation for the kernel buffer filled > by strncpy_from_user() > - look up function selector from function name using > pinmux_func_name_to_selector() > - validate group name with get_function_groups() and match_string() > - look up selector for group name with pinctrl_get_group_selector() > > Notes for PATCH v1: > - posted seperate patch to switch all the debugfs files in pinctrl > subsystem over to octal permission > - there is no existing documentation for any of the debugfs enteries for > pinctrl, so it seemed to have a bigger scope than just this patch. I > also noticed that rst documentation is confusingly named "pinctl" (no > 'r') and started thread about that [2]. Linus suggested chaning that > to 'pin-control'. Thus I am planning a seperate documentation patch > series where the file is renamed, references changed and a section on > the pinctrl debugfs files is added. > > Notes for RFC v2 [3]: > - rename debugfs file "pinmux-set" to "pinmux-select" > - renmae pinmux_set_write() to pinmux_select() > - switch from memdup_user_nul() to strncpy_from_user() > - switch from pr_warn() to dev_err() > > [1] https://lore.kernel.org/linux-gpio/20210126044742.87602-1-drew@beagleboard.org/ > [2] https://lore.kernel.org/linux-gpio/20210126050817.GA187797@x1/ > [3] https://lore.kernel.org/linux-gpio/20210123064909.466225-1-drew@beagleboard.org/ > > Drew Fustini (3): > pinctrl: use to octal permissions for debugfs files > pinctrl: pinmux: Add pinmux-select debugfs file > docs/pinctrl: document debugfs files > > Documentation/driver-api/pinctl.rst | 37 ++++++++++ > drivers/pinctrl/core.c | 12 ++-- > drivers/pinctrl/pinconf.c | 4 +- > drivers/pinctrl/pinmux.c | 106 +++++++++++++++++++++++++++- > 4 files changed, 149 insertions(+), 10 deletions(-) > > -- > 2.25.1 > Does any have any additional feedback for any of the patches in this series? Thank you! DRew