Merge remote-tracking branch 'caf/kk_2.7_rb1.43' into cm-11.0

Conflicts:
	fs/proc/task_mmu.c

Change-Id: Ia1e592b3943c66832acc49f6f948810367570af7
seq_file: finish removal of len.

Finish commit "seq_file: remove "%n" usage from seq_file users" after the new
function call introduced in "mm: add a field to store names for private
anonymous memory"

Change-Id: I99cc420fb4fcf2c9d74fc87da98023c19033d01d
usb: gadget: f_audio_source: Fixed USB Audio Class Interface Descriptor

Fixed Android Issue #56549.

When both Vendor Class and Audio Class are activated for AOA 2.0,
the baInterfaceNr of the AudioControl Interface Descriptor points
to wrong interface numbers. They should be pointing to
Audio Control Device and Audio Streaming interfaces.

Replaced baInterfaceNr with the correct value.

Change-Id: Ib20f20c1d65887bac051b7ff9453dc53fc23a8d0
Signed-off-by: Anson Jacob <ansonkuzhumbil@gmail.com>
ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim

* What
This provides an interface for issuing an FITRIM which uses the
secure discard instead of just a discard.
Only the eMMC command is "secure", and not how the FS uses it:
due to the fact that the FS might reassign a region somewhere else,
the original deleted data will not be affected by the "trim" which only
handles un-used regions.
So we'll just call it "deep discard", and note that this is a
"best effort" cleanup.

* Why
Once in a while, We want to be able to cleanup most of the unused blocks
after erasing a bunch of files.
We don't want to constantly secure-discard via a mount option.

From an eMMC spec perspective, it tells the device to really get rid of
all the data for the specified blocks and not just put them back into the
pool of free ones (unlike the normal TRIM). The eMMC spec says the
secure trim handling must make sure the data (and metadata) is not available
anymore. A simple TRIM doesn't clear the data, it just puts blocks in the
free pool.
JEDEC Standard No. 84-A441
  7.6.9 Secure Erase
  7.6.10 Secure Trim

From an FS perspective, it is acceptable to leave some data behind.
 - directory entries related to deleted files
 - databases entries related to deleted files
 - small-file data stored in inode extents
 - blocks held by the FS waiting to be re-used (mitigated by sync).
 - blocks reassigned by the FS prior to FIDTRIM.

Change-Id: I676a1404a80130d93930c84898360f2e6fb2f81e
Signed-off-by: Geremy Condra <gcondra@google.com>
Signed-off-by: JP Abgrall <jpa@google.com>
usb: msm_otg: allow peripheral mode switch in more host states

The current code allows peripheral mode switch in only A_HOST state
using user mode otg control debug interface. The target can also be
in A_WAIT_BCON and A_SUSPEND while operating as a host. Allow peripheral
mode switch in these states as well. Also check the PMIC id status
when the otg control is set to PMIC.

Change-Id: I6557b38ce5615e5c7ac3e670086bbfa98507bda7
Signed-off-by: ChandanaKishori Chiluveru <cchilu@codeaurora.org>
d2: enable qcom crypto device

Change-Id: I8159ffb453ad29593f85d50ecec4e853bcedeecf
d2: enable shit at random for fun
f2fs: resync with upstream 3.4 branch (forced update)

Change-Id: I1e7f8893f4330e8084827568327ba5e4eafc684c