43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
|
/*
|
||
|
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
||
|
*
|
||
|
* YooMi Tak <youmi.tak@samsung.com>
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef __SSP_COMM_H__
|
||
|
#define __SSP_COMM_H__
|
||
|
|
||
|
|
||
|
#include "ssp.h"
|
||
|
|
||
|
struct ssp_msg {
|
||
|
u8 cmd;
|
||
|
u8 type;
|
||
|
u8 subcmd;
|
||
|
u16 length;
|
||
|
u64 timestamp;
|
||
|
char *buffer;
|
||
|
u8 res; /* success : 1 fail : 0 */
|
||
|
bool clean_pending_list_flag;
|
||
|
struct completion *done;
|
||
|
struct list_head list;
|
||
|
} __attribute__((__packed__));
|
||
|
|
||
|
void handle_packet(struct ssp_data *, char *, int);
|
||
|
|
||
|
int make_command(struct ssp_data *data, u8 uInst,
|
||
|
u8 sensor_type, u8 *send_buf, u16 length);
|
||
|
int ssp_send_command(struct ssp_data *data, u8 cmd, u8 type, u8 subcmd,
|
||
|
int timeout, char *send_buf, int send_buf_len, char **receive_buf,
|
||
|
int *receive_buf_len);
|
||
|
|
||
|
void clean_pending_list(struct ssp_data *data);
|
||
|
int ssp_send_status(struct ssp_data *data, char command);
|
||
|
|
||
|
|
||
|
int enable_sensor(struct ssp_data *data, unsigned int type, u8 *buf, int buf_len);
|
||
|
int disable_sensor(struct ssp_data *data, unsigned int type, u8 *buf, int buf_len);
|
||
|
|
||
|
#endif /* __SSP_COMM_H__ */
|