xref: /linux/drivers/platform/chrome/cros_ec.h (revision a7bad167bdc3cf4c47c6a9ec4fc9b4ae18b4614d)
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 
13*a7bad167STzung-Bi Shih struct cros_ec_device;
14*a7bad167STzung-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);
19034dbec1SEnric Balletbo i Serra int cros_ec_resume(struct cros_ec_device *ec_dev);
20034dbec1SEnric Balletbo i Serra 
2124c69043SGwendal Grignou irqreturn_t cros_ec_irq_thread(int irq, void *data);
22034dbec1SEnric Balletbo i Serra 
23034dbec1SEnric Balletbo i Serra #endif /* __CROS_EC_H */
24