1034dbec1SEnric Balletbo i Serra /* SPDX-License-Identifier: GPL-2.0-only */ 2034dbec1SEnric Balletbo i Serra /* 3034dbec1SEnric Balletbo i Serra * ChromeOS Embedded Controller core interface. 4034dbec1SEnric Balletbo i Serra * 5034dbec1SEnric Balletbo i Serra * Copyright (C) 2020 Google LLC 6034dbec1SEnric Balletbo i Serra */ 7034dbec1SEnric Balletbo i Serra 8034dbec1SEnric Balletbo i Serra #ifndef __CROS_EC_H 9034dbec1SEnric Balletbo i Serra #define __CROS_EC_H 10034dbec1SEnric Balletbo i Serra 1124c69043SGwendal Grignou #include <linux/interrupt.h> 1224c69043SGwendal Grignou 13a7bad167STzung-Bi Shih struct cros_ec_device; 14a7bad167STzung-Bi Shih 15034dbec1SEnric Balletbo i Serra int cros_ec_register(struct cros_ec_device *ec_dev); 16afb0a80eSUwe Kleine-König void cros_ec_unregister(struct cros_ec_device *ec_dev); 17034dbec1SEnric Balletbo i Serra 18034dbec1SEnric Balletbo i Serra int cros_ec_suspend(struct cros_ec_device *ec_dev); 19*47ea0ddbSLalith Rajendran int cros_ec_suspend_late(struct cros_ec_device *ec_dev); 20*47ea0ddbSLalith Rajendran int cros_ec_suspend_prepare(struct cros_ec_device *ec_dev); 21034dbec1SEnric Balletbo i Serra int cros_ec_resume(struct cros_ec_device *ec_dev); 22*47ea0ddbSLalith Rajendran int cros_ec_resume_early(struct cros_ec_device *ec_dev); 23*47ea0ddbSLalith Rajendran void cros_ec_resume_complete(struct cros_ec_device *ec_dev); 24034dbec1SEnric Balletbo i Serra 2524c69043SGwendal Grignou irqreturn_t cros_ec_irq_thread(int irq, void *data); 26034dbec1SEnric Balletbo i Serra 27034dbec1SEnric Balletbo i Serra #endif /* __CROS_EC_H */ 28