From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Boyd Subject: Re: [PATCH v2 2/4] pinctrl: qpnp: Qualcomm PMIC pin controller driver Date: Mon, 04 Aug 2014 18:36:12 -0700 Message-ID: <53E0350C.4020003@codeaurora.org> References: <1405610748-7583-1-git-send-email-iivanov@mm-sol.com> <1405610748-7583-3-git-send-email-iivanov@mm-sol.com> <53D307BB.1020208@codeaurora.org> <1406536774.2475.36.camel@iivanov-dev> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1406536774.2475.36.camel@iivanov-dev> Sender: linux-kernel-owner@vger.kernel.org To: "Ivan T. Ivanov" Cc: David Collins , Linus Walleij , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Grant Likely , Bjorn Andersson , Mark Brown , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org List-Id: devicetree@vger.kernel.org On 07/28/14 01:39, Ivan T. Ivanov wrote: > I am working on proposal from Stephen Boyd to encode GPIO/MPP mode and > source select into combined function. Something like this one: > > #define PM8XXX_DIGITAL_IN 0 > #define PM8XXX_DIGITAL_OUT 1 > #define PM8XXX_DIGITAL_IN_OUT 2 > > ... > > /* mode and source select */ > #define PM8XXX_FUNCTION(m,s) ((m) << 16 | (s)) > > #define PM8921_GPIO1_14_KYPD_SNS PM8XXX_FUNCTION(PM8XXX_DIGITAL_IN, 1) > #define PM8921_GPIO9_14_KYPD_DRV PM8XXX_FUNCTION(PM8XXX_DIGITAL_OUT, 1) > #define PM8921_GPIO33_35_PWM PM8XXX_FUNCTION(PM8XXX_DIGITAL_OUT, 3) > > .. > > This isn't what I was suggesting at all. The function should be something like KYPD, PWM and those should just be defined to be 1 or 3. The mode should be some other property like input or output, and the driver should or the two together and put it into the register. Basically we shouldn't see any shifts or ors in the #defines, just convenient numbers that correspond to the value of the field in the register. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation