Re: [PATCH] mfd: cros_ec_dev: Add a poll handler to receive MKBP events

From: Lee Jones
Date: Tue Apr 02 2019 - 00:06:55 EST


On Fri, 08 Mar 2019, Enric Balletbo i Serra wrote:

> From: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
>
> Allow to poll on the cros_ec device to receive the MKBP events.
>
> The /dev/cros_[ec|fp|..] file operations now implements the poll
> operation. The userspace can now receive specific MKBP events by doing the
> following:
> - Open the /dev/cros_XX file.
> - Call the CROS_EC_DEV_IOCEVENTMASK ioctl with the bitmap of the MKBP
> events it wishes to receive as argument.
> - Poll on the file descriptor.
> - When it gets POLLIN, do a read on the file descriptor, the first
> queued event will be returned (using the struct
> ec_response_get_next_event format: one byte of event type, then
> the payload).
>
> The read() operation returns at most one event even if there are several
> queued, and it might be truncated if the buffer is smaller than the
> event (but the caller should know the maximum size of the events it is
> reading).
>
> read() used to return the EC version string, it still does it when no
> event mask or an empty event is set for backward compatibility (despite
> nobody really using this feature).
>
> This will be used, for example, by the userspace daemon to receive and
> treat the EC_MKBP_EVENT_FINGERPRINT sent by the FP MCU.

MFD does not seem like the correct place for this. Maybe this is a
good candidate for drivers/platform/chrome/* where the rest of your
platform empire now resides.

> Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> ---
>
> drivers/mfd/cros_ec_dev.c | 163 +++++++++++++++++++++++++++++++++++++-
> drivers/mfd/cros_ec_dev.h | 1 +
> 2 files changed, 160 insertions(+), 4 deletions(-)

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog