1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * CrOS Kunit tests utilities. 4 */ 5 6 #ifndef _CROS_KUNIT_UTIL_H_ 7 #define _CROS_KUNIT_UTIL_H_ 8 9 #include <linux/platform_data/cros_ec_proto.h> 10 11 struct ec_xfer_mock { 12 struct list_head list; 13 struct kunit *test; 14 15 /* input */ 16 struct cros_ec_command msg; 17 void *i_data; 18 19 /* output */ 20 int ret; 21 int result; 22 void *o_data; 23 u32 o_data_len; 24 }; 25 26 extern int cros_kunit_ec_xfer_mock_default_result; 27 extern int cros_kunit_ec_xfer_mock_default_ret; 28 extern int cros_kunit_ec_cmd_xfer_mock_called; 29 extern int cros_kunit_ec_pkt_xfer_mock_called; 30 31 int cros_kunit_ec_xfer_mock(struct cros_ec_device *ec_dev, struct cros_ec_command *msg); 32 int cros_kunit_ec_cmd_xfer_mock(struct cros_ec_device *ec_dev, struct cros_ec_command *msg); 33 int cros_kunit_ec_pkt_xfer_mock(struct cros_ec_device *ec_dev, struct cros_ec_command *msg); 34 struct ec_xfer_mock *cros_kunit_ec_xfer_mock_add(struct kunit *test, size_t size); 35 struct ec_xfer_mock *cros_kunit_ec_xfer_mock_addx(struct kunit *test, 36 int ret, int result, size_t size); 37 struct ec_xfer_mock *cros_kunit_ec_xfer_mock_next(void); 38 39 extern int cros_kunit_readmem_mock_offset; 40 extern u8 *cros_kunit_readmem_mock_data; 41 extern int cros_kunit_readmem_mock_ret; 42 43 int cros_kunit_readmem_mock(struct cros_ec_device *ec_dev, unsigned int offset, 44 unsigned int bytes, void *dest); 45 46 void cros_kunit_mock_reset(void); 47 48 #endif 49