void report_meta_data(struct ssp_data *data, struct sensor_value *s) { pr_info("[SSP]: %s - what: %d, sensor: %d\n", __func__, s->meta_data.what, s->meta_data.sensor); if (s->meta_data.sensor == ACCELEROMETER_SENSOR) { s16 accel_buf[3]; memset(accel_buf, 0xff, sizeof(s16) * 3); ssp_push_6bytes_buffer(data->accel_indio_dev, 0, accel_buf); } else if (s->meta_data.sensor == GYROSCOPE_SENSOR) { int gyro_buf[3]; memset(gyro_buf, 0xff, sizeof(int) * 3); ssp_push_12bytes_buffer(data->gyro_indio_dev, 0, gyro_buf); } else if (s->meta_data.sensor == GAME_ROTATION_VECTOR) { int grot_buf[5]; memset(grot_buf, 0xff, sizeof(int) * 4); ssp_push_17bytes_buffer(data->game_rot_indio_dev, 0, grot_buf); } else if (s->meta_data.sensor == STEP_DETECTOR) { u8 step_buf[1] = {0xff}; ssp_push_1bytes_buffer(data->step_det_indio_dev, 0, step_buf); } else { input_report_rel(data->meta_input_dev, REL_DIAL, s->meta_data.what); input_report_rel(data->meta_input_dev, REL_HWHEEL, s->meta_data.sensor + 1); input_sync(data->meta_input_dev); } }
void report_meta_data(struct ssp_data *data, struct sensor_value *s) { pr_info("[SSP]: %s - what: %d, sensor: %d\n", __func__, s->meta_data.what, s->meta_data.sensor); if (s->meta_data.sensor == ACCELEROMETER_SENSOR) { s16 accel_buf[3]; memset(accel_buf, 0, sizeof(s16) * 3); ssp_push_6bytes_buffer(data->accel_indio_dev, 0, accel_buf); } else if (s->meta_data.sensor == GYROSCOPE_SENSOR) { int gyro_buf[3]; memset(gyro_buf, 0, sizeof(int) * 3); ssp_push_12bytes_buffer(data->gyro_indio_dev, 0, gyro_buf); } else if (s->meta_data.sensor == GYRO_UNCALIB_SENSOR) { s16 uncal_gyro_buf[6]; memset(uncal_gyro_buf, 0, sizeof(s16) * 6); ssp_push_24bytes_buffer(data->uncal_gyro_indio_dev, 0, uncal_gyro_buf); } else if (s->meta_data.sensor == GEOMAGNETIC_SENSOR) { s16 mag_buf[3]; memset(mag_buf, 0, sizeof(s16) * 3); ssp_push_7bytes_buffer(data->mag_indio_dev, 0, mag_buf, 0); } else if (s->meta_data.sensor == GEOMAGNETIC_UNCALIB_SENSOR) { s16 uncal_mag_buf[6]; memset(uncal_mag_buf, 0, sizeof(s16) * 6); ssp_push_24bytes_buffer(data->uncal_mag_indio_dev, 0, uncal_mag_buf); } else if (s->meta_data.sensor == PRESSURE_SENSOR) { int pressure_buf[3]; memset(pressure_buf, 0, sizeof(int) * 3); ssp_push_12bytes_buffer(data->pressure_indio_dev, 0, pressure_buf); } else if (s->meta_data.sensor == ROTATION_VECTOR) { int rot_buf[5]; memset(rot_buf, 0, sizeof(int) * 5); ssp_push_17bytes_buffer(data->rot_indio_dev, 0, rot_buf); } else if (s->meta_data.sensor == GAME_ROTATION_VECTOR) { int grot_buf[5]; memset(grot_buf, 0, sizeof(int) * 5); ssp_push_17bytes_buffer(data->game_rot_indio_dev, 0, grot_buf); } else if (s->meta_data.sensor == STEP_DETECTOR) { u8 step_buf[1] = {0}; ssp_push_1bytes_buffer(data->step_det_indio_dev, 0, step_buf); } else { input_report_rel(data->meta_input_dev, REL_DIAL, s->meta_data.what); input_report_rel(data->meta_input_dev, REL_HWHEEL, s->meta_data.sensor + 1); input_sync(data->meta_input_dev); } }