# \[PATCH\] input: adp5589: Fix row 5 handling for adp5589

- Subsystems: INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS, THE REST
- Maintainers: Dmitry Torokhov, Linus Torvalds
- List: linux-input
- 3 messages, 3 authors
- Page: https://ratatoskr.run/linux-input/2016/02/8927488/t

## \[PATCH\] input: adp5589: Fix row 5 handling for adp5589

- From: Lars-Peter Clausen \<lars@metafoo.de\>
- Date: 2016-02-09 10:36:42 
- Message: https://ratatoskr.run/linux-input/2016/02/8927488.md

```text
The adp5589 has row 5, don't skip it when creating the GPIO mapping.
Otherwise the pin gets reserved as used and it is not possible to use it as
a GPIO.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/input/keyboard/adp5589-keys.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c
index 4d446d5..c01a1d6 100644
--- a/drivers/input/keyboard/adp5589-keys.c
+++ b/drivers/input/keyboard/adp5589-keys.c
@@ -235,7 +235,7 @@ struct adp5589_kpad {
 	unsigned short gpimapsize;
 	unsigned extend_cfg;
 	bool is_adp5585;
-	bool adp5585_support_row5;
+	bool support_row5;
 #ifdef CONFIG_GPIOLIB
 	unsigned char gpiomap[ADP5589_MAXGPIO];
 	bool export_gpio;
@@ -485,7 +485,7 @@ static int adp5589_build_gpiomap(struct adp5589_kpad *kpad,
 	if (kpad->extend_cfg & C4_EXTEND_CFG)
 		pin_used[kpad->var->c4_extend_cfg] = true;
 
-	if (!kpad->adp5585_support_row5)
+	if (!kpad->support_row5)
 		pin_used[5] = true;
 
 	for (i = 0; i < kpad->var->maxgpio; i++)
@@ -884,12 +884,13 @@ static int adp5589_probe(struct i2c_client *client,
 
 	switch (id->driver_data) {
 	case ADP5585_02:
-		kpad->adp5585_support_row5 = true;
+		kpad->support_row5 = true;
 	case ADP5585_01:
 		kpad->is_adp5585 = true;
 		kpad->var = &const_adp5585;
 		break;
 	case ADP5589:
+		kpad->support_row5 = true;
 		kpad->var = &const_adp5589;
 		break;
 	}
-- 
2.1.4

```

## Re: \[PATCH\] input: adp5589: Fix row 5 handling for adp5589

- From: Michael Hennerich \<michael.hennerich@analog.com\>
- Date: 2016-02-09 10:31:54 
- Message: https://ratatoskr.run/linux-input/2016/02/8927487.md

```text
On 02/09/2016 11:29 AM, Lars-Peter Clausen wrote:
> The adp5589 has row 5, don't skip it when creating the GPIO mapping.
> Otherwise the pin gets reserved as used and it is not possible to use it as
> a GPIO.
>
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>

Acked-by: Michael Hennerich <michael.hennerich@analog.com>

> ---
>   drivers/input/keyboard/adp5589-keys.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c
> index 4d446d5..c01a1d6 100644
> --- a/drivers/input/keyboard/adp5589-keys.c
> +++ b/drivers/input/keyboard/adp5589-keys.c
> @@ -235,7 +235,7 @@ struct adp5589_kpad {
>   	unsigned short gpimapsize;
>   	unsigned extend_cfg;
>   	bool is_adp5585;
> -	bool adp5585_support_row5;
> +	bool support_row5;
>   #ifdef CONFIG_GPIOLIB
>   	unsigned char gpiomap[ADP5589_MAXGPIO];
>   	bool export_gpio;
> @@ -485,7 +485,7 @@ static int adp5589_build_gpiomap(struct adp5589_kpad *kpad,
>   	if (kpad->extend_cfg & C4_EXTEND_CFG)
>   		pin_used[kpad->var->c4_extend_cfg] = true;
>
> -	if (!kpad->adp5585_support_row5)
> +	if (!kpad->support_row5)
>   		pin_used[5] = true;
>
>   	for (i = 0; i < kpad->var->maxgpio; i++)
> @@ -884,12 +884,13 @@ static int adp5589_probe(struct i2c_client *client,
>
>   	switch (id->driver_data) {
>   	case ADP5585_02:
> -		kpad->adp5585_support_row5 = true;
> +		kpad->support_row5 = true;
>   	case ADP5585_01:
>   		kpad->is_adp5585 = true;
>   		kpad->var = &const_adp5585;
>   		break;
>   	case ADP5589:
> +		kpad->support_row5 = true;
>   		kpad->var = &const_adp5589;
>   		break;
>   	}
>


-- 
Greetings,
Michael

--
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368;
Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin,
Margaret Seif
```

## Re: \[PATCH\] input: adp5589: Fix row 5 handling for adp5589

- From: Dmitry Torokhov \<dmitry.torokhov@gmail.com\>
- Date: 2016-02-09 17:36:31 
- Message: https://ratatoskr.run/linux-input/2016/02/8927500.md

```text
On Tue, Feb 09, 2016 at 11:24:42AM +0100, Michael Hennerich wrote:
> On 02/09/2016 11:29 AM, Lars-Peter Clausen wrote:
> >The adp5589 has row 5, don't skip it when creating the GPIO mapping.
> >Otherwise the pin gets reserved as used and it is not possible to use it as
> >a GPIO.
> >
> >Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> 
> Acked-by: Michael Hennerich <michael.hennerich@analog.com>

Applied, thank you.

> 
> >---
> >  drivers/input/keyboard/adp5589-keys.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> >diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c
> >index 4d446d5..c01a1d6 100644
> >--- a/drivers/input/keyboard/adp5589-keys.c
> >+++ b/drivers/input/keyboard/adp5589-keys.c
> >@@ -235,7 +235,7 @@ struct adp5589_kpad {
> >  	unsigned short gpimapsize;
> >  	unsigned extend_cfg;
> >  	bool is_adp5585;
> >-	bool adp5585_support_row5;
> >+	bool support_row5;
> >  #ifdef CONFIG_GPIOLIB
> >  	unsigned char gpiomap[ADP5589_MAXGPIO];
> >  	bool export_gpio;
> >@@ -485,7 +485,7 @@ static int adp5589_build_gpiomap(struct adp5589_kpad *kpad,
> >  	if (kpad->extend_cfg & C4_EXTEND_CFG)
> >  		pin_used[kpad->var->c4_extend_cfg] = true;
> >
> >-	if (!kpad->adp5585_support_row5)
> >+	if (!kpad->support_row5)
> >  		pin_used[5] = true;
> >
> >  	for (i = 0; i < kpad->var->maxgpio; i++)
> >@@ -884,12 +884,13 @@ static int adp5589_probe(struct i2c_client *client,
> >
> >  	switch (id->driver_data) {
> >  	case ADP5585_02:
> >-		kpad->adp5585_support_row5 = true;
> >+		kpad->support_row5 = true;
> >  	case ADP5585_01:
> >  		kpad->is_adp5585 = true;
> >  		kpad->var = &const_adp5585;
> >  		break;
> >  	case ADP5589:
> >+		kpad->support_row5 = true;
> >  		kpad->var = &const_adp5589;
> >  		break;
> >  	}
> >
> 
> 
> -- 
> Greetings,
> Michael
> 
> --
> Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
> Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368;
> Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin,
> Margaret Seif

-- 
Dmitry
```
