hack: use cache values for rate in sysfs clk_dump and clk_summary

Here board (odroidu2 exynos 4412 quad) hangs when read
to the divider register of div_mcuisp0 happens via those sysfs entries
takes place.

Could be a parent clock not enabled.
hack: clk: disable spinlock around call to is_enabled

Otherwise the dreaded scheduling while atomic triggers
as we call i2c from max77686 under a spinlock.
ARM: SAMSUNG: S3C_PA_WDT is gone. Use EXYNOS4_PA_WATCHDOG.
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>
local hack to get below the 1024 limit for stack

That is we allocate a local variable of 1024 on the stack
and the stack size is 1024 . The few other local variables
make this go over the limit.
HK: SAUCE: (no-up) Add support to extract information about current git commit HEAD

Many cases it is difficult to get to the exact commit at which the
current kernel is compiled.

Adding an additional print statement to explicitly tell the current
HEAD.
scripts/setlocalversion: do not append + on kernel name
ARM: EXYNOS: Add secure firmware support for l2x0 init
ARM: dts: Add arm-pmu node for exynos4412

The Exynos4412 has 4 cpus and each has a performance counter.
Thus, we should define 4 interrupts which are combined by irq-combiner for arm
pmu.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
ARM: Exynos: replace custom MFC reserved memory handling with generic code

MFC driver use custom bindings for managing reserved memory. Those bindings
are not really specific to MFC device and no even well discussed. They can
be easily replaced with generic, platform independent code for handling
reserved and contiguous memory.

Two additional child devices for each memory port (AXI master) are
introduced to let one assign some properties to each of them. Later one
can also use them to assign properties related to SYSMMU controllers,
which can be used to manage the limited dma window provided by those
memory ports.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
media: s5p-mfc: remove DT hacks and simplify initialization code

This patch removes custom initialization of reserved memory regions from
s5p-mfc driver. Memory initialization can be now handled by generic
code.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kamil Debski <k.debski@samsung.com>
drm/exynos: g2d : add exynos4212 a compatible.
odroid u2: attempt to fix p3v3 regulator (regulator core)
cpuidle: This patch fixes the reboot bug. Thanks to memeka
odroid u2: usb3503 ethernet up + root hubs up (devices fails)
ARM: dts: Add USBPHY nodes to Exynos4x12

This patch adds device nodes for USBPHY to Exynos4x12.

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
ARM: dts: Add description of System MMU of Exynos SoCs

Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
clk/exynos4: add mout_hdmi mux clock for hdmi

Based on Rahul Sharma <rahul.sharma@samsung.com> work:
clk/exynos5250: add mout_hdmi mux clock for hdmi

hdmi driver needs to change the parent of hdmi clock
frequently between pixel clock and hdmiphy clock. hdmiphy is
not stable after power on and for a short interval while changing
the phy configuration. For this duration pixel clock is used to
clock hdmi.

This patch is exposing the mux for changing parent.
clk/exynos4: add sclk_hdmiphy in the list of special clocks

Based on work from Rahul Sharma <rahul.sharma@samsung.com>

clk/exynos5250: add sclk_hdmiphy in the list of special clocks
hdmi driver needs hdmiphy clock which is one of the parent
for hdmi mux clock. This is required while changing the parent
of mux clock.
drm/exynos: modify condition in mixer and hdmi resume

If mixer is runtime suspended (by DPMS OFF), mixer_suspend
does not call mixer_poweroff and just returns. Similarily the
mixer_resume should not resume the mixer if mixer is
runtime_suspended. It should be done through DPMS ON.

The existing check is stopping the resume. This issue is fixed
by reversing the condiftion. It also holds good for hdmi driver.

v2: updated the error messages.

Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>