fmem: add qcache implementation

Part of this code is originally from the 3.1 version of the
tmem backend zcache.

The zcache code was copied to the qcache directory and
modifications were made, notably to the memory allocation
(from a block of pre-reserved contiguous memory rather
than from system memory), and to allow tmem and qcache to
be turned on and off either from a /sys file or using
an exported API.

A higher level driver (fmem) is provided that is
the interface to other (PMEM, ION, tmem/qcache) drivers.

Change-Id: Ieda939ed1ba7c5337dd4338b9d9caffde883e82b
Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
8 files changed