diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-05-26 17:42:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 12:12:41 -0400 |
commit | 5535cb681c38bda94af02ef4b043a25b52303e65 (patch) | |
tree | 9ad66972714c55298a2d64e332b1211419421aa4 /drivers/gpio/max732x.c | |
parent | c1cc9b9775c931a0015178daf92d41aec00580de (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.c | 6 |
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); |