1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * ChromeOS Embedded Controller core interface.
4 *
5 * Copyright (C) 2020 Google LLC
6 */
7
8#ifndef __CROS_EC_H
9#define __CROS_EC_H
10
11#include <linux/interrupt.h>
12
13struct cros_ec_device;
14struct device;
15
16struct cros_ec_device *cros_ec_device_alloc(struct device *dev);
17
18int cros_ec_register(struct cros_ec_device *ec_dev);
19void cros_ec_unregister(struct cros_ec_device *ec_dev);
20
21int cros_ec_suspend(struct cros_ec_device *ec_dev);
22int cros_ec_suspend_late(struct cros_ec_device *ec_dev);
23int cros_ec_suspend_prepare(struct cros_ec_device *ec_dev);
24int cros_ec_resume(struct cros_ec_device *ec_dev);
25int cros_ec_resume_early(struct cros_ec_device *ec_dev);
26void cros_ec_resume_complete(struct cros_ec_device *ec_dev);
27
28irqreturn_t cros_ec_irq_thread(int irq, void *data);
29
30#endif /* __CROS_EC_H */
31

source code of linux/drivers/platform/chrome/cros_ec.h