diff options
| -rw-r--r-- | drivers/input/touchscreen/intel-mid-touch.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/input/touchscreen/intel-mid-touch.c b/drivers/input/touchscreen/intel-mid-touch.c index 66c96bfc5522..327695268e06 100644 --- a/drivers/input/touchscreen/intel-mid-touch.c +++ b/drivers/input/touchscreen/intel-mid-touch.c | |||
| @@ -448,15 +448,11 @@ static int __devinit mrstouch_read_pmic_id(uint *vendor, uint *rev) | |||
| 448 | */ | 448 | */ |
| 449 | static int __devinit mrstouch_chan_parse(struct mrstouch_dev *tsdev) | 449 | static int __devinit mrstouch_chan_parse(struct mrstouch_dev *tsdev) |
| 450 | { | 450 | { |
| 451 | int err, i, found; | 451 | int found = 0; |
| 452 | int err, i; | ||
| 452 | u8 r8; | 453 | u8 r8; |
| 453 | 454 | ||
| 454 | found = -1; | ||
| 455 | |||
| 456 | for (i = 0; i < MRSTOUCH_MAX_CHANNELS; i++) { | 455 | for (i = 0; i < MRSTOUCH_MAX_CHANNELS; i++) { |
| 457 | if (found >= 0) | ||
| 458 | break; | ||
| 459 | |||
| 460 | err = intel_scu_ipc_ioread8(PMICADDR0 + i, &r8); | 456 | err = intel_scu_ipc_ioread8(PMICADDR0 + i, &r8); |
| 461 | if (err) | 457 | if (err) |
| 462 | return err; | 458 | return err; |
| @@ -466,16 +462,15 @@ static int __devinit mrstouch_chan_parse(struct mrstouch_dev *tsdev) | |||
| 466 | break; | 462 | break; |
| 467 | } | 463 | } |
| 468 | } | 464 | } |
| 469 | if (found < 0) | ||
| 470 | return 0; | ||
| 471 | 465 | ||
| 472 | if (tsdev->vendor == PMIC_VENDOR_FS) { | 466 | if (tsdev->vendor == PMIC_VENDOR_FS) { |
| 473 | if (found && found > (MRSTOUCH_MAX_CHANNELS - 18)) | 467 | if (found > MRSTOUCH_MAX_CHANNELS - 18) |
| 474 | return -ENOSPC; | 468 | return -ENOSPC; |
| 475 | } else { | 469 | } else { |
| 476 | if (found && found > (MRSTOUCH_MAX_CHANNELS - 4)) | 470 | if (found > MRSTOUCH_MAX_CHANNELS - 4) |
| 477 | return -ENOSPC; | 471 | return -ENOSPC; |
| 478 | } | 472 | } |
| 473 | |||
| 479 | return found; | 474 | return found; |
| 480 | } | 475 | } |
| 481 | 476 | ||
