linux: update kernel tree to 3.0.25

Conflicts:

	drivers/gpu/drm/nouveau/nouveau_gem.c
	drivers/gpu/drm/radeon/radeon_irq_kms.c
	drivers/media/video/uvc/uvc_v4l2.c
	drivers/pci/pcie/aspm.c
	drivers/usb/serial/option.c
	drivers/xen/xenbus/xenbus_xs.c
	fs/proc/base.c
	sound/pci/intel8x0.c
ruby: build SPIDEV into kernel, not as a module
msm: kgsl: move msm_adreno220 files back to drivers/gpu/msm

HTC distinguish drivers/gpu/msm by using separate directories,
unfortunately this makes it annoying to merge changes from CAF. Move the
msm_adreno220 directory files back into its original location.

Conflicts:

	arch/arm/mach-msm/display/pyramid-panel.c
	drivers/gpu/Kconfig
	drivers/gpu/Makefile
	drivers/gpu/msm/adreno_a2xx_trace.h
	drivers/gpu/msm/kgsl_trace.h
	drivers/gpu/msm/z180_trace.h
	drivers/video/Kconfig
	drivers/video/msm/Kconfig
	drivers/video/msm_7x30/Kconfig
	drivers/video/msm_7x30/Makefile
	drivers/video/msm_8x60/mdp.c
	drivers/video/msm_8x60/mdp_hw.h
	drivers/video/msm_8x60/msm_fb.c
	include/linux/msm_kgsl.h
ruby: update ruby_defconfig for msm kgsl move
htc-battery-core: Fixing once again... (srsly htc? That was already there in 2.6.x)
gpu: ion: Add ION Memory Manager

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

Conflicts:

	drivers/gpu/Makefile
	drivers/gpu/ion/Kconfig
	drivers/gpu/ion/Makefile
	drivers/video/Kconfig
	include/linux/ion.h
gpu: ion: Several fixes

Fix some cases where locks were not released on error paths
Change heap->prio to heap->id to make meaning clearer
Fix kernel doc to match sources
gpu: ion: Fix bug in ion_buffer_add

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
gpu: ion: Remove incorrect error message

The function name is wrong here, and this function may
sometimes be called to see if a value passed from userspace
is an ion handle.  Since it's not really an error when it
fails, remove the log message.

Change-Id: I7bee0e7ffb72b4c4768774a3586f97e306700c21
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
gpu: ion: Fix bug in ion_client_create

If a process already had a client, ion_client_create
would loop forever.

Change-Id: I723207b5872dfc11be04ca27d38a3cf39c4a1426
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
gpu: ion: Fix bug in ion client destroy

ion_client_destroy kernel api should only delete the client
if it's refcount has gone to zero.

Change-Id: Iaa662bd82d67279a9807e01f9a24aebe3d21c17d
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
gpu: ion: Remove redunant code from ion_open

ion_client_create now does a lookup, so this need not
also be done from ion_open

Change-Id: Icb101bbf514bf2e40b4b5d9b320130bf185349aa
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
gpu: ion: Fix possible memory leak

Change-Id: I66f5ad2c95513dfab9f4fc5ae2fcb1316f486d34
Signed-off-by: Choi, Jong-Hwan <jhbird.choi@samsung.com>
gpu: ion: Fix deferencing ERR_PTR

Change-Id: I986c380d75591571890f1a2cba1405e66789b25c
Signed-off-by: Choi, Jong-Hwan <jhbird.choi@samsung.com>
gpu: ion: Validate handles passed via the kernel api

Before freeing or sharing handles, confirm that they
are valid in the provided client

Change-Id: I06ec599c0b277fcb5417325a12ecbf8b2d248a7b
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
ion: minor clean up

-- init rb nodes in ion_handle_create
-- in ion_handle_destroy, check that a node belongs to a tree before removing
   it (safety check, does not happen right now)
-- mark as static functions used only inside ion.c
-- update comments to ion_share() with a relevant blurb from the implementation
-- other minor updates/typo fixes to comments

Signed-off-by: Iliyan Malchev <malchev@google.com>
gpu: ion: check return value from gen_pool_add

Check the return value from gen_pool_add and handle
any error gracefully.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
gpu: ion: Add platform driver for msm ion

Add platform driver for msm specific ion devices

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>

Conflicts:

	drivers/gpu/ion/Kconfig
gpu: ion: Add support for carveout heaps on msm targets

Add infrastructure for supporting ion carveout heaps.
The memory type should be specified in the board file using
mach/ion.h. The ion platform driver will be responsible for
allocating the correct memory.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/devices.h
gpu: ion: Add support for cached and uncached mappings

Add explicit support for cached and uncached mappings. Functions
now describe whether mappings will be cached or uncached.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>