From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 261F8C433E2 for ; Wed, 9 Sep 2020 00:03:58 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C5E2321556 for ; Wed, 9 Sep 2020 00:03:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="TGYLuwqh"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nB2KDW+O" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5E2321556 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SBaFiaSxZ99ru15D9YCtdhH3Yp+FV445lpNIHh8f+vM=; b=TGYLuwqhawiNoHnf9oQYQxTKS 6Z/5Ituaho+vfZjSf6h7ebQQsxdHkVKZLlerGt79YrSIHEXVXj2emwbD2t7zy8H4zkfXE173BWR9/ QrRHcFT8J2ETzGFpNJ4qQLFerIYUxPPLgP0bTxjTfF27bH537iCQQpVnN58UxcO17n7xgOapHOZKP PY6PtyP2/deBsYMSo7oSDJxNOD9r7yE1M7VjMbW0WCjq+NltQipsKtDV6b6duXuz2FMoq/pNuPcu6 qqF3Z+f9GLqEXnsgDYMoQzdsupm9BEAeEBxkYTPsGZH8W8rzUa1DazH8xj/vsf4YjGFbqopWHWghV oFfV+FlsA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFnZ6-00019i-5Z; Wed, 09 Sep 2020 00:02:20 +0000 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kFnZ3-00018q-Sw for linux-arm-kernel@lists.infradead.org; Wed, 09 Sep 2020 00:02:18 +0000 Received: by mail-pg1-x543.google.com with SMTP id v15so705310pgh.6 for ; Tue, 08 Sep 2020 17:02:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y360yayiYOlJxCwr5rfn4KJb8o+8ztUz73tehQvWcw8=; b=nB2KDW+OR3WPaSBsU4mvY6t5wlDL3Q3x+eUGspx4Q+OeIiVcDwU8IXooaN2P+zVym7 AiiTFYHMzCR2bVvtK5J2UIl70gKwRJDwVNo9dr5QIS5WbMx6fCfdh0g7Duh4ve4IbgJ1 u+ZtXBw56z07JaNwoXaYnHZeeg7gozrF2Kqgt/FUhJmUzm7FsSIJkP4Bp2CtgMI73zin Z0Kta8k5Q9c0BCXrc3zoaAfd3xTElFTeO1S2e6KAy57oblpMnLAlqMYzJrNDb3py4ZdX WzxS4Qrc4L6KCG9RA7NkHhaoHgrS7/LJuXx+bVMXtIEKZbYvUlno+aGUVJD8zcFk4qli eM9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y360yayiYOlJxCwr5rfn4KJb8o+8ztUz73tehQvWcw8=; b=IZUuJTSJLzoyGwejUH4FS81rC55mWV170+4MYow5kRO460svoBHbZu+folzRvPsc/1 1fx9s58SJSNVGEgo1qJaqXiiytzoY5gxUTISO+m6z3obVsPzlxP5cWP7WBjbwEwePeb6 0oGJBMMOpNuJbTnICH4R9dXaGMEKH1k7gDY3yLn+YJgDaAN6FA83VsQ98qVVesqtGGv6 QDXUOW8GXnCJYQXpfTsQZCVAI5p4M3/+BQCEbaGlHKKHj5hCDaIXOM760xbhqa8IWYx0 5yPdy+FvNTQsr6HLs4cdB4PZLdCT0sdGwmqJEItFLSf3xkMJkET+8hs75M5y/JODT4nZ iizA== X-Gm-Message-State: AOAM531UIH2eZsKdd18JgTUW/Qjxak+sXDdJd03vUEkg7qXKd3DuvMeL nwZr0koeMt9c7+Frj1w2Sm5HkXGQP3DmzEH3 X-Google-Smtp-Source: ABdhPJz9b8f5fWVX9O69rFi5FU4utYtNyPoAMzrRpPE1kXlTGjA+Da2t+c7sAX61071qBkj98UdmIA== X-Received: by 2002:aa7:80cc:: with SMTP id a12mr1161340pfn.4.1599609732930; Tue, 08 Sep 2020 17:02:12 -0700 (PDT) Received: from zen.local (174-21-64-208.tukw.qwest.net. [174.21.64.208]) by smtp.gmail.com with ESMTPSA id a13sm146249pgq.41.2020.09.08.17.02.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2020 17:02:12 -0700 (PDT) From: Trent Piepho To: linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v4 1/2] pinctrl: single: parse #pinctrl-cells = 2 Date: Tue, 08 Sep 2020 16:52:58 -0700 Message-ID: <3139716.CMS8C0sQ7x@zen.local> In-Reply-To: <20200701013320.130441-2-drew@beagleboard.org> References: <20200701013320.130441-1-drew@beagleboard.org> <20200701013320.130441-2-drew@beagleboard.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200908_200217_936350_F8B21C74 X-CRM114-Status: GOOD ( 15.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, Drew Fustini , Linus Walleij , linux-kernel@vger.kernel.org, Tony Lindgren , Jason Kridner , Rob Herring , Haojian Zhuang , bcousson@baylibre.com, linux-omap@vger.kernel.org, Robert Nelson Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tuesday, June 30, 2020 6:33:19 PM PDT Drew Fustini wrote: > If "pinctrl-single,pins" has 3 arguments (offset, conf, mux), then > pcs_parse_one_pinctrl_entry() does an OR operation on conf and mux to > get the value to store in the register. > - vals[found].val = pinctrl_spec.args[1]; > + > + switch (pinctrl_spec.args_count) { > + case 2: > + vals[found].val = pinctrl_spec.args[1]; > + break; > + case 3: > + vals[found].val = (pinctrl_spec.args[1] | pinctrl_spec.args[2]); > + break; > + } > > dev_dbg(pcs->dev, "%pOFn index: 0x%x value: 0x%x\n", > pinctrl_spec.np, offset, pinctrl_spec.args[1]); If #pinctrl-cells value is greater than 2, nothing will set vals[found].val to anything other than zero (from when it's calloc'ed) and the pinctrl will silently be programmed to zero. The debug printout was not change to print vals[found].val, so it will continue to print the value of the 2nd cell. The result is that a #pinctrl-cells of 3 will produce no warning or error, program the pinctrl to zero, whilst at the same time emit debug log messages that it is programming the expected values. The device tree documentation still states that #pinctrl-cells must be 1 when using pinctrl-single,pins. This new special case of ORing two values is not documented. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel