cros_ec.h 759 B

123456789101112131415161718192021222324252627
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * ChromeOS Embedded Controller core interface.
  4. *
  5. * Copyright (C) 2020 Google LLC
  6. */
  7. #ifndef __CROS_EC_H
  8. #define __CROS_EC_H
  9. #include <linux/interrupt.h>
  10. struct cros_ec_device;
  11. int cros_ec_register(struct cros_ec_device *ec_dev);
  12. void cros_ec_unregister(struct cros_ec_device *ec_dev);
  13. int cros_ec_suspend(struct cros_ec_device *ec_dev);
  14. int cros_ec_suspend_late(struct cros_ec_device *ec_dev);
  15. int cros_ec_suspend_prepare(struct cros_ec_device *ec_dev);
  16. int cros_ec_resume(struct cros_ec_device *ec_dev);
  17. int cros_ec_resume_early(struct cros_ec_device *ec_dev);
  18. void cros_ec_resume_complete(struct cros_ec_device *ec_dev);
  19. irqreturn_t cros_ec_irq_thread(int irq, void *data);
  20. #endif /* __CROS_EC_H */