clk: add helper functions clk_prepare_enable and clk_disable_unprepare

It's for migrating to generic clk framework API.

The helper functions  help cases clk_enable/clk_disable is used
in non-atomic context.
For example, Call clk_enable in probe and clk_disable in remove.

Change-Id: If4023d1856ecc07f332f072c1b4831ad3cba82de
Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
msm_rotator: add clk prepare changes to rotator as well
msm: display: Add device pointer with clk_get for retrieving clocks

clk_get requires device pointer to return appropriate clocks
for display subsystem. Rename the names of display related clocks
in the lookup table based on functionality.

CRs-Fixed: 336925
Change-Id: I784bc4e650d779d1422a9ff1b9a75e36d669e551
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm: cpufreq: Release cpumask_var_t on all cases

Release cpufreq 'mask' variable when it fails to qualify for changing
cpu frequency.

CRs-fixed: 348827
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
(cherry picked from commit fdf788b79589280622f1fb7f761194234442d2ef)

Change-Id: I38e4de8fee99a68c05df423d19339ba033064eef
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: kgsl: Idle the core before changing the gpu clock.

Idle the core before changing the gpu clock as instability
is caused on some platforms on changing the clock freq when
core is busy.

CRs-fixed: 328249
Signed-off-by: Kedar Joshi <kjoshi@codeaurora.org>
(cherry picked from commit c11d098f53dd1fb07ea03475510c29c39b9671ab)

Change-Id: I11fc58128560b131f60a84fc94b8bc48134a9eaa
Signed-off-by: Srivalli Oguri <oguri@codeaurora.org>
arm: mm: Check if movable zone has a nonzero size

If CONFIG_FIX_MOVABLE_ZONE is enabled but the
the movable zone is not set up, vmalloc_min
will become 0 and the kernel will crash.

This change checks that movable_reserved_size
is nonzero before doing anything.

Change-Id: I3d3cb2482fde20fbd1dd0668dbbd414e42eda995
Signed-off-by: Jack Cheung <jackc@codeaurora.org>
arm: mm: Compare phys address instead of virt

Doing __va(movable_reserved_start) can overflow if
movable_reserved_start is a very high address. This
will cause the comparison to evaluate incorrectly.

This change instead compares the physical addresses, which
cannot overflow/underflow.

Change-Id: I6c82df16b77a905617aa6f59c2eeaf7acb36c76d
Signed-off-by: Jack Cheung <jackc@codeaurora.org>
msm: improve handling of DONT_MAP_HOLE_AFTER_MEMBANK0

The code to avoid mapping the hole after memory bank 0
located the start and size of this hole after running
generic initialization code which needed to convert
physical addresses to virtual ones and vice-versa
beyond this hole.

While this didn't prevent the kernel from booting, this
isn't clean, and in fact it was giving us more vmalloc
space than the config file specified (and as a result
there was less lowmem than expected).

The code to locate the hole now runs before this
initialization code.

CRs-Fixed: 352258
Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
(cherry picked from commit 31a949b5c5004f017e4adfa86f4a136025acdcd4)

Change-Id: Ia80c5db63c214ab86084ef68e29429fbac622434
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
(cherry picked from commit af20a668c96a6869d89bc9430bee748fb43f52d2)