USB: exynos: remove bad of_node_put calls

Fixes errors:

ERROR: Bad of_node_put() on /ehci@12580000/port@1
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc6-00376-g85cd8fd #1031
[<c0016418>] (unwind_backtrace) from [<c0011f00>] (show_stack+0x10/0x14)
[<c0011f00>] (show_stack) from [<c08213fc>] (dump_stack+0x84/0xc4)
[<c08213fc>] (dump_stack) from [<c02dacc0>] (kobject_cleanup+0x58/0x6c)
[<c02dacc0>] (kobject_cleanup) from [<c0608718>] (of_get_next_available_child+0x78/0x98)
[<c0608718>] (of_get_next_available_child) from [<c05673c8>] (exynos_ehci_probe+0x254/0x424)
[<c05673c8>] (exynos_ehci_probe) from [<c03ce700>] (platform_drv_probe+0x2c/0x5c)
[<c03ce700>] (platform_drv_probe) from [<c03ccd00>] (driver_probe_device+0xe8/0x234)
[<c03ccd00>] (driver_probe_device) from [<c03ccef8>] (__driver_attach+0x68/0x8c)

Looking at other users of for_each_available_child_of_node() it doesn't
look like there is any need to drop references to the child nodes.
ARM: dts: Enable temperature sensor on exynos4412 & ODROID

The Exynos4412 has a Thermal Management Unit (TMU) which provides
a temperature sensor and related functionality.

This must be enabled on a per-board basis, as it requires a 100k
resistance to ground on the XtsRES_EXT pin, as well as a 1.8V input on
VDD18_TS pin. If that voltage is not supplied, the machine immediately
reports a maximum temperature of 255C and triggers the thermal subsystem
to shut down the system.

This patch also enables the TMU on the ODROID boards via the appropriate
power supply.

Signed-off-by: Daniel Drake <drake@endlessm.com>
ARM: dts: Configure FIMC clock tree for exynos4x12

By the hardware default, FIMC clocks are really slow.
The fimc-core driver does attempt to increase the speed to a known
maximum value, however it can't do that unless the clock has been
given a faster parent.

Select the appropriate parent clock here.

See also: http://www.spinics.net/lists/arm-kernel/msg361197.html

Signed-off-by: Daniel Drake <drake@endlessm.com>
ARM: dts: Add missing pwm-outputs property for exynos4

This DT entry is missing the samsung,pwm-outputs entry required
in the binding documentation.

Also add a 'pwm0' alias for this node. This matches other similar
Exynos bindings and matches the naming scheme used by the available
pinctrl settings.

Signed-off-by: Daniel Drake <drake@endlessm.com>
mm: Don't put CMA Pages on per-cpu lists

Author: Laura Abbottt - lauraa@codeaurora.org

When freeing zero order pages, CMA pages are treated the same as regular
movable pages. This means CMA pages are likely to be allocated for something
other than contiguous memory. This patch frees CMA pages directly.

http://lists.linaro.org/pipermail/linaro-mm-sig/2012-June/002093.html

Change-Id: I07b285121a7d4110a4e7fda1509e037e19607ea9
Include ODROID in machine name
SMSC95XX: Adding the /etc/sms95xx_mac_addr file for persistent mac-address
HACK: mmc: dw_mmc-exynos! reboot handling for odroid u2 emmc

[dsd: increase final delay to 500ms, like HK kernel]
clk: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks

This patch adds support for exporting mout_hdmi and mout_mixer to device
tree. Access to those clocks is required to correctly setup HDMI module
on Exynos 4210 and 4x12 SoCs.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
CC: Mike Turquette <mturquette@linaro.org>
CC: Tomasz Figa <t.figa@samsung.com>
Exynos: add support for 'domain-always-on' property

This patch adds support for domain-always-on property to Exynos power
domain driver. Domains with this property as always kept enabled.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
ARM: dts: exynos4: add hdmi related nodes

This patch adds entries for HDMI, Mixer and i2c with hdmi-phy modules
found in Exynos 4210 and 4x12 SoCs.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
ARM: dts: exynos4412-odroid: enable hdmi support

This patch adds nodes specific to Exynos4412 based Odroid X/X2/U2/U3
boards required for enabling HDMI display.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
ODROID: HDMI DDC reliability fix

Now matches 3.8, except that I chose to leave the communications
at 100MHz rather than 400MHz for more reliability.

The sda-delay also enables some filtering which improves
reliability of communications. Fixes compatibility
with the Westinghouse TX-47F450S TV.
exynos-drm: hack in extra resolution support

exynos-drm drops certain modes from Exynos4412 setups due to a mixer
bug.

Instead of dropping such modes, we apply a workaround:
Massaging of the values in the way implemented in this patch makes the
system usable, although it is missing the top row of pixels, and the
rightmost column too.

However this can't be applied to all modes, so we filter a few out
that are known bad.
drm/exynos: configurable overscan compensation

Add some DRM properties to enable overscan compensation.
The properties are badly named "underscan" for consistency
with Radeon driver.

The obvious way to compensate for overscan is just to scale the
image down a bit, creating some black borders around the edge,
which we would expect not to be visible.

Unfortunately the mixer can't scale the images, so we instead
slightly reduce the resolution of the image, and display it
in the centre of the mixer output, creating black borders.

When userspace sets these properties, it is also expected to
comply with the lower resolution that is generated as a result,
and submit appropriately sized buffers for display.
drm_crtc: Remove sanity checks from crtc setup

When using cropped underscan we need a frame buffer smaller than the crtc.  This patch defeats the checks that prevent that from happening.
exynos-drm: mixer: Obey buffer pitch

The exynos mixer's "span" should really use pitch - not width.
Needed for overscan compensation to work right.
drm/exynos: accept flip requests when the crtc is off

Previously, we were rejecting flip requests when off. But
Mali does not like being told 'no' for an answer, and ignores it.
So let's honour these requests as if the display were powered up.
v4l2-core: Round up in clamp_align

In most use cases, it's easyer to deal with a larger size and crop it,
then a smaller video size.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
s5p-fimc: Align imagesize to row size for tiled formats

For tiled format, we need to allocated a multiple of the row size. A good
example is for 1280x720, wich get adjusted to 1280x736. In tiles this mean Y
plane is 20x23 and UV plane 20x12. Because of the rounding, the previous code
would only have enough space to fit half of the last row.

dsd: most of the original 3.8 version of this patch was already included
upstream in fa8880bece7321d61a7a5e7bf4b67832071ee047