Message ID | 20180129005948.7714-1-bjorn.andersson@linaro.org |
---|---|
State | New |
Headers | show |
Series | pinctrl: msm: Use dynamic GPIO numbering | expand |
On Mon, Jan 29, 2018 at 1:59 AM, Bjorn Andersson <bjorn.andersson@linaro.org> wrote: > The base of the TLMM gpiochip should not be statically defined as 0, fix > this to not artificially restrict the existence of multiple pinctrl-msm > devices. > > Fixes: f365be092572 ("pinctrl: Add Qualcomm TLMM driver") > Reported-by: Timur Tabi <timur@codeaurora.org> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> OK I put this in devel for v4.17, let's see if something explodes in linux-next else we can go with this. Otherwise we need something that conserves base 0 for singular TLMM drivers and make it -1 for newer platforms with several instances. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2/7/18 7:52 AM, Linus Walleij wrote: > Otherwise we need something that conserves base 0 for singular > TLMM drivers and make it -1 for newer platforms with several > instances. static int base = 0; chip->base = base; base = -1;
On 02/07/2018 07:52 AM, Linus Walleij wrote: > OK I put this in devel for v4.17, let's see if something explodes > in linux-next else we can go with this. > > Otherwise we need something that conserves base 0 for singular > TLMM drivers and make it -1 for newer platforms with several > instances. I don't see this patch in linusw/linux-gpio.git anywhere. Do you want me to submit another patch that implements this: static int base = 0; chip->base = base; base = -1; This preserves existing behavior for current drivers.
On Mon, Jan 29, 2018 at 8:30 AM Bjorn Andersson <bjorn.andersson@linaro.org> wrote: > > The base of the TLMM gpiochip should not be statically defined as 0, fix > this to not artificially restrict the existence of multiple pinctrl-msm > devices. Can someone please provide the details why this is needed for pinctrl-msm. Is there any msm-chipset using multiple tlmm devices? I m only concerned because, after this change, the use of gpio number from user space has become a little difficult. Can we merge the patch from Timur to maintain the past behavior when multiple tlmm devices are not present, which is most likely the case? static int base = 0; chip->base = base; base = -1; Regards, Arun > > Fixes: f365be092572 ("pinctrl: Add Qualcomm TLMM driver") > Reported-by: Timur Tabi <timur@codeaurora.org> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > drivers/pinctrl/qcom/pinctrl-msm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c > index 495432f3341b..95e5c5ea40af 100644 > --- a/drivers/pinctrl/qcom/pinctrl-msm.c > +++ b/drivers/pinctrl/qcom/pinctrl-msm.c > @@ -818,7 +818,7 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) > return -EINVAL; > > chip = &pctrl->chip; > - chip->base = 0; > + chip->base = -1; > chip->ngpio = ngpio; > chip->label = dev_name(pctrl->dev); > chip->parent = pctrl->dev; > -- > 2.15.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Oct 23, 2020 at 4:21 PM Arun KS <arunks.linux@gmail.com> wrote: > Im only concerned because, after this change, the use of gpio number > from user space has become a little difficult. This makes me a bit puzzled so I need to push back a bit here. What is this userspace and what interface is it using? We recommend using the GPIO character device with libgpiod for userspace applications: https://www.kernel.org/doc/html/latest/driver-api/gpio/using-gpio.html Is there any problem with this? sysfs is deprecated for years now: https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html Yours, Linus Walleij
On Thu, Nov 5, 2020 at 3:46 PM Linus Walleij <linus.walleij@linaro.org> wrote: > > On Fri, Oct 23, 2020 at 4:21 PM Arun KS <arunks.linux@gmail.com> wrote: > > > Im only concerned because, after this change, the use of gpio number > > from user space has become a little difficult. > > This makes me a bit puzzled so I need to push back a bit > here. > > What is this userspace and what interface is it using? > > We recommend using the GPIO character device with > libgpiod for userspace applications: > https://www.kernel.org/doc/html/latest/driver-api/gpio/using-gpio.html Thanks Linus. Makes sense. Basically using the gpiochipset and offset to it will solve my problem. Earlier, while using the sysfs interface, it used to be one to one mapping with real gpio numbers. Regards, Arun > > Is there any problem with this? > > sysfs is deprecated for years now: > https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html > > Yours, > Linus Walleij
diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 495432f3341b..95e5c5ea40af 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -818,7 +818,7 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) return -EINVAL; chip = &pctrl->chip; - chip->base = 0; + chip->base = -1; chip->ngpio = ngpio; chip->label = dev_name(pctrl->dev); chip->parent = pctrl->dev;
The base of the TLMM gpiochip should not be statically defined as 0, fix this to not artificially restrict the existence of multiple pinctrl-msm devices. Fixes: f365be092572 ("pinctrl: Add Qualcomm TLMM driver") Reported-by: Timur Tabi <timur@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- drivers/pinctrl/qcom/pinctrl-msm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)