Re: [PATCH v1 1/2] fbtft: Rectify GPIO handling
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-04-16 12:52:09
Also in:
dri-devel, linux-staging, lkml
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-04-16 12:52:09
Also in:
dri-devel, linux-staging, lkml
On Fri, Apr 16, 2021 at 03:31:16PM +0300, Andy Shevchenko wrote:
The infamous commit c440eee1a7a1 ("Staging: fbtft: Switch to
the GPIO descriptor interface") broke GPIO handling completely.
It has already four commits to rectify and it seems not enough.
In order to fix the mess here we:
1) Set default to "inactive" for all requested pins
2) Fix CS, RD, and WR pins polarity since it's active low and
GPIO descriptor interface takes it into consideration from
the Device Tree or ACPI
3) Fix RESET pin polarity in the places missed by the commit
b918d1c27066 ("Staging: fbtft: Fix reset assertion when using gpio descriptor")
4) Consolidate chip activation (CS assert) under default
->reset() callback
To summarize the expectations about polarity for GPIOs:
#RD Low
#WR Low
#CS Low
#RESET Low
DC or RS High
RW High
Data 0..15 High
See also Adafruit learning course [1] for the example of the schematics.
While at it, drop unneeded NULL checks, since GPIO API is tolerant to that.
At the end, update TODO to mark this job eventually done.
[1]: https://learn.adafruit.com/adafruit-2-8-and-3-2-color-tft-touchscreen-breakout-v2/downloadsShouldn't this be broken up into "one patch per thing" from your list above? Feels like you did a lot of different things all in the same patch :( thanks, greg k-h