GPU: Backport from caf-jb_2.5.5

Conflicts:
	arch/arm/mach-msm/include/mach/iommu.h
	drivers/gpu/msm/kgsl_pwrctrl.c
	drivers/gpu/msm/kgsl_pwrctrl.h
	include/linux/iommu.h
	include/linux/ion.h
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.

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>
Disable DEBUG_FS
disable CONFIG_DEBUG_FS and open the pandora's box
While fixing the mess spilled out of the box,
all code changes are my fault, don't blame anyone else :)
To the devs who made this mess:
A kernel option is an option, you must know that it can be disabled.
If you need a kernel option, declare a dependence in one of the Kconfig files.
Otherwise, put your "professional" coding together
and handle the optional kernel features properly.
DEBUG_FS is not your scratch pad.
Sheesh!
-mrg666

Conflicts:
	drivers/tty/serial/msm_serial_hs.c
	drivers/tty/serial/msm_serial_hs_ti_dc.c
	drivers/usb/gadget/f_diag.c
	drivers/usb/gadget/u_bam.c
	drivers/usb/gadget/u_serial.c