fix cpu transistion latency-imoseyon
Fix building with Linaro GCC toolchain
ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above

Modern GCC can generate code which makes use of the CPU's native
unaligned memory access capabilities.  This is useful for the C
decompressor implementations used for unpacking compressed kernels.

This patch disables alignment faults and enables the v6 unaligned
access model on CPUs which support these features (i.e., v6 and
later), allowing full unaligned access support for C code in the
decompressor.

The decompressor C code must not be built to assume that unaligned
access works if support for v5 or older platforms is included in
the kernel.

For correct code generation, C decompressor code must always use
the get_unaligned and put_unaligned accessors when dealing with
unaligned pointers, regardless of this patch.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: allow cpu-supported unaligned access
Sources:
https://github.com/Huexxx/lge-kernel-sniper/commit/8171fdcd687976ec68acbf229c0e5971c23523f4
https://bitbucket.org/EaglesBlood_Development/egb_tuna_kernel/src/1b739f424f00/arch/arm/include/asm/rwsem.h?at=master
Added simple sysfs interface to force adapters that are detected as
USB to charge as AC.
fastchg: change fast charge to override the high current GPIO, not the USB cable mode
fastchg: Only enable fast charge GPIO as long as we actually have some charging to do.
fastchg: Remove vestigial fsa9480 "force AC" switch.
OTG Host Mode On Charge: Version 3 - Thanks Caioketo

- Auto detects if its a charger in the OTG cable,
  if it is, charges, if it isnt, uses default OTG

https://github.com/caioketo/journeymanmod/
  commit/56c8eb7ba0b72dcb1a85982cb8bc8442c2ce2e33
optimized LPDDR RAM timings (~10% throughput increase)

Tweaked the device's RAM timings. Benchmarks suggest a 10
percent thorughput improvement (RgBandwidth RAM misc benchmark;
threads: 1. 20 benchmark instances each, best result wins):

       Stock          Tweaked

Copy   1249.9 MB/s -> 1373.0 MB/s --> 9.86 % improvement
Scale  1084.8 MB/s -> 1188.1 MB/s --> 9.52 % improvement
Add    938.4 MB/s  -> 1050.2 MB/s --> 11.91 % improvement
Triad  923.0 MB/s  -> 1043.5 MB/s --> 13.06 % improvement
OMAP4: PM: Handle LPDDR CLK IO errata during suspend/idle

There is a HW bug in CMD PHY which gives ISO signals as same for
both PADn and PADp on differential IO pad, because of which IO
leaks higher as pull controls are differential internally and
pull value does not match A value.
Though there is no functionality impact due to this bug, it is
seen that by disabling the pulls there is a savings ~500uA in
OSWR, but draws ~300uA more during OFF mode.

To save power during both idle/suspend following approach taken:
 1) Enable WA during boot-up.
 2) Disable WA while attempting suspend and enable during resume.

CDDS no: OMAP4460-1.0BUG00291
(OMAP official errata ID yet to be available).

Change-Id: Ic39f17be50ff602c71e714b05af3811b35c1a67f
Reported-by: Logan Lee <hklee@ti.com>
Signed-off-by: Shashi Shekar B.S. <shashi.shekar@ti.com>
Signed-off-by: Ambresh K <ambresh@ti.com>
My contrast control from ICS.

Conflicts:
	drivers/video/omap2/displays/panel-s6e8aa0.c
Fixed wrong min/max values for contrast control
arch: arm: omap4: board-tuna-display.c: purple tint fix.
Fix 80-100% purple tint at low/minimum brightness.

Credits to mpokwsths.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
panel-s6e8aa0: fix slightly inaccurate pixel clock
panel-s6e8aa0: handle potential and rare do_div panic
Set color values

Credit to boype (Fancy Kernel)
super optimization