GCC/Linaro 4.8 build fix

Also add a configurable option to enable gcc 4.8 fixes
For build with GCC 4.9 just the kernel

Conflicts:
	Makefile
Remove unused config files and add omni_golden_defconfig
gadget: fix compiler warning
fix all section mismatches
misc: Clean up warnings

Signed-off-by: cocafe <cocafehj@gmail.com>
fixed warning in decompressor
rcu: convert uses of rcu_assign_pointer(x, NULL) to RCU_INIT_POINTER

Adapted for using with kernel_samsung_golden

When assigning a NULL value to an RCU protected pointer, no barrier
is needed. The rcu_assign_pointer, used to handle that but will soon
change to not handle the special case.

Convert all rcu_assign_pointer of NULL value.

//smpl
@@ expression P; @@

- rcu_assign_pointer(P, NULL)
+ RCU_INIT_POINTER(P, NULL)

// </smpl>

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Fix "include/linux/moduleparam.h" Warning
Fix warning: "RESET_PRIMARY_SENSOR" / "RESET_SECONDARY_SENSOR" redefined
display-s6e63m0: Fix Section mismatch

Signed-off-by: AdiPat <adithemagnificent@gmail.com>
display-s6e663m0: Fix section mismatch

Signed-off-by: AdiPat <adithemagnificent@gmail.com>
dbx500-prcmu: Fix section mismatch

Signed-off-by: AdiPat <adithemagnificent@gmail.com>
golden: Fix section mismatch
adapted for golden device
Signed-off-by: AdiPat <adithemagnificent@gmail.com>
sched: set sched_mc_power_savings to 2

This tunable provides serious power saving improvements similar to the power savings of hotplugging cores. Since we are using interactive governor by default, we're always using 2 cores at any time. Thus, we can benefit from this as this feature packs tasks together and try to bind them to cpu0, which in theory will let cpu1 idle longer, thus improving battery life.

Signed-off-by: zwliew <zhaoweiliew@gmail.com>
mm: increase VM_MAX_READAHEAD to 512kB

Increasing readahead to 512kB should bring about read/write performance increases.

Signed-off-by: zwliew <zhaoweiliew@gmail.com>
ARM: use -mcpu=cortex-a9 when targeting U8420 CPUs (Cortex-A9 based)
This is done in order to force compliant GCC compiler to generate the new
sdiv/udiv instructions supported by Cortex-A9 architecture

Change-Id: I6b27e5eeadad17259f77aac53fabfcaf257657fe
Signed-off-by: zwliew <zhaoweiliew@gmail.com>
bcmdhd: set off-screen PM mode to FAST

This allows the best wifi performance in screen off mode.

Change-Id: I1fa94e719581408655be8af923d30216038ea738
Signed-off-by: zwliew <zhaoweiliew@gmail.com>
snd_usb: fix sysfs conflicts

<4>[    1.265808] WARNING: at fs/sysfs/dir.c:455 sysfs_add_one+0x90/0xb8()
<4>[    1.265808] sysfs: cannot create duplicate filename '/devices/virtual/switch/usb_audio'
<4>[    1.265808] Modules linked in:
<4>[    1.265869] [<c08e70dc>] (unwind_backtrace+0x0/0x138) from [<c0911e88>] (warn_slowpath_common+0x4c/0x64)
<4>[    1.265869] [<c0911e88>] (warn_slowpath_common+0x4c/0x64) from [<c0911f34>] (warn_slowpath_fmt+0x30/0x40)
<4>[    1.265899] [<c0911f34>] (warn_slowpath_fmt+0x30/0x40) from [<c0a0be5c>] (sysfs_add_one+0x90/0xb8)
<4>[    1.265899] [<c0a0be5c>] (sysfs_add_one+0x90/0xb8) from [<c0a0bee4>] (create_dir+0x60/0xbc)
<4>[    1.265930] [<c0a0bee4>] (create_dir+0x60/0xbc) from [<c0a0bff0>] (sysfs_create_dir+0x84/0xf0)
<4>[    1.265930] [<c0a0bff0>] (sysfs_create_dir+0x84/0xf0) from [<c0ac2ff0>] (kobject_add_internal+0xb0/0x218)
<4>[    1.265960] [<c0ac2ff0>] (kobject_add_internal+0xb0/0x218) from [<c0ac3470>] (kobject_add+0x4c/0x94)
<4>[    1.265991] [<c0ac3470>] (kobject_add+0x4c/0x94) from [<c0b5af5c>] (device_add+0x94/0x54c)
<4>[    1.265991] [<c0b5af5c>] (device_add+0x94/0x54c) from [<c0b5b4d0>] (device_create_vargs+0xa4/0xd4)
<4>[    1.266021] [<c0b5b4d0>] (device_create_vargs+0xa4/0xd4) from [<c0b5b520>] (device_create+0x20/0x28)
<4>[    1.266021] [<c0b5b520>] (device_create+0x20/0x28) from [<c0c63108>] (switch_dev_register+0x5c/0xfc)
<4>[    1.266052] [<c0c63108>] (switch_dev_register+0x5c/0xfc) from [<c002b770>] (snd_usb_audio_init+0x3c/0x64)
<4>[    1.266082] [<c002b770>] (snd_usb_audio_init+0x3c/0x64) from [<c08da6b4>] (do_one_initcall+0x38/0x178)
<4>[    1.266082] [<c08da6b4>] (do_one_initcall+0x38/0x178) from [<c00089ac>] (kernel_init+0x90/0x13c)
<4>[    1.266113] [<c00089ac>] (kernel_init+0x90/0x13c) from [<c08e1990>] (kernel_thread_exit+0x0/0x8)
<4>[    1.266143] Board Information: UX500: 0E, cpu U8500 ES178
<4>[    1.266174] ---[ end trace 189fe1a0ae07c69e ]---
<3>[    1.266174] kobject_add_internal failed for usb_audio with -EEXIST, don't try to register things with the same name in the same directory.
<4>[    1.266204] [<c08e70dc>] (unwind_backtrace+0x0/0x138) from [<c0ac3088>] (kobject_add_internal+0x148/0x218)
<4>[    1.266204] [<c0ac3088>] (kobject_add_internal+0x148/0x218) from [<c0ac3470>] (kobject_add+0x4c/0x94)
<4>[    1.266235] [<c0ac3470>] (kobject_add+0x4c/0x94) from [<c0b5af5c>] (device_add+0x94/0x54c)
<4>[    1.266235] [<c0b5af5c>] (device_add+0x94/0x54c) from [<c0b5b4d0>] (device_create_vargs+0xa4/0xd4)
<4>[    1.266265] [<c0b5b4d0>] (device_create_vargs+0xa4/0xd4) from [<c0b5b520>] (device_create+0x20/0x28)
<4>[    1.266265] [<c0b5b520>] (device_create+0x20/0x28) from [<c0c63108>] (switch_dev_register+0x5c/0xfc)
<4>[    1.266296] [<c0c63108>] (switch_dev_register+0x5c/0xfc) from [<c002b770>] (snd_usb_audio_init+0x3c/0x64)
<4>[    1.266296] [<c002b770>] (snd_usb_audio_init+0x3c/0x64) from [<c08da6b4>] (do_one_initcall+0x38/0x178)
<4>[    1.266326] [<c08da6b4>] (do_one_initcall+0x38/0x178) from [<c00089ac>] (kernel_init+0x90/0x13c)
<4>[    1.266357] [<c00089ac>] (kernel_init+0x90/0x13c) from [<c08e1990>] (kernel_thread_exit+0x0/0x8)
<6>[    1.266632] usbcore: registered new interface driver snd-usb-audio

Conflicts:

	arch/arm/mach-ux500/android_switch.c

	/* Android switch interface */
	ux500_android_switch.name = "usb_audio";

	ret = switch_dev_register(&ux500_android_switch);

Signed-off-by: cocafe <cocafehj@gmail.com>
ARM: 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>