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 struct cros_ec_device; 14 15 int cros_ec_register(struct cros_ec_device *ec_dev); 16 void cros_ec_unregister(struct cros_ec_device *ec_dev); 17 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); 24 25 irqreturn_t cros_ec_irq_thread(int irq, void *data); 26 27 #endif /* __CROS_EC_H */ 28