aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/max732x.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-05-26 17:42:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-27 12:12:41 -0400
commit5535cb681c38bda94af02ef4b043a25b52303e65 (patch)
tree9ad66972714c55298a2d64e332b1211419421aa4 /drivers/gpio/max732x.c
parentc1cc9b9775c931a0015178daf92d41aec00580de (diff)
max732x: correct nr_port checking off by one error
Setup both client_group_a and client_group_b if nr_port > 8 (not including nr_port==8). Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Eric Miao <eric.miao@marvell.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/gpio/max732x.c')
-rw-r--r--drivers/gpio/max732x.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpio/max732x.c b/drivers/gpio/max732x.c
index 2053ba9cbfae..26ff40110d9f 100644
--- a/drivers/gpio/max732x.c
+++ b/drivers/gpio/max732x.c
@@ -595,14 +595,14 @@ static int __devinit max732x_probe(struct i2c_client *client,
595 switch (client->addr & 0x70) { 595 switch (client->addr & 0x70) {
596 case 0x60: 596 case 0x60:
597 chip->client_group_a = client; 597 chip->client_group_a = client;
598 if (nr_port > 7) { 598 if (nr_port > 8) {
599 c = i2c_new_dummy(client->adapter, addr_b); 599 c = i2c_new_dummy(client->adapter, addr_b);
600 chip->client_group_b = chip->client_dummy = c; 600 chip->client_group_b = chip->client_dummy = c;
601 } 601 }
602 break; 602 break;
603 case 0x50: 603 case 0x50:
604 chip->client_group_b = client; 604 chip->client_group_b = client;
605 if (nr_port > 7) { 605 if (nr_port > 8) {
606 c = i2c_new_dummy(client->adapter, addr_a); 606 c = i2c_new_dummy(client->adapter, addr_a);
607 chip->client_group_a = chip->client_dummy = c; 607 chip->client_group_a = chip->client_dummy = c;
608 } 608 }
@@ -617,7 +617,7 @@ static int __devinit max732x_probe(struct i2c_client *client,
617 mutex_init(&chip->lock); 617 mutex_init(&chip->lock);
618 618
619 max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]); 619 max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]);
620 if (nr_port > 7) 620 if (nr_port > 8)
621 max732x_readb(chip, is_group_a(chip, 8), &chip->reg_out[1]); 621 max732x_readb(chip, is_group_a(chip, 8), &chip->reg_out[1]);
622 622
623 ret = max732x_irq_setup(chip, id); 623 ret = max732x_irq_setup(chip, id);