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 13 int cros_ec_register(struct cros_ec_device *ec_dev); 14 void cros_ec_unregister(struct cros_ec_device *ec_dev); 15 16 int cros_ec_suspend(struct cros_ec_device *ec_dev); 17 int cros_ec_suspend_late(struct cros_ec_device *ec_dev); 18 int cros_ec_suspend_prepare(struct cros_ec_device *ec_dev); 19 int cros_ec_resume(struct cros_ec_device *ec_dev); 20 int cros_ec_resume_early(struct cros_ec_device *ec_dev); 21 void cros_ec_resume_complete(struct cros_ec_device *ec_dev); 22 23 irqreturn_t cros_ec_irq_thread(int irq, void *data); 24 25 #endif /* __CROS_EC_H */ 26