RAM_CONSOLE: Allow to add/remove this feature according to the related config option

These changes allow the developer to add or remove the ram console support by properly
setting the option "CONFIG_ANDROID_RAM_CONSOLE" inside the kernel config.
vibetonz: add support to adjust vibration intensity
Fixed CMBLN, added BLNv9
Removed CMBLN implementation!
BLN disabled by default!
Squashed update of kernel from 3.0.70 to 3.0.71
Fix WEP connection!
ARM: decompressor: avoid speculative prefetch from non-RAM areas

We setup identity MMU mappings across the entire 4GB of space, which
are permissionless because the domain is set to manager.

This unfortunately allows ARMv6 and later CPUs to speculatively
prefetch from the entire address space, which can cause undesirable
side effects if those regions contain devices.

As we setup the mappings with read/write permission, we can switch
the domain to client mode, and then use the XN bit for ARMv6 and
above to control speculative prefetch to non-RAM areas.

CRs-Fixed: 415757
Change-Id: I24bacf244b1e987e1b966eee64a2578cbdb12080
Reported-by: R Sricharan <r.sricharan@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit 3463f07a22f288c6230aa8c230f623d9183c5a10)

Signed-off-by: Shruthi Krishna <skrish@codeaurora.org>
Disable ak8975 driver in iio
Move wlan gpio init to broadcom_wlan.c
cpufreq: interactive: allow arbitrary speed / delay mappings

Accept a string of delays and speeds at which to apply the delay before
raising each step above hispeed. For example, "80000 1300000:200000
1500000:40000" means that the delay at or above 1GHz, until 1.3GHz is 80 msecs,
the delay until 1.5GHz is 200 msecs and the delay at or above 1.5GHz is 40
msecs when hispeed_freq is 1GHz.

[toddpoynor@google.com: add documentation]
Change-Id: Ifeebede8b1acbdd0a53e5c6916bccbf764dc854f
Signed-off-by: Minsung Kim <ms925.kim@samsung.com>
cpufreq: interactive: fix crash on error paths in get_tokenized_data

Use separate variable for error code, free proper pointer.

Change-Id: Ia83cccb195997789ac6afbf5b8761f7b278196d6
Reported-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
cpufreq: interactive: base above_hispeed_delay on target freq, not current

Time to wait should be based on the intended target speed, not the
actual speed (which may be held high by another CPU).

Change-Id: Ifc5bb55d06adddb9a02af90af05398a78f282272
Reported-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Revert "msm_fb: display: remove background invert alpha option for alpha drop pipe"

This reverts commit 0119007a18aae8a8fb43f4320509bda161da4167.

CRs-fixed: 461574
Change-Id: Ia768030ec859a4ff38549686936789413826df32
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm_fb: display: silent blending error warning message

If there had no any pipe blending stage changes, then do not
call belnding set up to avoid unnecessary warning messges.

CRs-fixed: 467556
Change-Id: I07520b3b0917375c41405e736dcb9eb8a3daddc1
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: exit properly when rotator max session reached

When rotator session reach maximum, it should exit without calling
put_img since no get_img had been called.

CRs-fixed: 466462
Change-Id: I951570227ebd81da6dad19c1b897cde84f8d0451
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: Fix adb shell start/stop issue when bypass enabled

Currently when 2/3/4 layer bypass is enabled, doing a adb shell
stop/start is failing overlay and composition happens through
GPU. Fix this issue by proper overlay configuration during this
scenario.

Change-Id: Ia04f1839bf80ed552671e48445af63a4dcd6bdfd
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm: smd: Refactor init code for platform data

Refactor init code to use configuration data from
platform devices. Platform device will contain the
interrupt numbers and other configurations
that is valid for a particular target. SMD init code
will use the platform data to register for and trigger
the interrupts which are relevant to a target.

Signed-off-by: Angshuman Sarkar <angshuman@codeaurora.org>
(cherry picked from commit bad32df37b5b1a68eef81f9c004c6138d5c3a739)

Change-Id: Ic95075856a17dac031cec2cea205736cbeb92e46
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
msm: board: share the same ADM channel between NAND and eMMC

Currently for MSM7x27A and MSM7x30, all the SDCC slots share
the same ADM channel. This means both SD and eMMC card slots
will share the same ADM channel. But as SD card can be hot pluggable,
SD card insertion/removal can cause the ADM channel flush which
possibly can affect the ongoing transfer on eMMC (as it shares the
same ADM channel with SD card).

On the other hand, we generally have either eMMC or NAND flash device
active on any platform. So if eMMC is used, NAND won't be used or
mostly not present on board. This means eMMC slot can use the same
ADM channel which NAND uses and this way both SD and eMMC slots will
have separate ADM channel.

CRs-fixed: 374842
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
(cherry picked from commit f29aefdd29f3add555d119f814ed209c8e455374)

Change-Id: I8cd05cd7d3b914f7de1f38146ca14eb4a08c6c57
Signed-off-by: Srivalli Oguri <oguri@codeaurora.org>
msm: board: Set the correct 2D core clock frequency in 7x30

The 2D clock was synchronously tied to the AXI bus in frequency on
the 7x30 platform. So its was never set before. Now, with the
updated clock APIs, this made the clock to be enabled before it is
prepared. This change ensures the clock is prepared before it is
enabled.

CRs-fixed: 375424
Signed-off-by: Ranjhith Kalisamy <ranjhith@codeaurora.org>
(cherry picked from commit a89ffc7fbe30b3a16a8f77482c5942b9d08f314b)

Change-Id: Ibdf36c6b8202fb52425110d94de867b46f28a738
Signed-off-by: Gopal G Goberu <ggober@codeaurora.org>