From: shawnguo@kernel.org (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: dts: vf610-zii-dev-rev-b: add hi8435 device
Date: Thu, 25 May 2017 15:19:42 +0800 [thread overview]
Message-ID: <20170525071940.GV26102@dragon> (raw)
In-Reply-To: <486f703b-fc8a-ccc1-134d-a908df798b2e@cogentembedded.com>
On Tue, May 23, 2017 at 09:02:27AM +0300, Nikita Yushchenko wrote:
> >> However, hi8435 driver historically was coded using inverted values
> >> passed to gpiolib calls. And there are setups in the wild with device
> >> trees containing GPIO_ACTIVE_HIGH that I'd prefer not breaking.
> >>
> >> To solve, I submitted a patch on hi8435 driver that changes to _raw()
> >> gpio calls (thus making it independent of what is written in device
> >> tree), and want [future] device trees not to contain explicitly written
> >> gpio polarity.
> >
> > So maybe add another #define, GPIO_ACTIVE_IGNORED, to make it clear
> > that it does not matter what value you put there, it is ignored.
>
> "Crap origin" here is that in vast majority of cases, polarity is
> per-chip, not per-chip-use, knowledge. And proper location for per-chip
> knowledge is chip's driver. Moving this knowledge to per-chip-use
> location in device trees only provides a source for errors, with little
> gain.
>
> Vladimir Barinov mentions possibility that signal can be inverted by
> board between gpio provider and chip's pin ... but do we have at least
> one practical case of this? And if we even do, it's quite uncommon, and
> something special should be required in device tree for these special
> cases and not for "normal" cases.
I disagree. Not for hi8435, but I have seen quite some board designs
invert GPIOs before getting them into board level components. That's
why we should define those xxx-gpios properties on board level DTS,
where polarity can be chosen per board design.
Shawn
WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Nikita Yushchenko
<nikita.yoush-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
Cc: Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
Stefan Agner <stefan-XLVq0VzYD2Y@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jeff White <Jeff.White-c8ZVq/bFV1I@public.gmane.org>,
Russell King <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Vladimir Barinov
<vladimir.barinov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Chris Healy <Chris.Healy-c8ZVq/bFV1I@public.gmane.org>
Subject: Re: [PATCH] ARM: dts: vf610-zii-dev-rev-b: add hi8435 device
Date: Thu, 25 May 2017 15:19:42 +0800 [thread overview]
Message-ID: <20170525071940.GV26102@dragon> (raw)
In-Reply-To: <486f703b-fc8a-ccc1-134d-a908df798b2e-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
On Tue, May 23, 2017 at 09:02:27AM +0300, Nikita Yushchenko wrote:
> >> However, hi8435 driver historically was coded using inverted values
> >> passed to gpiolib calls. And there are setups in the wild with device
> >> trees containing GPIO_ACTIVE_HIGH that I'd prefer not breaking.
> >>
> >> To solve, I submitted a patch on hi8435 driver that changes to _raw()
> >> gpio calls (thus making it independent of what is written in device
> >> tree), and want [future] device trees not to contain explicitly written
> >> gpio polarity.
> >
> > So maybe add another #define, GPIO_ACTIVE_IGNORED, to make it clear
> > that it does not matter what value you put there, it is ignored.
>
> "Crap origin" here is that in vast majority of cases, polarity is
> per-chip, not per-chip-use, knowledge. And proper location for per-chip
> knowledge is chip's driver. Moving this knowledge to per-chip-use
> location in device trees only provides a source for errors, with little
> gain.
>
> Vladimir Barinov mentions possibility that signal can be inverted by
> board between gpio provider and chip's pin ... but do we have at least
> one practical case of this? And if we even do, it's quite uncommon, and
> something special should be required in device tree for these special
> cases and not for "normal" cases.
I disagree. Not for hi8435, but I have seen quite some board designs
invert GPIOs before getting them into board level components. That's
why we should define those xxx-gpios properties on board level DTS,
where polarity can be chosen per board design.
Shawn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawnguo@kernel.org>
To: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Cc: Andrew Lunn <andrew@lunn.ch>, Stefan Agner <stefan@agner.ch>,
Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org, Jeff White <Jeff.White@zii.aero>,
Russell King <linux@armlinux.org.uk>,
linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
Jonathan Cameron <jic23@kernel.org>,
Sascha Hauer <kernel@pengutronix.de>,
Vladimir Barinov <vladimir.barinov@cogentembedded.com>,
linux-arm-kernel@lists.infradead.org,
Chris Healy <Chris.Healy@zii.aero>
Subject: Re: [PATCH] ARM: dts: vf610-zii-dev-rev-b: add hi8435 device
Date: Thu, 25 May 2017 15:19:42 +0800 [thread overview]
Message-ID: <20170525071940.GV26102@dragon> (raw)
In-Reply-To: <486f703b-fc8a-ccc1-134d-a908df798b2e@cogentembedded.com>
On Tue, May 23, 2017 at 09:02:27AM +0300, Nikita Yushchenko wrote:
> >> However, hi8435 driver historically was coded using inverted values
> >> passed to gpiolib calls. And there are setups in the wild with device
> >> trees containing GPIO_ACTIVE_HIGH that I'd prefer not breaking.
> >>
> >> To solve, I submitted a patch on hi8435 driver that changes to _raw()
> >> gpio calls (thus making it independent of what is written in device
> >> tree), and want [future] device trees not to contain explicitly written
> >> gpio polarity.
> >
> > So maybe add another #define, GPIO_ACTIVE_IGNORED, to make it clear
> > that it does not matter what value you put there, it is ignored.
>
> "Crap origin" here is that in vast majority of cases, polarity is
> per-chip, not per-chip-use, knowledge. And proper location for per-chip
> knowledge is chip's driver. Moving this knowledge to per-chip-use
> location in device trees only provides a source for errors, with little
> gain.
>
> Vladimir Barinov mentions possibility that signal can be inverted by
> board between gpio provider and chip's pin ... but do we have at least
> one practical case of this? And if we even do, it's quite uncommon, and
> something special should be required in device tree for these special
> cases and not for "normal" cases.
I disagree. Not for hi8435, but I have seen quite some board designs
invert GPIOs before getting them into board level components. That's
why we should define those xxx-gpios properties on board level DTS,
where polarity can be chosen per board design.
Shawn
next prev parent reply other threads:[~2017-05-25 7:19 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-22 13:10 [PATCH] ARM: dts: vf610-zii-dev-rev-b: add hi8435 device Nikita Yushchenko
2017-05-22 13:10 ` Nikita Yushchenko
2017-05-22 13:10 ` Nikita Yushchenko
2017-05-22 16:20 ` Stefan Agner
2017-05-22 16:20 ` Stefan Agner
2017-05-22 16:20 ` Stefan Agner
2017-05-22 16:29 ` Nikita Yushchenko
2017-05-22 16:29 ` Nikita Yushchenko
2017-05-22 16:29 ` Nikita Yushchenko
2017-05-22 18:21 ` Andrew Lunn
2017-05-22 18:21 ` Andrew Lunn
2017-05-23 6:02 ` Nikita Yushchenko
2017-05-23 6:02 ` Nikita Yushchenko
2017-05-23 6:02 ` Nikita Yushchenko
2017-05-25 7:19 ` Shawn Guo [this message]
2017-05-25 7:19 ` Shawn Guo
2017-05-25 7:19 ` Shawn Guo
2017-05-25 8:03 ` Nikita Yushchenko
2017-05-25 8:03 ` Nikita Yushchenko
2017-05-25 8:03 ` Nikita Yushchenko
2017-05-28 15:09 ` Jonathan Cameron
2017-05-28 15:09 ` Jonathan Cameron
2017-05-28 15:09 ` Jonathan Cameron
2017-05-25 7:00 ` Shawn Guo
2017-05-25 7:00 ` Shawn Guo
2017-05-25 7:00 ` Shawn Guo
2017-05-25 8:06 ` Nikita Yushchenko
2017-05-25 8:06 ` Nikita Yushchenko
2017-05-25 8:06 ` Nikita Yushchenko
2017-05-25 8:20 ` Shawn Guo
2017-05-25 8:20 ` Shawn Guo
2017-05-25 8:20 ` Shawn Guo
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=20170525071940.GV26102@dragon \
--to=shawnguo@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.