From: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
To: Andrey Smirnov <andrew.smirnov@gmail.com>, barebox@lists.infradead.org
Cc: cphealy@gmail.com
Subject: Re: [PATCH 2/4] gpiolib: Add code to support "active low" GPIOs
Date: Tue, 23 May 2017 09:30:27 +0300 [thread overview]
Message-ID: <b2e10c3a-cf7d-e3ff-4707-447d56f2e45f@cogentembedded.com> (raw)
In-Reply-To: <20170522152420.14443-2-andrew.smirnov@gmail.com>
> So far this particular aspect of various DT-bindings has been handled
> on a per-driver basis. With this change, hopefully, we'll have a
> single place to handle necessary logic inversions and eventually
> would be able to migrate existing users as well as avoiding adding
> redundant code to new drivers.
Do we have at least single case when same pin of the same chip is active
high in one use and active low in other use?
I'd say that "logic values" of gpiolib is a major source of confusion,
at least in it's current form. The fact that
gpio_set_value(..., 1)
does not set gpio value to 1 but instead sets gpio value to what is
configured as active, is non-intuitive at least. Maybe with different
API names (e.g. gpio_activate() / gpio_deactivate()) it could be better.
I understand that we have these logic values in linux and may want
similarity between linux and barebox. But far not sure at which side it
should be fixed.
Right now I'm trying to handle a situation (in linux) where chip has
signal active low, but driver author just used gpiolib calls with
physical values, inverted. So device trees are plain wrong (stating
gpio is active high which is not true) but changing that is about to
break existing working setups.
I don't know how many similar cases exist, but I guess that quite a few.
And all this is caused by enforcement of logical gpio values concept
everywhere - while it is useful only in rare case of setup-dependent
signal polarity. In vast majority of cases signal polarity is
chip-dependent, not setup-dependent.
Nikita
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2017-05-23 6:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-22 15:24 [PATCH 1/4] gpio-imx: Do not use gpio_set_value() Andrey Smirnov
2017-05-22 15:24 ` [PATCH 2/4] gpiolib: Add code to support "active low" GPIOs Andrey Smirnov
2017-05-23 6:30 ` Nikita Yushchenko [this message]
2017-05-23 8:33 ` Sascha Hauer
2017-05-24 0:16 ` Andrey Smirnov
2017-05-24 0:14 ` Andrey Smirnov
2017-05-24 7:26 ` Nikita Yushchenko
2017-05-24 18:16 ` Trent Piepho
2017-05-24 20:36 ` Andrey Smirnov
2017-05-25 6:36 ` Nikita Yushchenko
2017-05-25 17:10 ` Andrey Smirnov
2017-05-25 17:45 ` Sascha Hauer
2017-05-22 15:24 ` [PATCH 3/4] gpiolib: Add support for GPIO "hog" nodes Andrey Smirnov
2017-05-23 6:52 ` Nikita Yushchenko
2017-05-23 23:25 ` Andrey Smirnov
2017-05-24 6:43 ` Nikita Yushchenko
2017-05-30 14:38 ` Andrey Smirnov
2017-05-24 7:26 ` Sascha Hauer
2017-05-22 15:24 ` [PATCH 4/4] usb-nop-xceiv: Add support for 'reset-gpios' binding Andrey Smirnov
2017-05-23 6:55 ` Nikita Yushchenko
2017-05-24 0:17 ` Andrey Smirnov
2017-05-23 6:08 ` [PATCH 1/4] gpio-imx: Do not use gpio_set_value() Nikita Yushchenko
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=b2e10c3a-cf7d-e3ff-4707-447d56f2e45f@cogentembedded.com \
--to=nikita.yoush@cogentembedded.com \
--cc=andrew.smirnov@gmail.com \
--cc=barebox@lists.infradead.org \
--cc=cphealy@gmail.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