Merged features from upstream Linux 3.9-rc6

Conflicts:
	arch/arm/mach-msm/htc_battery_8x60.c
	drivers/char/diag/diagchar.h
	drivers/char/diag/diagchar_core.c
	drivers/char/diag/diagchar_hdlc.c
	drivers/char/diag/diagchar_hdlc.h
	drivers/char/diag/diagfwd.c
	drivers/char/diag/diagfwd.h
	drivers/char/diag/diagfwd_cntl.c
	drivers/char/diag/diagfwd_cntl.h
	drivers/char/diag/diagfwd_sdio.c
	drivers/char/diag/diagfwd_sdio.h
	drivers/char/diag/diagmem.c
	drivers/char/diag/diagmem.h
	drivers/usb/gadget/f_diag.c
	include/linux/diagchar.h

Signed-off-by: Sultan <sultanxda@gmail.com>