lib/memcopy: use glibc version

the kernel's memcpy and memmove is very inefficient. But the glibc version is
quite fast, in some cases it is 10 times faster than the kernel version. So I
introduce some memory copy macros and functions of the glibc to improve the
kernel version's performance.

The strategy of the memory functions is:
1. Copy bytes until the destination pointer is aligned.
2. Copy words in unrolled loops.  If the source and destination are not
   aligned in the same way, use word memory operations, but shift and merge
   two read words before writing.
3. Copy the few remaining bytes.

Signed-off-by: Miao Xie <miaox*******>
Signed-off-by: faux123 <reioux@gmail.com>
lib/string: use glibc version

the performance of memcpy and memmove of the general version is very
inefficient, this patch improved them.

Signed-off-by: Miao Xie <miaox*******>
Signed-off-by: faux123 <reioux@gmail.com>
DRIVERS: SLIMBUS: some more tweaks, which is double what we had before. According to some documents this is what we want for optimium audio quality

ZeroInfinity/Poondog

Signed-off-by: ZeroInfinity <infinitezero345@gmail.com>
Signed-off-by: poondog <markj338@gmail.com>
Signed-off-by: flar2 <asegaert@gmail.com>
GPU: start at 200MHz instead of 320MHz

Signed-off-by: flar2 <asegaert@gmail.com>
Add /dev/frandom support

Signed-off-by: flar2 <asegaert@gmail.com>
Add fsync option

Signed-off-by: flar2 <asegaert@gmail.com>

Conflicts:
	fs/sync.c
Add schedulers and governors
Revert "Add fsync option"

This reverts commit 2bdb643452d8ffba4be01d04d91f773fb6dec700.
Try and get charger working..
Changes for VS985

Conflicts:
	drivers/net/wireless/bcmdhd/src/wl/sys/wl_cfg80211.c
	drivers/power/bq24296_charger.c
	drivers/switch/hds_max1462x.c
	drivers/switch/hds_max14688.c
	drivers/usb/dwc3/dwc3-msm.c
	drivers/usb/dwc3/gadget.c

Conflicts:
	arch/arm/boot/zImage-dtb
	scripts/.tmpcompile
Revert "Try and get charger working.."

This reverts commit d18849b92e923cbbb01ebd923719e32a878eb316.
FINAL fixes to get stable kernel