prevent mem corruption after i2c timeout

i2c-s3c2410: prevent mem corruption after i2c timeout
This is a merge of backported changes from
 kernel/exynos android-exynos-3.4

--
  commit 62cb87f
  i2c-s3c2410: clean up i2c irq after timeout

  Otherwise, later irq handler will try to access freed memory region
  and may crash.

  Change-Id: I0ab9157b6f0d48d3a413e59a27641e88cd9db2eb
  Signed-off-by: Jinhee Hyeon <jh0722.hyen@samsung.com>

  Conflicts:

          drivers/i2c/busses/i2c-s3c2410.c
--
  commit cd66891
  i2c-s3c2410: add missing stop sequence for I2C transfer

  To clearly terminate the connection, clear pending bit and
  serial out disable settings are added

  Change-Id: Ic5ccd80941a724f63ed7f22e777408725c5414ee
  Signed-off-by: HoJune Byun <hjune.byun@samsung.com>

--
  commit 6aeac78
  i2c-s3c2410: I2C connection termination forcely

  To forcely terminate the connection, Serial Out bit is disabled.
  In case of timeout, or HDMIPHY bug

  Change-Id: I29c9ef2b8c35c7c970cbef4d5a856e178794de6e
  Signed-off-by: HoJune Byun <hjune.byun@samsung.com>
--
  commit 2951f35
  i2c-s3c2410: added STATE_STOP checking codes

  To prevent duplicated stop execution, added STATE_STOP checking codes
  before s3c24xx_i2c_stop function.

  Change-Id: I29417d4dbf94280e1d629338e85e54ad79e6be89
  Signed-off-by: Taekgyun Ko <taeggyun.ko@samsung.com>

  Conflicts:

          drivers/i2c/busses/i2c-s3c2410.c

Change-Id: I78ea9b014ed9656d6b5c4628d36bc8edd668b8e0
Signed-off-by: JP Abgrall <jpa@google.com>

Conflicts:
	drivers/i2c/busses/i2c-s3c2410.c