1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2024 Intel Corporation */
3 
4 #ifndef _QUICKI2C_PROTOCOL_H_
5 #define _QUICKI2C_PROTOCOL_H_
6 
7 #include <linux/hid-over-i2c.h>
8 
9 struct quicki2c_device;
10 
11 int quicki2c_set_power(struct quicki2c_device *qcdev, enum hidi2c_power_state power_state);
12 int quicki2c_get_report(struct quicki2c_device *qcdev, u8 report_type,
13 			unsigned int reportnum, void *buf, u32 buf_len);
14 int quicki2c_set_report(struct quicki2c_device *qcdev, u8 report_type,
15 			unsigned int reportnum, void *buf, u32 buf_len);
16 int quicki2c_get_device_descriptor(struct quicki2c_device *qcdev);
17 int quicki2c_get_report_descriptor(struct quicki2c_device *qcdev);
18 int quicki2c_reset(struct quicki2c_device *qcdev);
19 
20 #endif /* _QUICKI2C_PROTOCOL_H_ */
21