1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * ChromeOS Embedded Controller core interface.
5 * Copyright (C) 2020 Google LLC
11 #include <linux/interrupt.h>
13 struct cros_ec_device
;
15 int cros_ec_register(struct cros_ec_device
*ec_dev
);
16 void cros_ec_unregister(struct cros_ec_device
*ec_dev
);
18 int cros_ec_suspend(struct cros_ec_device
*ec_dev
);
19 int cros_ec_suspend_late(struct cros_ec_device
*ec_dev
);
20 int cros_ec_suspend_prepare(struct cros_ec_device
*ec_dev
);
21 int cros_ec_resume(struct cros_ec_device
*ec_dev
);
22 int cros_ec_resume_early(struct cros_ec_device
*ec_dev
);
23 void cros_ec_resume_complete(struct cros_ec_device
*ec_dev
);
25 irqreturn_t
cros_ec_irq_thread(int irq
, void *data
);
27 #endif /* __CROS_EC_H */