From: swarren@wwwdotorg•org (Stephen Warren)
To: linux-arm-kernel@lists•infradead.org
Subject: [RFC PATCH alt 4/4] pinctrl: at91: rework debounce configuration
Date: Mon, 16 Sep 2013 12:14:09 -0600 [thread overview]
Message-ID: <52374A71.5090305@wwwdotorg.org> (raw)
In-Reply-To: <52373D6D.4010109@overkiz.com>
On 09/16/2013 11:18 AM, boris brezillon wrote:
> Hello Stephen,
>
> On 16/09/2013 18:41, Stephen Warren wrote:
>> On 09/14/2013 01:08 AM, boris brezillon wrote:
...
>>> Let's say you have one device using multiple configuration of pins
>>> ("default", "xxx", "yyy").
>>> The "default" config needs a particular debounce time on a given pin and
>>> the "xxx" and "yyy"
>>> configs need different debounce time on the same pin.
>>>
>>> How would you solve this with this patch approach ?
>>
>> Each state has a different pin configuration node, and hence can specify
>> a different debounce value. ...
...
> Actually it does: this patch removes the debounce time setting option from
> the pin config description. The only thing you can do is enable or
> disable the debounce filter.
>
> The atmel,default-debounce-div property is not part of the pin group (or
> pin state) node, it is a global property you define for the whole pinctrl
> controller (pinctrl node
> property):
>
> pinctrl {
> atmel,default-debounce-div=<100...
...
Oh, I see. Sorry.
It seems this HW has been designed to just set that configuration up
once and be done with it.
There really isn't a way to make anything more complex or dynamic work
correctly. If you try to put the debounce config into a per-state node
rather than the top-level, how will you reconcile any conflicts? What if
the gpio-keys default state's node says 10ms, whereas the SDHCI
controller's default state's node says 100ms? Both those states need to
be active@the same time. The only way to avoid conflict resolution
issues like that is to prevent them, and just put the debounce config at
the top-level, and hence program it once when the driver starts, i.e.
make the DT exactly match the HW capabilities.
next prev parent reply other threads:[~2013-09-16 18:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-13 7:43 [RFC PATCH 0/4] pinctrl: at91: various fixes Boris BREZILLON
2013-09-13 7:45 ` [RFC PATCH 1/4] pinctrl: at91: fix typos Boris BREZILLON
2013-09-14 16:45 ` Jean-Christophe PLAGNIOL-VILLARD
2013-09-27 12:10 ` Linus Walleij
2013-09-13 7:47 ` [RFC PATCH 2/4] pinctrl: at91: fix sam9x5 debounce/deglitch functions Boris BREZILLON
2013-09-14 16:49 ` Jean-Christophe PLAGNIOL-VILLARD
2013-09-27 12:12 ` Linus Walleij
2013-09-13 7:49 ` [RFC PATCH 3/4] pinctrl: at91: improve pinconf_set/get function robustness Boris BREZILLON
2013-09-14 16:55 ` Jean-Christophe PLAGNIOL-VILLARD
2013-09-13 7:51 ` [RFC PATCH 4/4] pinctrl: at91: check for debounce time conflicts Boris BREZILLON
2013-09-13 7:53 ` [RFC PATCH alt 4/4] pinctrl: at91: rework debounce configuration Boris BREZILLON
2013-09-13 22:40 ` Stephen Warren
2013-09-14 7:08 ` boris brezillon
2013-09-16 16:41 ` Stephen Warren
2013-09-16 17:18 ` boris brezillon
2013-09-16 18:14 ` Stephen Warren [this message]
2013-09-14 16:31 ` Jean-Christophe PLAGNIOL-VILLARD
2013-09-14 16:37 ` Jean-Christophe PLAGNIOL-VILLARD
2013-09-15 6:21 ` boris brezillon
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=52374A71.5090305@wwwdotorg.org \
--to=swarren@wwwdotorg$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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