From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Keerthy <j-keerthy@ti.com>, Linus Walleij <linus.walleij@linaro.org>
Cc: "Andrew F. Davis" <afd@ti.com>, "Nori, Sekhar" <nsekhar@ti.com>,
Kevin Hilman <khilman@kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/5] gpio: davinci: Use dev name for label and automatic base selection
Date: Mon, 10 Sep 2018 17:05:53 -0500 [thread overview]
Message-ID: <fe34f216-b07b-6ccd-eee8-8b571d630017@ti.com> (raw)
In-Reply-To: <7ffe6694-0bb1-d1ae-3d93-51f11a358cc0@ti.com>
On 09/09/2018 09:47 PM, Keerthy wrote:
>
>
> On Sunday 09 September 2018 01:11 AM, Grygorii Strashko wrote:
>>
>>
>> On 09/06/2018 09:16 AM, Keerthy wrote:
>>>
>>>
>>> On Wednesday 05 September 2018 04:07 PM, Linus Walleij wrote:
>>>> On Mon, Sep 3, 2018 at 7:40 AM Keerthy <j-keerthy@ti.com> wrote:
>>>>> On Saturday 01 September 2018 12:43 AM, Andrew F. Davis wrote:
>>>>>> Use dev_name to get a unique label and use -1 for a base to get our
>>>>>> selection automatically. We pull in all GPIOs per chip now so this
>>>>>> does not have the effect of out of order labels like before.
>>>>>>
>>>>>> We do these both together so we can drop all the static data in one
>>>>>> patch. This also lets us normalize the return paths as we don't need
>>>>>> any cleanup after this change.
>>>>>
>>>>> echo 28 > /sys/class/gpio/export
>>>>> / # echo 28 > /sys/class/gpi[ 12.839205] export_store: invalid GPIO 28
>>>>> o/export
>>>>> echo 2 > /sys/class/gp[ 22.165728] export_store: invalid GPIO 2
>>>>> io/export
>>>>> / # echo 1 > /sys/class/gp[ 25.961392] export_store: invalid GPIO 1
>>>>> io/export
>>>>> / # echo 3 > /sys/class/gp[ 29.981918] export_store: invalid GPIO 3
>>>>> io/export
>>>>>
>>>>> Export fails with this patch. I am testing this on keystone-k2g-evm.
>>>>
>>>> I think the GPIO got a new number didn't it?
>>>>
>>>> Did you check the gpio file in debugfs to see which number
>>>> it got.
>>>
>>> Okay now its numbered differently:
>>>
>>> cat /sys/class/gpio/gpiochip340/ngpio
>>> 144
>>>
>>> cat /sys/class/gpio/gpiochip272/ngpio
>>> 68
>>
>> could you or Andrew provide content of /debug/gpio before/after?
>> And ls /sys/class/gpio/?
>
> Output on K2G:
>
> Before
> ======
>
> cat /debug/gpio
> gpiochip1: GPIOs 0-143, parent: platform/2603000.gpio, davinci_gpio.0:
>
> gpiochip2: GPIOs 144-211, parent: platform/260a000.gpio, davinci_gpio.1:
> gpio-156 ( |cd ) in lo
>
> gpiochip0: GPIOs 484-511, parent: platform/2620240.keystone_dsp_gpio,
> 2620240.keystone_dsp_gpio:
>
> ls /sys/class/gpio/
> export gpiochip0 gpiochip144 gpiochip484 unexport
>
> cat /sys/class/gpio/gpiochip0/label
> davinci_gpio.0
>
> cat /sys/class/gpio/gpiochip144/label
> davinci_gpio.1
>
> cat /sys/class/gpio/gpiochip144/ngpio
> 68
> / # cat /sys/class/gpio/gpiochip0/ngpio
> 144
>
>
> After
> =====
>
> cat /debug/gpio
> gpiochip2: GPIOs 272-339, parent: platform/260a000.gpio, 260a000.gpio:
> gpio-284 ( |cd ) in lo
>
> gpiochip1: GPIOs 340-483, parent: platform/2603000.gpio, 2603000.gpio:
>
> gpiochip0: GPIOs 484-511, parent: platform/2620240.keystone_dsp_gpio,
> 2620240.keystone_dsp_gpio:
>
> ls /sys/class/gpio/
> export gpiochip272 gpiochip340 gpiochip484 unexport
>
>
> cat /sys/class/gpio/gpiochip340/label
> 2603000.gpio
> / # cat /sys/class/gpio/gpiochip272/label
> 260a000.gpio
> / # cat /sys/class/gpio/gpiochip272/label
>
> cat /sys/class/gpio/gpiochip272/ngpio
> 68
> / # cat /sys/class/gpio/gpiochip340/ngpio
> 144
>
> In the case of SoCs that support multiple instances of Davinci GPIO IPs
> it is harder to figure out the right gpio number to export.
>
Just to clarify above for all:
- for the first registered gpio chip
- if base >= 0 then gpiolib: try allocate gpios [base, base + ngpio]
else gpiolib: try allocate gpios [ARCH_NR_GPIOS - ngpio, ARCH_NR_GPIOS]
so for the "after" case we can see gpio chip base allocation in hi to low order
--
regards,
-grygorii
next prev parent reply other threads:[~2018-09-10 22:05 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-31 19:13 [PATCH 1/5] gpio: davinci: Remove unused member of davinci_gpio_controller Andrew F. Davis
2018-08-31 19:13 ` [PATCH 2/5] gpio: davinci: Use dev name for label and automatic base selection Andrew F. Davis
2018-09-03 5:40 ` Keerthy
2018-09-05 10:37 ` Linus Walleij
2018-09-06 14:16 ` Keerthy
2018-09-08 19:41 ` Grygorii Strashko
2018-09-10 2:47 ` Keerthy
2018-09-10 22:05 ` Grygorii Strashko [this message]
2018-09-10 7:25 ` Linus Walleij
2018-09-10 7:37 ` Sekhar Nori
2018-09-10 17:03 ` David Lechner
2018-09-18 19:26 ` Linus Walleij
2018-09-19 4:08 ` Keerthy
2018-08-31 19:13 ` [PATCH 3/5] gpio: davinci: Allocate the correct amount of memory for controller Andrew F. Davis
2018-09-19 5:02 ` Keerthy
2018-08-31 19:13 ` [PATCH 4/5] gpio: davinci: Remove unneeded GPIO macro Andrew F. Davis
2018-09-19 5:02 ` Keerthy
2018-08-31 19:13 ` [PATCH 5/5] gpio: davinci: Move driver local definitions to driver Andrew F. Davis
2018-09-19 5:02 ` Keerthy
2018-09-18 19:24 ` [PATCH 1/5] gpio: davinci: Remove unused member of davinci_gpio_controller Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fe34f216-b07b-6ccd-eee8-8b571d630017@ti.com \
--to=grygorii.strashko@ti.com \
--cc=afd@ti.com \
--cc=j-keerthy@ti.com \
--cc=khilman@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nsekhar@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).