mach-exynos/hkdk4412: Single file for all boards, introducing config and board naming
ODROID-U2: Adding regulators specific hack for U2
exynos: i2c: Leave the bus disabled unless it is in use
There is a rather odd feature of the exynos i2c controller that if it
is left enabled, it can lock itself up with the clk line held low.
This makes the bus unusable.

Unfortunately, the s3c24xx_i2c_set_master() function does not notice
this, and reports a timeout. From then on the bus cannot be used until
the AP is rebooted.

The problem happens when any sort of interrupt occurs (e.g. due to a
bus transition) when we are not in the middle of a transaction. We
have seen many instances of this when U-Boot leaves the bus apparently
happy, but Linux cannot access it.

The current code is therefore pretty fragile.

This fixes things by leaving the bus disabled unless we are actually
in a transaction. We enable the bus at the start of the transaction and
disable it at the end. That way we won't get interrupts and will not
lock up the bus.

It might be possible to clear pending interrupts on start-up, but this
seems to be a more robust solution. We can't service interrupts when
we are not in a transaction, and anyway would rather not lock up the
bus while we try.

BUG=chrome-os-partner:11124
TEST=manual:
Look up bus 4 in U-Boot by manually modifying the code to leave a
pending interrupt in the controller (stopping a transaction half-way
through with an error).

Boot into Linux and see that the bus is recovered and works normally
with:

$ i2cdump  -f -y 4 0x48

Without this change, we see:

s3c-i2c s3c2440-i2c.4: cannot get bus (error -110)

in the kernel logs.

Check that the keyboard works also (which uses i2c4).

Change-Id: Iccc9777fa8576bd4491dfbfbad044cec3638debb
Signed-off-by: Simon Glass <sjg@chromium.org>
mali_drm: initial commit
Revert "drm: kill drm_sman"

This is needed by the Mali GPU Drivers
This reverts commit 7a6e0daaf4058d1b7dd515bc470ec904454a798c.
mali_drm: remove reclaim_buffers*
mali_drm: New style file_operations fops
drm_sman: porting the 3.0 version
ODROIDU2: Fan driver copy from 3.0
ODROIDU2: Makefile and Kconfig additions and some renaming on the FAN driver

Conflicts:
	drivers/hardkernel/Kconfig
	drivers/hardkernel/Makefile
ODROIDU2: FAN rename header
ODROIDX2: Initial defconfig
mach-hkdk4412: Fixed missing ) on ODROIDU2
ODROIDU2: Introducing defconfig
ODROIDU2: Setting USB to low
HKDK4412: Enabling Overclock
cpufreq/exynos4x12: Add missing voltages
ODROIDU2: USB/Ethernet Support
ODROIDU2: Adding platform information of FAN and moving header to platform_data
ODROIDU2: Updating defconfig