diff options
author | Enric Balletbo i Serra <enric.balletbo@collabora.com> | 2019-09-02 12:53:02 +0300 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2019-09-02 13:33:21 +0300 |
commit | eda2e30c6684d67288edb841c6125d48c608a242 (patch) | |
tree | 84d8a712522a5b133598cce149beb0e03a42d689 /drivers/mfd | |
parent | 47f11e0b40e97f373da4efbacee0a9526c816ed5 (diff) | |
download | linux-eda2e30c6684d67288edb841c6125d48c608a242.tar.xz |
mfd / platform: cros_ec: Miscellaneous character device to talk with the EC
That's a driver to talk with the ChromeOS Embedded Controller via a
miscellaneous character device, it creates an entry in /dev for every
instance and implements basic file operations for communicating with the
Embedded Controller with an userspace application. The API is moved to
the uapi folder, which is supposed to contain the user space API of the
kernel.
Note that this will replace current character device interface
implemented in the cros-ec-dev driver in the MFD subsystem. The idea is
to move all the functionality that extends the bounds of what MFD was
designed to platform/chrome subsystem.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/cros_ec_dev.c | 4 | ||||
-rw-r--r-- | drivers/mfd/cros_ec_dev.h | 35 |
2 files changed, 3 insertions, 36 deletions
diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c index 41dccced5026..4c96445b1bf5 100644 --- a/drivers/mfd/cros_ec_dev.c +++ b/drivers/mfd/cros_ec_dev.c @@ -7,15 +7,17 @@ #include <linux/fs.h> #include <linux/mfd/core.h> +#include <linux/mfd/cros_ec.h> +#include <linux/mfd/cros_ec_commands.h> #include <linux/module.h> #include <linux/mod_devicetable.h> +#include <linux/platform_data/cros_ec_chardev.h> #include <linux/of_platform.h> #include <linux/platform_device.h> #include <linux/pm.h> #include <linux/slab.h> #include <linux/uaccess.h> -#include "cros_ec_dev.h" #define DRV_NAME "cros-ec-dev" diff --git a/drivers/mfd/cros_ec_dev.h b/drivers/mfd/cros_ec_dev.h deleted file mode 100644 index 7a42c3ef50e4..000000000000 --- a/drivers/mfd/cros_ec_dev.h +++ /dev/null @@ -1,35 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * cros_ec_dev - expose the Chrome OS Embedded Controller to userspace - * - * Copyright (C) 2014 Google, Inc. - */ - -#ifndef _CROS_EC_DEV_H_ -#define _CROS_EC_DEV_H_ - -#include <linux/ioctl.h> -#include <linux/types.h> -#include <linux/mfd/cros_ec.h> - -#define CROS_EC_DEV_VERSION "1.0.0" - -/** - * struct cros_ec_readmem - Struct used to read mapped memory. - * @offset: Within EC_LPC_ADDR_MEMMAP region. - * @bytes: Number of bytes to read. Zero means "read a string" (including '\0') - * At most only EC_MEMMAP_SIZE bytes can be read. - * @buffer: Where to store the result. The ioctl returns the number of bytes - * read or negative on error. - */ -struct cros_ec_readmem { - uint32_t offset; - uint32_t bytes; - uint8_t buffer[EC_MEMMAP_SIZE]; -}; - -#define CROS_EC_DEV_IOC 0xEC -#define CROS_EC_DEV_IOCXCMD _IOWR(CROS_EC_DEV_IOC, 0, struct cros_ec_command) -#define CROS_EC_DEV_IOCRDMEM _IOWR(CROS_EC_DEV_IOC, 1, struct cros_ec_readmem) - -#endif /* _CROS_EC_DEV_H_ */ |