CHROMIUM: config: Enable squashfs on all archs

Squashfs support for the rootfs requires this on every kernel since
the first FSI or latest stepping stone. Only lzo and gz support are
enabled because xz is too slow.

BUG=chromium:435282
TEST=kernel still builds and squashfs is enabled in the config.

Signed-off-by: Alex Deymo <deymo@chromium.org>
Change-Id: If73df0ab315303f5cbfc5f04f12d6d6a74e14a59
Reviewed-on: https://chromium-review.googlesource.com/231186
Reviewed-by: Olof Johansson <olofj@chromium.org>
BACKPORT: device coredump: add new device coredump class

(upstream commits 833c95456a70826d1384883b73fd23aff24d366f,
9c6026994c2a18473c9ef9ed77e8cf8e344f4357 and
cd3d9ea142c9fd47351e79fe30c7ae2c86302cda to get the same
Kconfig logic; all modified to compile on this tree)

Many devices run firmware and/or complex hardware, and most of that
can have bugs. When it misbehaves, however, it is often much harder
to debug than software running on the host.

Introduce a "device coredump" mechanism to allow dumping internal
device/firmware state through a generalized mechanism. As devices
are different and information needed can vary accordingly, this
doesn't prescribe a file format - it just provides mechanism to
get data to be able to capture it in a generalized way (e.g. in
distributions.)

The dumped data will be readable in sysfs in the virtual device's
data file under /sys/class/devcoredump/devcd*/. Writing to it will
free the data and remove the device, as does a 5-minute timeout.

Note that generalized capturing of such data may result in privacy
issues, so users generally need to be involved. In order to allow
certain users/system integrators/... to disable the feature at all,
introduce a Kconfig option to override the drivers that would like
to have the feature.

For now, this provides two ways of dumping data:
 1) with a vmalloc'ed area, that is then given to the subsystem
    and freed after retrieval or timeout
 2) with a generalized reader/free function method

We could/should add more options, e.g. a list of pages, since the
vmalloc area is very limited on some architectures.

Change-Id: I8b84d6880c8f0430d4f0454dea323cc8603efa07
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://chromium-review.googlesource.com/226531
Reviewed-by: Kees Cook <keescook@chromium.org>
FROMLIST: devcoredump: provide a one-way disable function

(From http://mid.gmane.org/1415913389-17734-1-git-send-email-johannes@sipsolutions.net)

Since device/firmware coredumps can contain private data, it can
be desirable to turn them off unconditionally to be certain that
no such data will be collected by the system.

To achieve this, provide a "disabled" sysfs class attribute that
can only be changed from 0 to 1 and not back. Upon disabling,
discard existing coredumps and stop storing new ones.

Change-Id: I9e1c9a7f375f3636ad7c9486eb1b4619b3ffc8c8
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/229575
Reviewed-by: Kees Cook <keescook@chromium.org>
CHROMIUM: config: Disable WDT and LPC_ICH for 3.8 kernel.

On the 3.8 kernel, lpc_ich driver is conflict with nm10_gpio driver
for gpio handling. Devices are missing the necessary ACPI table, so
lpc_ich doesn't work. Disable WDT and LPC_ICH to allow the nm10 GPIO
driver to work.

BUG=chrome-os-partner:28478
TEST=Manual on Stout and Link. Found gpio exported devices in /sys/class/gpio.

Change-Id: I865f617e2de1486df7b914c0494b3c330e6405a6
Signed-off-by: Kevin Cheng <kevin.cheng@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/205820
Tested-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-by: Sameer Nanda <snanda@chromium.org>
Commit-Queue: Shawn Nematbakhsh <shawnn@chromium.org>
Merge branch 'chromeos-3.8' of https://chromium.googlesource.com/chromiumos/third_party/kernel into chromeos-3.8