chrome platform changes for 5.6

* CrOS EC
- Refactoring of some of cros_ec's headers. include/linux/mfd/cros_ec.h now
  removed, new cros_ec.h added drivers/platform/chrome which contains shared
  operations of cros_ec transport drivers.
- Response tracing in cros_ec_proto

* Wilco EC
- Fix unregistration order.
- Fix keyboard backlight probing on systems without keyboard backlight
- Minor cleanup (newlines in printks, COMPILE_TEST)

* Misc
- chromeos_laptop converted to use i2c_new_scanned_device instead of
  i2c_new_probed_device
platform/chrome: cros_ec: Match implementation with headers

The 'cros_ec' core driver is the common interface for the cros_ec
transport drivers to do the shared operations to register, unregister,
suspend, resume and handle_event. The interface is provided by including
the header 'include/linux/platform_data/cros_ec_proto.h', however, instead
of have the implementation of these functions in cros_ec_proto.c, it is in
'cros_ec.c', which is a different kernel module. Apart from being a bad
practice, this can induce confusions allowing the users of the cros_ec
protocol to call these functions.

The register, unregister, suspend, resume and handle_event functions
*should* only be called by the different transport drivers (i2c, spi, lpc,
etc.), so make this a bit less confusing by moving these functions from
the public in-kernel space to a private include in platform/chrome, and
then, the interface for cros_ec module and for the cros_ec_proto module is
clean.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Benson Leung <bleung@chromium.org>
8 files changed