Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp4006422pxt; Tue, 10 Aug 2021 17:22:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz73T0n+Xm4f+GQhSx9Rkr8QFtM8cRXXYBDUiQ4VpQxs8GJRgs1YfygWmrIITS5xHhfrAFo X-Received: by 2002:a17:906:9c84:: with SMTP id fj4mr1049513ejc.180.1628641330162; Tue, 10 Aug 2021 17:22:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628641330; cv=none; d=google.com; s=arc-20160816; b=P5vVOgSMVR4LgZoelFCKORJCAx/eC3hifQlP4HHnjeOP4QoV6Lw3F/cFnkH20ZMgP7 QV4Moi7O6ARqDM9qpRmOUcxD9dxzDD9tebSFdcSESYbM5MhxO0EXVGosiBJPLsb++FX/ yJJj3rMjFUlG84J7znXd9jbIwFVKP/IcgMHfDNVbSaRgKqHLcW4I6r8G2M21GsO7Enq9 glv2D8o490S+N+OrHI69jIQZeABxlrG5MUYZgtrdBVMVHKX9bP1QpUvZ2n582yD5p8A9 E+qLTr843BIAOkOjFGE/nUAsX4rlwxStzQuwVNd7YUbOhO/Oeuiwz7vwgZxgYaIBU+MU OdLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:cc:to:from:date:references:in-reply-to :message-id:mime-version:user-agent:dkim-signature:dkim-signature; bh=TJnR3Y1jRHyuvNKz98aoSVU7LBqrfX9Q1XFcqdbpwL0=; b=QLN1lGQcPSnLq2Y7vsxvSHhQ8DkfBeiHSC7OK7WktzRqS1uZuoupUmlhlGdPSMJ98R 4qg2TVKZvCE+S0DsJ7rmSYob0J4eUhGIG4+jvYSJqiQJ2lT5CcQtwH3oSeWKZFr6cZeW M+gH6zCpqGjtrx5WUPD7RNsWpKyBDcP7l2c0iuG1Vk+nPkWF0055fL6dZFwn05a/lBVr XctxO5LJl8QhcOMZ6ddj8ocBR8VKV9rxqW9yY/X+i953ARzGYlfx0J5jKdAK9YK62YRt JYkHNs8gghIwYOSN7ouFzIDicJRRPWrarn8FCUbVyC6QaWotlHhs+rWBMnFuMc4+HMIk c1YQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@aj.id.au header.s=fm3 header.b=otc4PnNA; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=ZSUuRYKC; 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 8si22305958ejl.292.2021.08.10.17.21.45; Tue, 10 Aug 2021 17:22:10 -0700 (PDT) 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=@aj.id.au header.s=fm3 header.b=otc4PnNA; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=ZSUuRYKC; 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 S235887AbhHKAUO (ORCPT + 99 others); Tue, 10 Aug 2021 20:20:14 -0400 Received: from new3-smtp.messagingengine.com ([66.111.4.229]:53659 "EHLO new3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235692AbhHKAUN (ORCPT ); Tue, 10 Aug 2021 20:20:13 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.nyi.internal (Postfix) with ESMTP id 4019058041A; Tue, 10 Aug 2021 20:19:50 -0400 (EDT) Received: from imap43 ([10.202.2.93]) by compute2.internal (MEProxy); Tue, 10 Aug 2021 20:19:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aj.id.au; h= mime-version:message-id:in-reply-to:references:date:from:to:cc :subject:content-type; s=fm3; bh=TJnR3Y1jRHyuvNKz98aoSVU7LBqrfX9 Q1XFcqdbpwL0=; b=otc4PnNARgoLm1XBiDUZWQ8vgpp/dj0SeUE3PcX17toYGay SLVTUGVuw9SgBR623QsWDhaHx594itB5W6LGMjYcb3mRnBdj/lj4PosvJfI/lYwd cmAE+ZP7K9QckxMGAwQ/S/zSXaKpy0nCEooyyK0jIsErAs0fwu1WKxqvQkaR9fvX g98qBCk3+1W/H9N+9Vm0cTf7chZ4eqf7pXRulyxZ3907MoYBBPAhdb2tq0+3K5m+ WWcNrQgnJf+wt+QcCAn9IEeqbpYGKvMSK6/A93kBe9ICmS5yWoO4rBEP+V07SJkC p0Osqu9r2ZTc4dUcME63iniXInzHVX2kM57MvCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=TJnR3Y 1jRHyuvNKz98aoSVU7LBqrfX9Q1XFcqdbpwL0=; b=ZSUuRYKCUqHRZBsFFklFyz IoHgNcnsC9GQLtyhUERApUoK46BH/NzfAV4S6U525WMZqiEOXYetQEXYnPnIAp85 ZyxufUwGuO8RRnqOJ7ZY7Wk9EqYWIrJXx+xo/Bz9iR8PyRSue9rVt328dF6TNNPw 0svbooiiaPdEDDVJXD37f2g9bRtNOGSd9/7K/BYEL16o/vxkZiQFNRQmqvM1E/mv xyg7jEup2VIfpm2odPeJK+/O2vFaYfknt/JRevmlQLqDz9K1r8yoiFNSCnMPjVjE yAbxejAhkjFF72bxuJBXVwZyXEYZv2Hy/BH4bW7iUjOk0lLvEeSG/xfMvobNpWUA == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrkedtgdeftdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsehttdertderredtnecuhfhrohhmpedftehnughr vgifucflvghffhgvrhihfdcuoegrnhgurhgvfiesrghjrdhiugdrrghuqeenucggtffrrg htthgvrhhnpeehhfefkefgkeduveehffehieehudejfeejveejfedugfefuedtuedvhefh veeuffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe grnhgurhgvfiesrghjrdhiugdrrghu X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 91878AC0DD0; Tue, 10 Aug 2021 20:19:47 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-554-g53a5f93b7d-fm-20210809.002-g53a5f93b Mime-Version: 1.0 Message-Id: <96e52916-f113-4a91-b83f-e0de144611ca@www.fastmail.com> In-Reply-To: References: <20210723075858.376378-1-andrew@aj.id.au> <20210723075858.376378-5-andrew@aj.id.au> Date: Wed, 11 Aug 2021 09:49:05 +0930 From: "Andrew Jeffery" To: "Linus Walleij" Cc: "Linux LED Subsystem" , "open list:GPIO SUBSYSTEM" , =?UTF-8?Q?C=C3=A9dric_Le_Goater?= , "Rob Herring" , "Joel Stanley" , "Pavel Machek" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "Linux ARM" , linux-aspeed , linux-kernel Subject: Re: [RFC PATCH 4/6] leds: pca955x: Use pinctrl to map GPIOs to pins Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 10 Aug 2021, at 23:24, Linus Walleij wrote: > On Fri, Jul 23, 2021 at 9:59 AM Andrew Jeffery wrote: > > > The leds-pca955x driver currently assumes that the GPIO numberspace and > > the pin numberspace are the same. This quickly falls apart with a > > devicetree binding such as the following: > (...) > > Honestly I do not understand this patch. It seems to implement a pin > controller and using it in nonstandard ways. Yeah, it's a bit abusive, hence RFC :) > > If something implements the pin controller driver API it should be > used as such IMO, externally. This seems to be using it do relay > calls to itself which seems complicated, just invent something > locally in the driver in that case? No need to use pin control? Right. After discussions with Andy I'm going to rework the approach to GPIOs which will remove a lot of complexity. The thought was to try to maintain the intent of the devicetree binding and use existing APIs, but all-in-all it's ended up twisting things up in knots a fair bit. We discard a lot of it by making the gpiochip always cover all pins and track use directly in the driver. > > Can you explain why this LED driver needs to implement a pin > controller? The short answer is it doesn't as it has none of the associated hardware. I'll cook up something simpler with the aim to avoid non-standard (or any) pinctrl. Andrew