Input: atmel_mxt_ts - refactor when and how object table is freed
authorDaniel Kurtz <djkurtz@chromium.org>
Thu, 28 Jun 2012 13:08:19 +0000 (21:08 +0800)
committerHenrik Rydberg <rydberg@euromail.se>
Fri, 29 Jun 2012 13:58:05 +0000 (15:58 +0200)
commit7d4fa100b0cc069b2d788e1d9fe086e9e057958e
treeef179557da61ec6f2155823bf3e268105e133427
parentb2e459b81b33ca17052de03b1315d8511d769507
Input: atmel_mxt_ts - refactor when and how object table is freed

The Object Table is freed in three cases:
  1) When the driver is being removed.
  2) In the error path of mxt_initialize().
  3) Just after a firmware update, when a new object table is
     about to be read.

For cases 2 & 3, the driver is not immediately unloaded, so this patch
refactors these cases to use a common cleanup function.  It also refactors
the mxt_initialize error paths to ensure that this cleanup happens.

Note: mxt_update_fw_store() does not handle errors during mxt_initialize().
A proposed fix for this is in a subsequent patchset.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
drivers/input/touchscreen/atmel_mxt_ts.c