Commit 92e3e884 authored by Jan Sebastian Götte's avatar Jan Sebastian Götte Committed by Greg Kroah-Hartman
Browse files

Staging: fbtft: Fix GPIO handling



Commit c440eee1 ("Staging: fbtft: Switch to the gpio descriptor
interface") breaks GPIO handling. In several places, checks to only set
a GPIO if it was configured ended up backwards.
I have tested this fix. The fixed driver works with a ili9486
display connected to a raspberry pi via SPI.

Fixes: c440eee1 ("Staging: fbtft: Switch to the gpio descriptor interface")
Tested-by: default avatarJan Sebastian Götte <linux@jaseg.net>
Reviewed-by: default avatarNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: default avatarJan Sebastian Götte <linux@jaseg.net>
Link: https://lore.kernel.org/r/75ada52f-afa1-08bc-d0ce-966fc1110e70@jaseg.net


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 61050430
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@

static int init_display(struct fbtft_par *par)
{
	if (!par->gpio.cs)
	if (par->gpio.cs)
		gpiod_set_value(par->gpio.cs, 0);  /* Activate chip */

	par->fbtftops.reset(par);
+1 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ static int init_display(struct fbtft_par *par)
{
	par->fbtftops.reset(par);

	if (!par->gpio.cs)
	if (par->gpio.cs)
		gpiod_set_value(par->gpio.cs, 0);  /* Activate chip */

	write_reg(par, MIPI_DCS_SOFT_RESET); /* software reset */
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ static int init_display(struct fbtft_par *par)
{
	par->fbtftops.reset(par);

	if (!par->gpio.cs)
	if (par->gpio.cs)
		gpiod_set_value(par->gpio.cs, 0);  /* Activate chip */

	bt &= 0x07;
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ static int init_display(struct fbtft_par *par)
{
	par->fbtftops.reset(par);

	if (!par->gpio.cs)
	if (par->gpio.cs)
		gpiod_set_value(par->gpio.cs, 0);  /* Activate chip */

	/* Initialization sequence from Lib_UTFT */
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ static int init_display(struct fbtft_par *par)
{
	par->fbtftops.reset(par);

	if (!par->gpio.cs)
	if (par->gpio.cs)
		gpiod_set_value(par->gpio.cs, 0);  /* Activate chip */

	write_reg(par, 0x00, 0x0001);
Loading