Re: [PATCH 2/3] Input: adp5589-keys: fix pull mask setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 21, 2015 at 04:35:20PM +0200, Michael Hennerich wrote:
> On 04/21/2015 04:21 PM, Guido Martínez wrote:
> >The pull mask is created by looping each row (column) and building an
> >8-bit integer with the configuration. It is written byte-by-byte, when
> >we reach the end of the rows (columns) or we're at the 3rd line (which
> >finishes the first byte, since each pin is 2bits on the mask).
> >
> >However, this only works if we have at most 8 pins (2 bytes), which is
> >not the case for the ADP5589. So, write the byte at each boundary (every
> >4 rows/columns).
> >
> >Fixes: 9d2e173644bb ('Input: ADP5589 - new driver for I2C Keypad Decoder and I/O Expander')
> >Signed-off-by: Guido Martínez <guido@xxxxxxxxxxxxxxxxxxxx>
> Acked-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx>

Applied, thank you.

> >---
> >  drivers/input/keyboard/adp5589-keys.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c
> >index 19edd2d..8709a7f 100644
> >--- a/drivers/input/keyboard/adp5589-keys.c
> >+++ b/drivers/input/keyboard/adp5589-keys.c
> >@@ -729,7 +729,7 @@ static int adp5589_setup(struct adp5589_kpad *kpad)
> >  		pull_mask |= val << (2 * (i & 0x3));
> >-		if (i == 3 || i == kpad->var->max_row_num) {
> >+		if (i % 4 == 3 || i == kpad->var->max_row_num) {
> >  			ret |= adp5589_write(client, reg(ADP5585_RPULL_CONFIG_A)
> >  					     + (i >> 2), pull_mask);
> >  			pull_mask = 0;
> >@@ -749,7 +749,7 @@ static int adp5589_setup(struct adp5589_kpad *kpad)
> >  		pull_mask |= val << (2 * (i & 0x3));
> >-		if (i == 3 || i == kpad->var->max_col_num) {
> >+		if (i % 4 == 3 || i == kpad->var->max_col_num) {
> >  			ret |= adp5589_write(client,
> >  					     reg(ADP5585_RPULL_CONFIG_C) +
> >  					     (i >> 2), pull_mask);
> 
> 
> -- 
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux