exynos: i2c: Tidy up the driver model code
authorSimon Glass <sjg@chromium.org>
Fri, 3 Jul 2015 00:15:47 +0000 (18:15 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 6 Aug 2015 03:06:10 +0000 (21:06 -0600)
commit45d9ae87cbe9b2e76a856647c35da83535af2984
tree16d28eb57196235359850f6a542ea5b9b69fdbcf
parent26ea76850e136651d0b02f6623b5c39fb98b10eb
exynos: i2c: Tidy up the driver model code

The existing driver model implementation uses the old non-driver-model code
to operate, but has become impossibly tangled as a result. The actual
algorithm is quite simple.

Also the normal-speed and high-speed buses are quite different and it
doesn't seem that useful to put them in the same driver.

Finally, there is a bug which breaks communication with the Maxim sound
codec and may cause problems with other device.

Rewrite the driver model code for normal-speed operation so that it is
easier to understand, and fix the bug. Add a TODO to split the drivers.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
drivers/i2c/s3c24x0_i2c.c