mfd: cros_ec: Use fixed size arrays to transfer data with the EC
authorJavier Martinez Canillas <javier.martinez@collabora.co.uk>
Mon, 2 Feb 2015 11:26:22 +0000 (12:26 +0100)
committerOlof Johansson <olof@lixom.net>
Thu, 26 Feb 2015 23:44:52 +0000 (15:44 -0800)
commit1b84f2a4cd4a6f517a313261f6f7c8caae5696c6
tree8e7b0f5a1477c8792a83c7de0b03b8dc0ad737a1
parentc517d838eb7d07bbe9507871fab3931deccff539
mfd: cros_ec: Use fixed size arrays to transfer data with the EC

The struct cros_ec_command will be used as an ioctl() argument for the
API to control the ChromeOS EC from user-space. So the data structure
has to be 64-bit safe to make it compatible between 32 and 64 avoiding
the need for a compat ioctl interface. Since pointers are self-aligned
to different byte boundaries, use fixed size arrays instead of pointers
for transferring ingoing and outgoing data with the Embedded Controller.

Also, re-arrange struct members by decreasing alignment requirements to
reduce the needing padding size.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Acked-by: Lee Jones <lee.jones@linaro.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/i2c/busses/i2c-cros-ec-tunnel.c
drivers/input/keyboard/cros_ec_keyb.c
drivers/mfd/cros_ec.c
include/linux/mfd/cros_ec.h