Example #1
0
int cros_ec_get_next_event(struct cros_ec_device *ec_dev, bool *wake_event)
{
	u32 host_event;
	int ret;

	if (!ec_dev->mkbp_event_supported) {
		ret = get_keyboard_state_event(ec_dev);
		if (ret < 0)
			return ret;

		if (wake_event)
			*wake_event = true;

		return ret;
	}

	ret = get_next_event(ec_dev);
	if (ret < 0)
		return ret;

	if (wake_event) {
		host_event = cros_ec_get_host_event(ec_dev);

		/* Consider non-host_event as wake event */
		*wake_event = !host_event ||
			      !!(host_event & ec_dev->host_event_wake_mask);
	}

	return ret;
}
Example #2
0
int cros_ec_get_next_event(struct cros_ec_device *ec_dev)
{
	if (ec_dev->mkbp_event_supported)
		return get_next_event(ec_dev);
	else
		return get_keyboard_state_event(ec_dev);
}